news 2026/5/1 4:08:20

deepcode国内使用教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
deepcode国内使用教程

deepcode国内使用教程

本文面向国内网络环境/国内模型接口的使用场景,整理了从 GitHub 克隆 DeepCode 后,为了“能跑起来 + 更稳定 + 更快写代码进文件”需要做的关键修改点与原因。

说明:本文不会写入任何真实 API Key,请按自己的密钥/代理环境替换。


1. 从 GitHub 获取代码

gitclone https://github.com/HKUDS/DeepCode.gitcdDeepCode

2. 运行环境准备(Windows 建议)

  • Python:建议 3.10+(仓库 README 里写了 3.13,但国内环境常用 3.10/3.11 也可跑;以本机可装依赖为准)
  • Node.js:用于 MCP 的npx/node运行(尤其是brave/filesystem这类 MCP server)
  • (可选)uv:更快的 Python 环境/依赖管理

安装依赖(任选其一):

pipinstall-r requirements.txt

或(如果你用 uv):

uv venv uv pipinstall-r requirements.txt

3. 国内大模型配置(DeepSeek / OpenAI-Compatible)

DeepCode 的模型配置分两份文件:

  • mcp_agent.secrets.yaml:放 API Key、base_url(敏感信息)
  • mcp_agent.config.yaml:放默认 provider、默认模型、token 策略(非敏感)

3.1 配置mcp_agent.secrets.yaml

把里面的 key/base_url 按实际情况填好,示例(请替换占位符):

openai:api_key:"你的Key"base_url:"https://api.deepseek.com"# 或你的 OpenAI-compatible 网关地址anthropic:api_key:""google:api_key:""

3.2 配置mcp_agent.config.yaml

推荐的国内可用配置如下(也可按需调整):

  • 选择 providerllm_provider: "openai"(走 OpenAI-compatible)
  • 选择模型openai.default_model: "deepseek-chat"(示例)
  • token 上限保护:把base_max_tokens / retry_max_tokens收敛到 8000,避免部分兼容接口返回Invalid max_tokens

mcp_agent.config.yaml中应体现这套策略(重点行:llm_provideropenai.*)。


4. Windows 下 Brave MCP 报错(WinError 2)为什么不影响结果?如何处理?

如果日志里出现过:

  • brave: Lifecycle task encountered an error: [WinError 2] 系统找不到指定的文件

原因通常是:Windows 环境下npx @modelcontextprotocol/server-brave-search没跑起来(Node 安装/全局包路径/权限/网络问题)。

4.1 为什么它不一定影响最终产出?

因为brave 搜索是“可选增强”能力:搜索失败时系统会继续执行(日志里常见Attempting to continue),后续核心的code-implementation仍然可以写文件,因此仍可能正常产出代码。

4.2 推荐处理方式(2选1)

方案A:不用 Brave,改用bocha-mcp(更适合国内)
  1. mcp_agent.config.yaml里设置:
default_search_server:bocha-mcp
  1. mcp_agent.config.yamlbocha-mcp.env中填好BOCHA_API_KEY
方案B:继续用 Brave,但用 Windows 的 node 绝对路径启动

mcp_agent.config.yamlbrave段落里,把 Windows 相关的注释配置改成可用配置(示例):

mcp:servers:brave:command:nodeargs:-C:/Users/<你>/AppData/Roaming/npm/node_modules/@modelcontextprotocol/server-brave-search/dist/index.jsenv:BRAVE_API_KEY:"你的BRAVE_API_KEY"

关键点:路径要以本机npm -g root输出为准。


5. 写代码进文件“越来越慢”的优化:启用批量写入

如果日志里大量出现单次write_file,每次都要走一次 LLM → tool call → 写盘,整体吞吐会偏低。

项目已加入“批量写入(一次写 2~5 个文件)”的加速改动,核心思路:

  • 减少 LLM 往返次数
  • 减少 MCP tool call 次数
  • 一次性把同一模块/同一层级的多个文件写进去

5.1 涉及哪些文件(加速相关)

A) 让系统“知道可以批量写”
  • config/mcp_tool_definitions.py
  • config/mcp_tool_definitions_index.py

已启用:

  • write_multiple_files(批量写入工具)
B) 让智能体“愿意批量写”

已在以下文件里加入“优先使用write_multiple_files”的提示与引导:

  • prompts/code_prompts.py
  • workflows/code_implementation_workflow.py
  • workflows/code_implementation_workflow_index.py

效果:后续实现阶段会更倾向于一次写 2~5 个文件,通常能显著提升写入速度。


