DeepCode-main和ai-paper-coach-main部署

配置环境

以下项目电脑环境要求:

bash 复制代码
Python 3.10+
Node.js 18+
npm

Windows PowerShell 验证命令

bash 复制代码
python --version
py --version
node -v
npm -v

Mac 验证命令

bash 复制代码
python3 --version
node -v
npm -v

Mac

bash 复制代码
# 1. 安装 Homebrew,已有 brew 可跳过
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# 2. 安装 Python 3.10+,推荐直接装当前 Python 3
brew install python3

# 也可以指定 Python 3.12
brew install python@3.12

# 3. 安装 Node.js 18+,npm 会自动一起安装
brew install node

# 4. 验证
python3 --version
pip3 --version
node -v
npm -v

Windows PowerShell

bash 复制代码
# 1. 安装 Python 3.12,也就是满足 Python 3.10+
winget install --id Python.Python.3.12 -e

# 2. 安装 Node.js LTS,npm 会自动一起安装
winget install --id OpenJS.NodeJS.LTS -e

# 3. 关闭并重新打开 PowerShell 后验证
python --version
py --version
pip --version
node -v
npm -v

补充

npm 不需要单独安装,装 Node.js 时会自带。

如果 npm 下载很慢,可以设置国内镜像:

bash 复制代码
npm config set registry https://registry.npmmirror.com

Mac版

【DeepCode-main】项目

终端打开,进入项目:

bash 复制代码
cd /Users/xunan/agentProject/debug_environment/DeepCode-main
  1. 创建 Python 项目虚拟环境
bash 复制代码
python3 -m venv .venv
source .venv/bin/activate

看到终端前面出现 (.venv) 就说明激活成功了。

  1. 安装后端依赖到 .venv
bash 复制代码
python -m pip install --upgrade pip
python -m pip install -r requirements.txt

这一步只会装进当前项目的 .venv,不会污染全局 Python。

  1. 安装前端依赖到项目目录
bash 复制代码
cd new_ui/frontend
npm install
cd ../..

前端依赖会装到:

bash 复制代码
new_ui/frontend/node_modules

也是项目内的。

  1. 配置 API Key
bash 复制代码
cp deepcode_config.json.example deepcode_config.json

请将下面内容完整复制到deepcode_config.json中

注意:其中你的秘钥请进行替换

bash 复制代码
{
  "$comment": "Single source of truth for DeepCode. Copy to deepcode_config.json and fill in at least one provider apiKey. Inline strings work; environment variable references with the dollar-brace syntax are also resolved at load time (see README).",

  "agents": {
    "defaults": {
      "provider": "auto",
      "model": "deepseek-v4-pro",
      "maxTokens": 40000,
      "temperature": 0.1,
      "reasoningEffort": "low",
      "baseMaxTokens": 40000,
      "retryMaxTokens": 32768,
      "maxTokensPolicy": "adaptive",
      "maxToolIterations": 200,
      "maxToolResultChars": 16000,
      "contextWindowTokens": 65536
    },
    "planning": {
      "model": "deepseek-v4-pro"
    },
    "implementation": {
      "model": "deepseek-v4-pro"
    }
  },

  "providers": {
    "deepseek": {
      "apiKey": "你的秘钥"
    }
  },

  "tools": {
    "defaultSearchServer": "filesystem",
    "mcpServers": {
      "code-implementation": {
        "type": "stdio",
        "command": "python",
        "args": ["tools/code_implementation_server.py"],
        "env": {"PYTHONPATH": "."},
        "description": "Paper code reproduction tool server - file operations, code execution, search, etc."
      },
      "code-reference-indexer": {
        "type": "stdio",
        "command": "python",
        "args": ["tools/code_reference_indexer.py"],
        "env": {"PYTHONPATH": "."},
        "description": "Code reference indexer - intelligent code reference search from indexed repositories"
      },
      "command-executor": {
        "type": "stdio",
        "command": "python",
        "args": ["tools/command_executor.py"],
        "env": {"PYTHONPATH": "."}
      },
      "document-segmentation": {
        "type": "stdio",
        "command": "python",
        "args": ["tools/document_segmentation_server.py"],
        "env": {"PYTHONPATH": "."},
        "description": "Document segmentation server - intelligent document analysis and segmented reading"
      },
      "fetch": {
        "type": "stdio",
        "command": "uvx",
        "args": ["mcp-server-fetch"]
      },
      "file-downloader": {
        "type": "stdio",
        "command": "python",
        "args": ["tools/pdf_downloader.py"],
        "env": {"PYTHONPATH": "."}
      },
      "filesystem": {
        "type": "stdio",
        "command": "npx",
        "args": ["-y", "@modelcontextprotocol/server-filesystem", ".", "./deepcode_lab"]
      },
      "github-downloader": {
        "type": "stdio",
        "command": "python",
        "args": ["tools/git_command.py"],
        "env": {"PYTHONPATH": "."}
      }
    }
  },

  "workspace": {
    "root": "./deepcode_lab",
    "maxInputMb": 100
  },

  "documentSegmentation": {
    "enabled": true,
    "sizeThresholdChars": 50000
  },

  "logger": {
    "$comment": "Dual-layer observability. Global file rotates daily under logs/. Per-task files land in deepcode_lab/tasks/<task_id>/logs/{system,llm,mcp}.jsonl and are streamable via the /ws/tasks/{id}/logs WebSocket. Sessions are persisted to ~/.deepcode/sessions/ (override with DEEPCODE_SESSIONS_DIR).",
    "level": "info",
    "progressDisplay": false,
    "transports": ["console", "global_file", "task_file"],
    "globalFile": {
      "enabled": true,
      "pathPattern": "logs/server-{date}.jsonl",
      "rotation": "00:00",
      "retention": "14 days"
    },
    "taskFile": {
      "enabled": true
    },
    "llm": {
      "enabled": true,
      "truncatePreviewChars": 2000
    }
  },

  "llmLogger": {
    "$comment": "Legacy block kept for backward compatibility; the active LLM recorder now lives in core.observability and writes per-task llm.jsonl directly.",
    "enabled": true,
    "outputFormat": "json",
    "logLevel": "basic",
    "logDirectory": "logs/llm_responses",
    "filenamePattern": "llm_responses_{timestamp}.jsonl",
    "includeModels": [],
    "minResponseLength": 50
  }
}

