[GH-ISSUE #36] 本地部署的deepseek v4 pro如何接入claude code #15

Open
opened 2026-10-26 09:43:32 +00:00 by bsakaguchi · 3 comments
Owner

Originally created by @BigBean666 on GitHub (Apr 30, 2026).
Original GitHub issue: https://github.com/deepseek-ai/awesome-deepseek-agent/issues/36

我已经成功通过代理连接到部署机器了,但是好像用不了模型?感觉是不是tool call 有问题,但我启动脚本里加了--enable-auto-tool-choice

Image
Originally created by @BigBean666 on GitHub (Apr 30, 2026). Original GitHub issue: https://github.com/deepseek-ai/awesome-deepseek-agent/issues/36 我已经成功通过代理连接到部署机器了,但是好像用不了模型?感觉是不是tool call 有问题,但我启动脚本里加了--enable-auto-tool-choice <img width="505" height="427" alt="Image" src="https://github.com/user-attachments/assets/04c5875a-5e6d-4697-a2c4-c3642b235c96" />
Author
Owner

@keydexofficial commented on GitHub (May 1, 2026):

或许你可以考虑一下Langcli的自定义模型 方法
https://langcli.com/cn/docs/model_providers

备注:Langcli的使用方法与claude code是完全一样的。

<!-- gh-comment-id:4357285166 --> @keydexofficial commented on GitHub (May 1, 2026): 或许你可以考虑一下Langcli的自定义模型 方法 https://langcli.com/cn/docs/model_providers 备注:Langcli的使用方法与claude code是完全一样的。
Author
Owner

@Agents365-ai commented on GitHub (May 6, 2026):

Try https://github.com/Agents365-ai/dsclaude
use one script to start claude code with deepseek api key

<!-- gh-comment-id:4386915806 --> @Agents365-ai commented on GitHub (May 6, 2026): Try https://github.com/Agents365-ai/dsclaude use one script to start claude code with deepseek api key
Author
Owner

@tianhao8687 commented on GitHub (Aug 17, 2026):

--enable-auto-tool-choice 只解决“模型是否可以选择工具”,并不能让本地推理服务自动兼容 Claude Code 的通信协议。

Claude Code 调用的是 Anthropic Messages API(POST /v1/messages),而多数本地 vLLM/SGLang 部署默认暴露的是 OpenAI Chat Completions(POST /v1/chat/completions)。两者在请求结构、流式事件、tool_use / tool_result 内容块以及 thinking 内容块上都不同。因此即使模型本身能 tool call,只提供 OpenAI endpoint 仍会失败。

需要在本地服务前增加一个 Anthropic-compatible 适配层,并逐项确认:

  1. POST <base>/v1/messages 能返回 Anthropic Messages 结构;
  2. streaming 能输出 message_start、content_block_*、message_delta、message_stop;
  3. tool_use 与 tool_result 能双向转换且 ID 保持一致;
  4. thinking/reasoning 内容能在工具调用后的后续轮次原样回传;
  5. Claude 模型名能映射到本地实际模型 ID。

建议先用一个最小 /v1/messages curl 请求验证适配层,再启动 Claude Code。若本地服务只打算保留 OpenAI 格式,改用原生支持 OpenAI-compatible Provider 的 Agent 会比强接 Claude Code 更稳定。

<!-- gh-comment-id:5317548746 --> @tianhao8687 commented on GitHub (Aug 17, 2026): `--enable-auto-tool-choice` 只解决“模型是否可以选择工具”,并不能让本地推理服务自动兼容 Claude Code 的通信协议。 Claude Code 调用的是 Anthropic Messages API(`POST /v1/messages`),而多数本地 vLLM/SGLang 部署默认暴露的是 OpenAI Chat Completions(`POST /v1/chat/completions`)。两者在请求结构、流式事件、`tool_use` / `tool_result` 内容块以及 thinking 内容块上都不同。因此即使模型本身能 tool call,只提供 OpenAI endpoint 仍会失败。 需要在本地服务前增加一个 Anthropic-compatible 适配层,并逐项确认: 1. `POST <base>/v1/messages` 能返回 Anthropic Messages 结构; 2. streaming 能输出 `message_start`、`content_block_*`、`message_delta`、`message_stop`; 3. `tool_use` 与 `tool_result` 能双向转换且 ID 保持一致; 4. thinking/reasoning 内容能在工具调用后的后续轮次原样回传; 5. Claude 模型名能映射到本地实际模型 ID。 建议先用一个最小 `/v1/messages` curl 请求验证适配层,再启动 Claude Code。若本地服务只打算保留 OpenAI 格式,改用原生支持 OpenAI-compatible Provider 的 Agent 会比强接 Claude Code 更稳定。
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
deepseek-ai/awesome-deepseek-agent#15
No description provided.