6. 启动方式(Web / CLI)

6.1 Web(Streamlit)

streamlit run ui/streamlit_app.py

6.2 CLI

python cli/main_cli.py

7. “从 GitHub 下载后,我到底需要改哪里?”一页清单

只想完成“最小可用改动”,按下面做:

  • 必改(国内模型)

    • mcp_agent.secrets.yaml:填openai.api_key+openai.base_url(DeepSeek/网关地址)
    • mcp_agent.config.yaml:确认llm_provider: "openai"+openai.default_model合适
  • 建议改(Windows 搜索可用/不报错)

    • 要么:default_search_server: bocha-mcp并填BOCHA_API_KEY
    • 要么:把braveMCP server 改成 Windows 下node + 绝对路径
  • 可选(提速)

    • 如果已启用:write_multiple_files+ 对应提示词引导,则无需额外修改;否则按第5节启用。

8. 常见问题排查(速查)

  • Q:为什么日志里有 ERROR 但还能继续?
    **A:**多智能体流程里有些阶段是可选增强(搜索/索引/结构生成)。失败会记录 error,但主流程会继续执行,尤其是代码写入不依赖这些服务时。

  • Q:Windows 下 Brave 一直 WinError 2?
    **A:**优先用bocha-mcp;或按本文第4节用 node 绝对路径启动。

  • Q:DeepSeek 报 max_tokens 之类参数错误?
    **A:**保持mcp_agent.config.yamlbase_max_tokens/retry_max_tokens在较小安全值(如 8000)并用max_tokens_policy: adaptive

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 3:48:21

从入门到精通域渗透攻防完整教程-域渗透实战指南

《【收藏级教程】域渗透完全指南&#xff1a;从基础到进阶的网络安全攻防手册》 本文全面介绍域渗透技术&#xff0c;涵盖Active Directory基础知识、信息收集方法、凭据获取与横向移动等攻击技术。详细解析PowerView、BloodHound、Mimikatz等工具应用及NTLM、LDAP、Kerberos协…

作者头像 李华
网站建设 2026/5/1 3:50:40

内网渗透入门到精通:超详细实战教程,带你从小白变大神

网络安全攻防实战&#xff1a;内网渗透技术与防御策略&#xff0c;收藏级教程 本文系统介绍内网渗透技术全流程&#xff0c;包括环境搭建、信息收集、权限提升、横向移动和权限维持等关键环节&#xff0c;提供实战案例与代码示例。强调法律合规&#xff0c;提醒需获得授权&…

作者头像 李华
网站建设 2026/5/1 2:44:27

网络安全行业前景真的这么好吗?

【建议收藏】网络安全行业爆火背后&#xff1a;3大高薪方向避坑指南学习路径&#xff0c;程序员必看&#xff01; 网络安全行业因数字化需求、政策推动和黑客威胁迅速发展&#xff0c;AI安全、云安全、数据安全为三大高薪方向。全球面临480万人才缺口&#xff0c;国内占1/5&am…

作者头像 李华
网站建设 2026/5/1 3:46:35

艾莉丝努力练剑的256天创作纪念日:在代码星河中逐梦前行

&#x1f525;艾莉丝努力练剑&#xff1a;个人主页 ❄专栏传送门&#xff1a;《C语言》、《数据结构与算法》、C/C干货分享&学习过程记录、Linux操作系统编程详解、笔试/面试常见算法&#xff1a;从基础到进阶、测试开发要点全知道 ⭐️为天地立心&#xff0c;为生民立命…

作者头像 李华
网站建设 2026/5/1 3:51:07

redis存储空间复杂度和时间复杂度的平衡

下面是一个案例:根据奖品概率计算奖品存储空间以及时间复杂度的权衡. 1. 内存占用的计算 1.1 不同精度下的内存占用 // 精度范围&#xff08;rateRange&#xff09;决定了数组大小 rateRange 10000 // 万分位 (0.0001) rateRange 100000 // 十万分位 (0.00001) r…

作者头像 李华
网站建设 2026/5/1 3:49:55

Spring循环依赖:原理、限制与解决方案深度解析

一、循环依赖的定义与本质在Spring框架中&#xff0c;循环依赖指的是两个或多个Bean之间存在直接或间接的相互引用关系&#xff0c;从而形成一个闭合的依赖环。简而言之&#xff0c;当BeanA依赖BeanB&#xff0c;同时BeanB也依赖BeanA时&#xff0c;便构成了典型的循环依赖。代…

作者头像 李华