# claude-code-deepseek **Repository Path**: MuXueRuanJian/claude-code-deepseek ## Basic Information - **Project Name**: claude-code-deepseek - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-07 - **Last Updated**: 2026-06-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Claude Code CLI - DeepSeek 支持版(感兴趣的可以二次开发) 一个基于 Claude Code 源码的 CLI 工具,支持 DeepSeek API + Python 自动化。 --- ## 简介 本项目是一个基于 2026-03-31 通过 npm 源码映射泄露公开暴露的 Claude Code 源码快照构建的 CLI 工具。相比原始快照,本项目进行了以下改进: - 重构了完整的构建系统,使其可以编译和运行 - 添加了 DeepSeek API 支持(默认使用) - 添加了 Python 自动化支持 - 支持 Web UI 界面 - 支持自动生成项目代码 --- ## 前置条件 | 软件 | 说明 | 安装方式 | |------|------|----------| | **Git** | 版本控制工具 | [官网下载](https://git-scm.com) | | **Node.js** | Node.js 运行环境(>= 18.x)| 见下方安装方法 | | **Bun** | 项目运行时(>= 1.3.x)| 使用 npm 安装(见下方) | | **Python (推荐 Anaconda)** | 外部 Python 工具(可选)| 见下方安装方法 | ### 安装 Node.js ```bash # Windows(管理员权限) # 方式1:使用 Winget(推荐) winget install OpenJS.NodeJS # 方式2:直接下载 # https://nodejs.org/download/ # 方式3:使用 nvm(管理多个 Node 版本) # https://github.com/coreybutler/nvm-windows ``` ### 安装 Bun ```bash # 使用 npm 全局安装(需要先安装 Node.js) npm install -g bun # 或使用 Winget winget install oven-bun.Bun # 或使用 PowerShell(管理员权限) powershell -ExecutionPolicy Bypass -c "irm bun.sh/install.ps1 | iex" ``` ### 安装 Python(推荐 Anaconda) 强烈建议安装 Anaconda 以获得完整的数据科学工具链: ```bash # 方式1:安装 Anaconda(推荐) # 下载地址:https://www.anaconda.com/download/success # 安装时勾选"添加到 PATH"或手动配置环境变量 # 方式2:Miniconda(最小安装) # 下载地址:https://docs.conda.io/en/latest/miniconda.html # 方式3:直接安装 Python # 下载地址:https://www.python.org/downloads/ ``` --- ## 快速开始 ### 1. 配置 .env 文件 复制 `.env.example` 为 `.env`(或直接编辑 `.env`),修改以下必需配置: ## 配置说明 所有配置都在 `.env` 文件中,请根据实际情况修改。 ### .env 配置文件 ```env # DeepSeek API 密钥(必需) DEEPSEEK_API_KEY=sk-your-key-here # Git Bash 路径(必需,用于文件操作) CLAUDE_CODE_GIT_BASH_PATH=D:\software\Git\bin\bash.exe # Bun 路径(可选,默认使用系统 bun) CLAUDE_CODE_BUN_PATH=bun.cmd # Node.js 路径(可选) CLAUDE_CODE_NODE_PATH=D:\software\nodes24\node.exe # Python 路径(可选,用于执行 Python 脚本) PYTHON_EXE=D:\mywork\pythonProject\claude-code-lingxi\external_tools\anaconda\python.exe # 工作目录(可选) WORKSPACE_DIR=workspace # DeepSeek API 配置(可选) DEEPSEEK_BASE_URL=https://api.deepseek.com DEEPSEEK_MODEL=deepseek-chat # Token 长度配置(可选,最大 8192) DEEPSEEK_MAX_TOKENS=8192 ``` ### 注意:项目路径中不要有空格,当前Bun的运行指令是bun.cmd,如果Bun为bun.exe,配置成bun.exe ### 配置说明 | 变量 | 说明 | 推荐配置 | |------|------|----------| | `DEEPSEEK_API_KEY` | DeepSeek API 密钥 | ✅ 必填 | | `CLAUDE_CODE_GIT_BASH_PATH` | Git Bash 路径(用于文件操作)| ✅ 必填 | | `CLAUDE_CODE_BUN_PATH` | Bun 路径 | ✅ 推荐 | | `CLAUDE_CODE_NODE_PATH` | Node.js 路径 | ✅ 推荐 | | `PYTHON_EXE` | Python 路径(用于执行 Python 脚本)| ✅ 推荐 | | `WORKSPACE_DIR` | 工作目录 | ✅ 推荐 | | `DEEPSEEK_BASE_URL` | DeepSeek API 地址 | 可选 | | `DEEPSEEK_MODEL` | DeepSeek 模型 | 可选 | | `DEEPSEEK_MAX_TOKENS` | 最大 Token 数 | 可选 | **说明:** - `DEEPSEEK_API_KEY`:DeepSeek API 密钥,可在 [DeepSeek 官网](https://platform.deepseek.com) 获取 - `CLAUDE_CODE_GIT_BASH_PATH`:Git Bash 的 bash.exe 路径,用于文件操作 ### 安装工具 ```commandline bun install bun build src/main.tsx --outdir=dist --target=bun ``` ### 2. 运行程序 ```bash # 使用 cc 命令(推荐) cc --print "你好" # 或直接运行 bun run.js --print "你好" ``` --- ## 使用方法 ### 命令行模式(--print) 适合脚本、管道、一次性查询: ```bash # 基本用法 cc --print "你好" cc -p "你好" # 带系统提示 cc --print --system-prompt "你是一个资深市场分析师" "写一份市场报告" # 列出目录文件 cc --print "列出当前目录的文件" # Python 数据分析 cc --print "写一个Python脚本,读取workspace/sales_data.xlsx并画出销售额趋势图" # 查看文件内容 cc --print "查看 package.json" ``` ![CLI](assert/CLI.png) ### 交互模式 启动交互式对话界面,可以连续对话: ```bash # 直接运行 cc 进入交互模式 cc # 或带问题 cc "你好" ``` 在交互模式中: - 直接输入问题并回车发送 - 使用 `exit` 或 `Ctrl+C` 退出 - 支持命令历史(上下箭头) ![交互模式](assert/jiaohushi.png) ### Web UI 启动 Web 界面,在浏览器中操作: ```bash cc --config # 浏览器访问 http://localhost:3460 ``` Web UI 功能: - 文件浏览器 - 浏览 workspace 目录 - 文件预览 - 支持代码文件、Excel、PPTX 等 - 聊天界面 - 与 AI 对话 - 响应流式输出 ![Web UI](assert/webui.jpg) --- ## 功能对比 | 功能 | CLI (cc --print) | Web UI | |------|------------------|--------| | 纯文本对话 | ✅ | ✅ | | 自动生成代码文件 | ✅ | ❌ | | Python 脚本执行 | ✅ | ❌ | | 文件预览 | ❌ | ✅ | | 交互模式 | ✅ | ❌ | | 管道支持 | ✅ | ❌ | ### 当前限制 - Web UI 使用 DeepSeek API 进行对话,但**不支持自动生成代码文件** - 如需生成代码文件,请使用 CLI 模式:`cc --print "写一个Python脚本..."` - CLI 使用外部工具注入模式实现文件操作功能 ### 外部工具注入 DeepSeek API 不支持工具调用,但系统通过**请求前注入**模式实现了文件操作功能: 1. 解析用户输入,检测需要哪些文件操作 2. 自动执行相关命令(`ls`、`cat`、`git status` 等) 3. 将结果注入到 prompt 中,让模型"看到"文件内容 **支持的命令:** - 列出目录:`列出当前目录`、`ls`、`list files` - 读取文件:`查看 package.json`、`cat file`、`read file` - Git 状态:`git status` --- ## 支持的模型 本项目支持两种模型提供商:**DeepSeek(默认)** 或 **Anthropic**。 ### DeepSeek(默认) ```bash # 使用 cc 命令(推荐) cc --print "你好" cc --print "列出当前目录" cc --print "查看 package.json" # 或使用 run.js bun run.js --print "你好" ``` ### Anthropic 如需使用 Anthropic API: ```bash # 清除 DeepSeek API Key unset DEEPSEEK_API_KEY # 设置 Anthropic API Key export ANTHROPIC_API_KEY=your-anthropic-key # 运行 cc --print "你好" ``` | 功能 | DeepSeek | Anthropic | |------|----------|-----------| | 纯文本对话 | ✅ | ✅ | | 文件操作 | ✅ (外部工具注入) | ✅ | | 目录列表 | ✅ (外部工具注入) | ✅ | | Git 状态 | ✅ (外部工具注入) | ✅ | | Python 脚本执行 | ✅ | ❌ | | 自动依赖安装 | ✅ | ❌ | | 工具调用 | ❌ | ✅ | --- ## Python 集成能力 集成 Python 后,可以实现以下功能: | 能力 | 说明 | |------|------| | 数据分析 | pandas + matplotlib 生成图表 | | 爬虫 | 抓取网页数据 | | 自动化脚本 | 批量处理文件 | | AI 模型推理 | 调用本地 AI 模型 | | 自动安装依赖 | pip 自动补全缺失包 | ### 使用示例 ```bash # 数据分析 - 读取 Excel 并生成图表 cc --print "写一个Python脚本,读取workspace/sales_data.xlsx并画出销售额趋势图" # 自动化 - 批量处理文件 cc --print "写一个Python脚本,批量压缩workspace目录下的图片" # Web 爬虫 cc --print "写一个Python爬虫,抓取某网站的文章标题" # 机器学习 cc --print "用Python写一个简单的线性回归预测模型" # 自动化测试 cc --print "写一个Python脚本来测试我的API接口" ``` ### 自动依赖安装 当运行的 Python 脚本缺少依赖时,系统会自动检测并安装: ``` 📦 检查依赖... 📥 正在安装/修复依赖... Successfully installed numpy-1.21.6 ✅ 依赖安装完成 🚀 执行脚本: sales_trend_plot.py ``` ### 图表中文乱码 代码已内置中文字体检测逻辑: - 检测系统是否有 SimHei、Microsoft YaHei 等字体 - 如无中文字体,自动切换为英文标签 --- ## 自动生成项目代码 使用 `--print` 模式时,系统会自动调用 DeepSeek API 生成完整的项目代码,并保存到 `workspace` 目录下的新项目目录中。 ### 工作流程 1. **获取文件清单** - 先调用 DeepSeek API 获取需要创建的所有文件路径 2. **创建项目目录** - 根据技术栈关键词自动生成项目目录名(如 `flask_时间戳`) 3. **生成任务计划** - 自动创建 `todo.md` 文件,包含完整的任务列表 4. **依次生成文件** - 对每个文件单独调用 API 获取代码内容并保存 5. **自动执行脚本** - 如果生成了 Python 脚本,会自动执行并生成输出文件 ### 使用示例 ```bash # 生成 Python 数据分析项目 cc --print "写一个Python脚本,读取workspace/sales_data.xlsx并画出销售额趋势图" # 生成 Flask 项目 cc --print "帮我写一个flask项目,需要index.html" # 生成 Node.js 项目 cc --print "写一个node.js的web项目" # 生成带模板的 Flask 项目 cc --print "帮我写一个采用flask框架部署的python工程,需要有index.html" ``` ![Flask](assert/flask.jpg) ### 生成结果 ``` workspace/ └── project_1775222253089/ # 项目目录(自动命名) ├── todo.md # 任务计划清单(包含输出文件) ├── sales_trend_plot.py # Python 脚本 └── output.png # 生成的图表 ``` ### todo.md 文件格式 自动生成的 `todo.md` 包含完整的任务计划和输出文件: ```markdown # 项目任务清单 ## 项目信息 - **项目名称**: project_1775222253089 - **用户需求**: 写一个Python脚本,读取workspace/sales_data.xlsx并画出销售额趋势图 - **生成时间**: 2026/4/3 21:17:33 ## 文件清单 - sales_trend_plot.py ## 输出文件 - output.png > ✅ 脚本已自动执行并生成以上输出文件 ## 任务列表(TODO) ... ``` --- ### 工作目录 项目使用 `workspace` 目录作为默认工作目录,用于文件操作和存储。 **目录结构:** ``` project/ ├── workspace/ # 工作目录(默认) │ ├── myshy/ # 用户创建的文件夹 │ └── note.txt # 用户创建的文件 │ └── ... ``` --- ## 使用示例 ### 创建文件夹并写入文件 ```bash cc --print "帮我在workspace目录下新建文件夹,myshy,给文件夹里写一个文件,内容是今天天气怎么样" ``` ### Python 数据分析 ```bash cc --print "写一个Python脚本,读取workspace/sales_data.xlsx并画出销售额趋势图" ``` 生成的文件: - `workspace/project_*/sales_trend_plot.py` - Python 脚本 - `workspace/project_*/output.png` - 生成的图表 - `workspace/project_*/todo.md` - 项目清单 ### 简单对话 ```bash cc --print "你好,你是谁" ``` 输出: ``` 你好!我是Claude,由Anthropic开发的AI助手。我可以帮助你完成各种任务,包括: - 回答问题 - 文本处理(写作、编辑、翻译、总结) - 编程帮助 - 学习辅导 - 创意工作 - 分析思考 有什么具体需要帮助的吗? ``` ### 生活问题 ```bash cc --print "我想去洗车,洗车店距离我家 50 米,你说我应该开车过去还是走过去?" ``` 输出: ``` 从距离来看,强烈建议你走路过去。 理由如下: 1. 距离极短:50 米步行只需 1 分钟左右 2. 开车不划算:短距离行驶对发动机不好 3. 停车可能麻烦 4. 环保与健康 除非你洗完车要立刻去别的地方,否则步行是最合理的选择。 ``` ### 带系统提示 ```bash cc --print --system-prompt "你是一个资深市场分析师,有10年互联网行业研究经验" "请为iPhone产品写一份2026年Q1市场分析报告" ``` --- ## 常见问题 ### Q: cc 命令找不到? Windows 上 cc 可能是 GCC 编译器。改用: ```bash ./cc.sh --print "你好" # 或 bun run.js --print "你好" ``` ### Q: 显示 "null" 无输出? 确保在 Git Bash 环境中运行,或设置环境变量后使用 `bun run.js`。 ### Q: 交互模式无法启动? 交互模式需要 TTY 支持。在 Git Bash 中运行: ```bash ./cc.sh ``` ### Q: Python 脚本执行失败? 1. 检查 Python 路径是否正确配置 2. 缺少依赖时会自动安装,如仍失败请手动安装: ```bash pip install pandas matplotlib openpyxl numpy ``` ### Q: 图表中文乱码? 代码已内置中文字体检测逻辑: - 检测系统是否有 SimHei、Microsoft YaHei 等字体 - 如无中文字体,自动切换为英文标签 ### Q: 如何搜索代码? 由于当前网络环境无法访问外网,提供以下本地替代方案: ```bash # 搜索代码 cc --print "搜索代码 queryFunction" # 列出项目文件 cc --print "列出目录" ``` #### 支持的功能 | 功能 | 命令示例 | |------|----------| | 列出目录 | `列出当前目录的文件` | | 读取文件 | `查看 package.json` | | Git 状态 | `git status` | | 代码搜索 | `搜索代码 useApiKey` | | 项目结构 | `查看项目结构` | --- ## 版本说明 - **[README.md](README.md)** - 当前版本(简化版) - **[README_v1.md](README_v1.md)** - v1 版本(基础功能) - **[README_v2.md](README_v2.md)** - v2 版本(Python 集成 + Web UI) --- ## 计划功能 - [ ] Web UI 支持代码文件自动生成 - [ ] Anthropic API 支持增强 - [ ] 支持更多外部工具注入(Web 搜索等) - [ ] 项目模板扩展(React、Vite、Next.js 等) - [ ] 交互模式美化输出 - [ ] 支持自定义技能(Skill) - [ ] 多代理协调支持 --- ## 项目结构 ``` claude-code-lingxi/ ├── run.js # 主程序(含 Python 执行) ├── cc.bat # Windows CMD 入口 ├── cc.sh # Git Bash 入口 ├── cc.cmd # Windows CMD 批处理入口(备用) ├── package.json # 项目依赖 ├── tsconfig.json # TypeScript 配置 ├── bunfig.toml # Bun 运行时配置 ├── .gitignore # Git 忽略配置 ├── external_tools/ # 外部工具 │ ├── bash.exe # Git Bash │ ├── config_server_final.cjs # Web 服务器 │ ├── executor.cjs # 智能执行器 │ ├── file_tool.cjs # 文件工具 │ ├── anaconda/ # Python 环境(可选) │ └── ui/ # Web UI 模板 │ └── templates/ │ └── index.html # Web UI 模板文件 ├── src/ # 源码目录 │ ├── main.tsx # CLI 入口 │ ├── QueryEngine.ts # 核心 LLM API 引擎 │ ├── query.ts # 代理循环 │ ├── Tool.ts # 工具类型定义 │ ├── tools.ts # 工具注册表 │ ├── commands.ts # 命令注册表 │ ├── context.ts # 系统提示上下文 │ ├── tools/ # 工具实现 │ ├── services/ # 外部集成 │ │ └── api/ # API 客户端 │ │ ├── client.ts # DeepSeek + Anthropic 适配器 │ │ ├── provider.ts # Provider 选择 │ │ ├── deepseek.ts # DeepSeek 客户端 │ │ └── claude.ts # Claude 适配 │ ├── memdir/ # 持久化内存系统 │ ├── skills/ # 技能系统 │ ├── components/ # React/Ink 终端 UI │ ├── hooks/ # React hooks │ ├── coordinator/ # 多代理编排 │ └── stubs/ # 缺失内部模块的存根包 └── workspace/ # 工作目录(生成的项目存放于此) ├── myshy/ # 用户创建的文件夹 └── project_时间戳/ # 自动生成的项目 ``` --- ## 技术栈 | 层级 | 技术 | |------|------| | 运行时 | Bun | | 语言 | TypeScript | | 终端 UI | React + Ink | | CLI | Commander.js | | 验证 | Zod | | 搜索 | ripgrep | | 协议 | MCP SDK, LSP | | API | Anthropic SDK, OpenAI SDK (DeepSeek) | --- ## 测试 运行测试用例验证功能: ```cmd REM 快速测试(8个测试用例) test_quick.bat REM 完整测试(15个测试用例) test.bat ``` > 注意: > - 使用 `bun run.js` 而不是 `cc`(避免 Windows 上 cc 与 GCC 冲突) > - 通过管道输入消息,避免 TTY 问题 ### 测试用例说明 | 测试 | 用例 | 说明 | |------|------|------| | 1 | 简单对话 | 测试基本对话功能 | | 2 | 目录列表 | 测试 `ls` 命令 | | 3 | 文件读取 | 测试 `cat` 命令 | | 4 | Git 状态 | 测试 `git status` | | 5 | 系统提示 | 测试 `--system-prompt` 参数 | | 6 | 创建文件夹 | 测试目录创建 | | 7 | 写入文件 | 测试文件写入 | | 8 | Python 脚本生成 | 测试代码生成 | | 9 | Python 数据分析 | 测试 pandas/matplotlib | | 10 | Python 爬虫 | 测试爬虫代码生成 | | 11 | Python 机器学习 | 测试机器学习代码生成 | | 12 | Flask 项目生成 | 测试 Web 项目生成 | | 13 | Node.js 项目生成 | 测试 Node 项目生成 | | 14 | Web UI 启动 | 测试 Web 界面 | | 15 | 交互模式 | 测试交互式对话 | --- ## 免责声明 - 本项目仅用于**教育和研究目的**。 - 原始 Claude Code 源码是 **Anthropic** 的财产。 - 本项目**与 Anthropic 没有关联、不被 Anthropic 认可或由 Anthropic 维护**。 - 使用 DeepSeek API 需要遵守 [DeepSeek 使用条款](https://cdn.deepseek.com/policies/zh-CN/deepseek-privacy-policy.html)。