news 2026/4/16 3:26:59

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/4/16 18:47:27

税务工作流智能体设计与实现方案

税务工作流智能体设计与实现方案 一、项目概述与设计理念 1.1 项目背景 税务工作流智能体是基于Coze平台构建的专业化税务处理助手,旨在通过AI技术实现税务流程自动化、智能化和标准化。本系统将税务申报、发票管理、税务咨询、风险评估等核心业务整合到统一的工作流中,显…

作者头像 李华
网站建设 2026/4/16 18:48:55

内网渗透实战笔记:信息收集命令快速参考手册​

收藏必备&#xff01;内网渗透信息收集完全指南&#xff1a;从机器角色判断到域管理员定位 本文全面介绍内网渗透测试中的信息收集技术&#xff0c;包括判断机器所处网络区域及角色、本机信息收集&#xff08;操作系统、权限、服务等&#xff09;、域环境信息收集&#xff08;…

作者头像 李华
网站建设 2026/4/15 13:48:29

Java动态编译[源码是字符串形式]

一、代码如下import javax.tools.*; import java.io.IOException; import java.net.URI; import java.nio.charset.Charset; import java.util.ArrayList; import java.util.Arrays; import java.util.List;/*** author * version 1.0.0* <p>* date: 2026/1/7**/ public …

作者头像 李华
网站建设 2026/4/13 15:20:26

PIC单片机入门实战(一):PIC16F1824/PIC12F1822,从振荡器与Timer1开始

作为一名使用PIC单片机近三十年的工程师&#xff0c;我最早从PIC16F87X系列起步&#xff0c;后来为了应对小型化、低成本的项目需求&#xff0c;又陆续使用了6脚、8脚、14脚等PIC单片机。在众多PIC单片机中&#xff0c;PIC16F1824和PIC12F1822是我认为最适合入门的两个型号。它…

作者头像 李华
网站建设 2026/4/16 16:14:29

springboot_vue公司企业项目分配进度管理系统的设计与实现_60jjvqqg

目录摘要开发技术核心代码参考示例1.建立用户稀疏矩阵&#xff0c;用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度总结源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;摘要 该项目基于SpringBoot和Vue.js技术栈&am…

作者头像 李华
网站建设 2026/4/13 23:38:57

MT键槽加工动力刀座

MT键槽加工动力刀座直接在车床上加工键槽&#xff0c;无需借助其他专用设备MT的拉削工具&#xff0c;与其他技术相比&#xff0c;可以在一个非常短的时间内实现键槽加工&#xff0c;而不需要在两台设备上加工完成&#xff0c;所有的加工都在一台车床上&#xff0c;因此&#xf…

作者头像 李华