注意:deepcode_config.json 不要上传到 GitHub,里面有密钥。

  1. 本地启动

推荐用这个,不依赖全局 deepcode 命令:

bash 复制代码
source .venv/bin/activate
python deepcode.py --local

启动后打开:

bash 复制代码
前端:http://localhost:5173
后端:http://localhost:8000
API 文档:http://localhost:8000/docs

以后每次重新打开终端,只需要:

bash 复制代码
cd /Users/xunan/agentProject/debug_environment/DeepCode-main
source .venv/bin/activate
python deepcode.py --local

停止服务按

bash 复制代码
Ctrl + C

退出虚拟环境用:

bash 复制代码
deactivate

使用Paper to Code 上传论文即可开始解析

结果:生成code放置在

bash 复制代码
/Users/xunan/agentProject/debug_environment/DeepCode-main/deepcode_lab

【ai-paper-coach-main】项目

项目结构是:

后端:services/api,Python + FastAPI

前端:apps/web,Vue 3 + Vite

一键启动脚本:run.py

  1. 进入项目根目录
bash 复制代码
cd /Users/xunan/agentProject/debug_environment/ai-paper-coach-main
  1. 创建项目内 Python 虚拟环境
bash 复制代码
python3 -m venv .venv
source .venv/bin/activate

看到命令行前面出现 (.venv),就说明已经进入项目专用环境了。

  1. 安装后端依赖
bash 复制代码
python -m pip install --upgrade pip
python -m pip install -r services/api/requirements.txt

这些 Python 包会装进:

bash 复制代码
项目根目录/.venv/

不会污染全局 Python。

  1. 安装前端依赖
bash 复制代码
cd apps/web
npm ci

前端依赖会装进:

bash 复制代码
apps/web/node_modules/

也不是全局安装。

  1. 配置环境变量
    回到项目根目录:
bash 复制代码
cd /Users/xunan/agentProject/debug_environment/ai-paper-coach-main
cp .env.example .env

然后按需要编辑 .env,例如模型 API Key。暂时不填也可以先启动界面,但真正调用 AI 分析时需要配置。

  1. 启动项目

确认还在虚拟环境里,也就是有 (.venv),然后运行:

bash 复制代码
source .venv/bin/activate
python run.py

启动后访问:

bash 复制代码
http://127.0.0.1:5500

后端地址是:

bash 复制代码
http://127.0.0.1:8000

以后每次重新打开终端,只需要:

bash 复制代码
cd /Users/xunan/agentProject/debug_environment/ai-paper-coach-main
source .venv/bin/activate
python run.py

停止服务按

bash 复制代码
Ctrl + C

退出虚拟环境用:

bash 复制代码
deactivate

storage.js defaultFormState替换为如下:

bash 复制代码
export const defaultFormState = () => ({
  apiBase: 'http://127.0.0.1:8010',
  paperUrl: '',
  runMode: 'deep',
  qwenBase: 'https://api.deepseek.com',
  qwenKey: '',
  qwenModel: 'deepseek-v4-pro',
  minimaxBase: 'https://api.deepseek.com',
  minimaxKey: '',
  minimaxModel: 'deepseek-v4-pro'
})

Windows版

如果你的项目实际放在别的盘,比如 D:\agentProject\...,把路径替换成你自己的即可。

下面是按你上文结构整理的 Windows PowerShell 版完整命令。默认项目路径翻译为:

powershell 复制代码
C:\Users\xunan\agentProject\debug_environment

如果你的项目实际放在别的盘,比如 D:\agentProject\...,把路径替换成你自己的即可。

【DeepCode-main】项目

PowerShell 打开,进入项目:

powershell 复制代码
cd C:\Users\xunan\agentProject\debug_environment\DeepCode-main
  1. 创建 Python 项目虚拟环境
powershell 复制代码
python -m venv .venv
.\.venv\Scripts\Activate.ps1

看到终端前面出现 (.venv) 就说明激活成功了。

如果提示"无法加载文件,因为在此系统上禁止运行脚本",先执行一次:

powershell 复制代码
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned

然后重新激活:

powershell 复制代码
.\.venv\Scripts\Activate.ps1
  1. 安装后端依赖到 .venv
powershell 复制代码
python -m pip install --upgrade pip
python -m pip install -r requirements.txt

这一步只会装进当前项目的 .venv,不会污染全局 Python。

  1. 安装前端依赖到项目目录
powershell 复制代码
cd new_ui\frontend
npm install
cd ..\..

前端依赖会装到:

powershell 复制代码
new_ui\frontend\node_modules

也是项目内的。

  1. 配置 API Key
powershell 复制代码
Copy-Item deepcode_config.json.example deepcode_config.json

请将下面内容完整复制到 deepcode_config.json 中:

注意:其中你的秘钥请进行替换

json 复制代码
{
  "$comment": "Single source of truth for DeepCode. Copy to deepcode_config.json and fill in at least one provider apiKey. Inline strings work; environment variable references with the dollar-brace syntax are also resolved at load time (see README).",

  "agents": {
    "defaults": {
      "provider": "auto",
      "model": "deepseek-v4-pro",
      "maxTokens": 40000,
      "temperature": 0.1,
      "reasoningEffort": "low",
      "baseMaxTokens": 40000,
      "retryMaxTokens": 32768,
      "maxTokensPolicy": "adaptive",
      "maxToolIterations": 200,
      "maxToolResultChars": 16000,
      "contextWindowTokens": 65536
    },
    "planning": {
      "model": "deepseek-v4-pro"
    },
    "implementation": {
      "model": "deepseek-v4-pro"
    }
  },

  "providers": {
    "deepseek": {
      "apiKey": "你的秘钥"
    }
  },

  "tools": {
    "defaultSearchServer": "filesystem",
    "mcpServers": {
      "code-implementation": {
        "type": "stdio",
        "command": "python",
        "args": ["tools/code_implementation_server.py"],
        "env": {"PYTHONPATH": "."},
        "description": "Paper code reproduction tool server - file operations, code execution, search, etc."
      },
      "code-reference-indexer": {
        "type": "stdio",
        "command": "python",
        "args": ["tools/code_reference_indexer.py"],
        "env": {"PYTHONPATH": "."},
        "description": "Code reference indexer - intelligent code reference search from indexed repositories"
      },
      "command-executor": {
        "type": "stdio",
        "command": "python",
        "args": ["tools/command_executor.py"],
        "env": {"PYTHONPATH": "."}
      },
      "document-segmentation": {
        "type": "stdio",
        "command": "python",
        "args": ["tools/document_segmentation_server.py"],
        "env": {"PYTHONPATH": "."},
        "description": "Document segmentation server - intelligent document analysis and segmented reading"
      },
      "fetch": {
        "type": "stdio",
        "command": "uvx",
        "args": ["mcp-server-fetch"]
      },
      "file-downloader": {
        "type": "stdio",
        "command": "python",
        "args": ["tools/pdf_downloader.py"],
        "env": {"PYTHONPATH": "."}
      },
      "filesystem": {
        "type": "stdio",
        "command": "npx",
        "args": ["-y", "@modelcontextprotocol/server-filesystem", ".", "./deepcode_lab"]
      },
      "github-downloader": {
        "type": "stdio",
        "command": "python",
        "args": ["tools/git_command.py"],
        "env": {"PYTHONPATH": "."}
      }
    }
  },

  "workspace": {
    "root": "./deepcode_lab",
    "maxInputMb": 100
  },

  "documentSegmentation": {
    "enabled": true,
    "sizeThresholdChars": 50000
  },

  "logger": {
    "$comment": "Dual-layer observability. Global file rotates daily under logs/. Per-task files land in deepcode_lab/tasks/<task_id>/logs/{system,llm,mcp}.jsonl and are streamable via the /ws/tasks/{id}/logs WebSocket. Sessions are persisted to ~/.deepcode/sessions/ (override with DEEPCODE_SESSIONS_DIR).",
    "level": "info",
    "progressDisplay": false,
    "transports": ["console", "global_file", "task_file"],
    "globalFile": {
      "enabled": true,
      "pathPattern": "logs/server-{date}.jsonl",
      "rotation": "00:00",
      "retention": "14 days"
    },
    "taskFile": {
      "enabled": true
    },
    "llm": {
      "enabled": true,
      "truncatePreviewChars": 2000
    }
  },

  "llmLogger": {
    "$comment": "Legacy block kept for backward compatibility; the active LLM recorder now lives in core.observability and writes per-task llm.jsonl directly.",
    "enabled": true,
    "outputFormat": "json",
    "logLevel": "basic",
    "logDirectory": "logs/llm_responses",
    "filenamePattern": "llm_responses_{timestamp}.jsonl",
    "includeModels": [],
    "minResponseLength": 50
  }
}

注意:deepcode_config.json 不要上传到 GitHub,里面有密钥。

  1. 本地启动

推荐用这个,不依赖全局 deepcode 命令:

powershell 复制代码
.\.venv\Scripts\Activate.ps1
python deepcode.py --local

启动后打开:

text 复制代码
前端:http://localhost:5173
后端:http://localhost:8000
API 文档:http://localhost:8000/docs

以后每次重新打开 PowerShell,只需要:

powershell 复制代码
cd C:\Users\xunan\agentProject\debug_environment\DeepCode-main
.\.venv\Scripts\Activate.ps1
python deepcode.py --local

停止服务按:

text 复制代码
Ctrl + C

退出虚拟环境用:

powershell 复制代码
deactivate

使用 Paper to Code 上传论文即可开始解析。

结果:生成 code 放置在:

powershell 复制代码
C:\Users\xunan\agentProject\debug_environment\DeepCode-main\deepcode_lab

【ai-paper-coach-main】项目

项目结构是:

text 复制代码
后端:services/api,Python + FastAPI
前端:apps/web,Vue 3 + Vite
一键启动脚本:run.py
  1. 进入项目根目录
powershell 复制代码
cd C:\Users\xunan\agentProject\debug_environment\ai-paper-coach-main
  1. 创建项目内 Python 虚拟环境
powershell 复制代码
python -m venv .venv
.\.venv\Scripts\Activate.ps1

看到命令行前面出现 (.venv),就说明已经进入项目专用环境了。

如果提示"无法加载文件,因为在此系统上禁止运行脚本",先执行一次:

powershell 复制代码
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned

然后重新激活:

powershell 复制代码
.\.venv\Scripts\Activate.ps1
  1. 安装后端依赖
powershell 复制代码
python -m pip install --upgrade pip
python -m pip install -r services\api\requirements.txt

这些 Python 包会装进:

powershell 复制代码
项目根目录\.venv\

不会污染全局 Python。

  1. 安装前端依赖
powershell 复制代码
cd apps\web
npm ci

前端依赖会装进:

powershell 复制代码
apps\web\node_modules\

也不是全局安装。

  1. 配置环境变量

回到项目根目录:

powershell 复制代码
cd C:\Users\xunan\agentProject\debug_environment\ai-paper-coach-main
Copy-Item .env.example .env

然后按需要编辑 .env,例如模型 API Key。暂时不填也可以先启动界面,但真正调用 AI 分析时需要配置。

  1. 启动项目

确认还在虚拟环境里,也就是有 (.venv),然后运行:

powershell 复制代码
.\.venv\Scripts\Activate.ps1
python run.py

启动后访问:

text 复制代码
http://127.0.0.1:5500

后端地址是:

text 复制代码
http://127.0.0.1:8000

以后每次重新打开 PowerShell,只需要:

powershell 复制代码
cd C:\Users\xunan\agentProject\debug_environment\ai-paper-coach-main
.\.venv\Scripts\Activate.ps1
python run.py

停止服务按:

text 复制代码
Ctrl + C

退出虚拟环境用:

powershell 复制代码
deactivate

storage.jsdefaultFormState 替换为如下:

javascript 复制代码
export const defaultFormState = () => ({
  apiBase: 'http://127.0.0.1:8010',
  paperUrl: '',
  runMode: 'deep',
  qwenBase: 'https://api.deepseek.com',
  qwenKey: '',
  qwenModel: 'deepseek-v4-pro',
  minimaxBase: 'https://api.deepseek.com',
  minimaxKey: '',
  minimaxModel: 'deepseek-v4-pro'
})