一个基于 Claude Code 源码的 CLI 工具,支持 DeepSeek API + Python 自动化。
本项目是一个基于 2026-03-31 通过 npm 源码映射泄露公开暴露的 Claude Code 源码快照构建的 CLI 工具。相比原始快照,本项目进行了以下改进:
- 重构了完整的构建系统,使其可以编译和运行
- 添加了 DeepSeek API 支持(默认使用)
- 添加了 Python 自动化支持
- 支持 Web UI 界面
- 支持自动生成项目代码
| 软件 | 说明 | 安装方式 |
|---|---|---|
| Git | 版本控制工具 | 官网下载 |
| Node.js | Node.js 运行环境(>= 18.x) | 见下方安装方法 |
| Bun | 项目运行时(>= 1.3.x) | 使用 npm 安装(见下方) |
| Python (推荐 Anaconda) | 外部 Python 工具(可选) | 见下方安装方法 |
# Windows(管理员权限)
# 方式1:使用 Winget(推荐)
winget install OpenJS.NodeJS
# 方式2:直接下载
# https://nodejs.org/download/
# 方式3:使用 nvm(管理多个 Node 版本)
# https://github.com/coreybutler/nvm-windows# 使用 npm 全局安装(需要先安装 Node.js)
npm install -g bun
# 或使用 Winget
winget install oven-bun.Bun
# 或使用 PowerShell(管理员权限)
powershell -ExecutionPolicy Bypass -c "irm bun.sh/install.ps1 | iex"强烈建议安装 Anaconda 以获得完整的数据科学工具链:
# 方式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/复制 .env.example 为 .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| 变量 | 说明 | 推荐配置 |
|---|---|---|
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 官网 获取CLAUDE_CODE_GIT_BASH_PATH:Git Bash 的 bash.exe 路径,用于文件操作
bun install
bun build src/main.tsx --outdir=dist --target=bun
# 使用 cc 命令(推荐)
cc --print "你好"
# 或直接运行
bun run.js --print "你好"适合脚本、管道、一次性查询:
# 基本用法
cc --print "你好"
cc -p "你好"
# 带系统提示
cc --print --system-prompt "你是一个资深市场分析师" "写一份市场报告"
# 列出目录文件
cc --print "列出当前目录的文件"
# Python 数据分析
cc --print "写一个Python脚本,读取workspace/sales_data.xlsx并画出销售额趋势图"
# 查看文件内容
cc --print "查看 package.json"启动交互式对话界面,可以连续对话:
# 直接运行 cc 进入交互模式
cc
# 或带问题
cc "你好"在交互模式中:
- 直接输入问题并回车发送
- 使用
exit或Ctrl+C退出 - 支持命令历史(上下箭头)
启动 Web 界面,在浏览器中操作:
cc --config
# 浏览器访问 http://localhost:3460Web UI 功能:
- 文件浏览器 - 浏览 workspace 目录
- 文件预览 - 支持代码文件、Excel、PPTX 等
- 聊天界面 - 与 AI 对话
- 响应流式输出
| 功能 | CLI (cc --print) | Web UI |
|---|---|---|
| 纯文本对话 | ✅ | ✅ |
| 自动生成代码文件 | ✅ | ❌ |
| Python 脚本执行 | ✅ | ❌ |
| 文件预览 | ❌ | ✅ |
| 交互模式 | ✅ | ❌ |
| 管道支持 | ✅ | ❌ |
- Web UI 使用 DeepSeek API 进行对话,但不支持自动生成代码文件
- 如需生成代码文件,请使用 CLI 模式:
cc --print "写一个Python脚本..." - CLI 使用外部工具注入模式实现文件操作功能
DeepSeek API 不支持工具调用,但系统通过请求前注入模式实现了文件操作功能:
- 解析用户输入,检测需要哪些文件操作
- 自动执行相关命令(
ls、cat、git status等) - 将结果注入到 prompt 中,让模型"看到"文件内容
支持的命令:
- 列出目录:
列出当前目录、ls、list files - 读取文件:
查看 package.json、cat file、read file - Git 状态:
git status
本项目支持两种模型提供商:DeepSeek(默认) 或 Anthropic。
# 使用 cc 命令(推荐)
cc --print "你好"
cc --print "列出当前目录"
cc --print "查看 package.json"
# 或使用 run.js
bun run.js --print "你好"如需使用 Anthropic API:
# 清除 DeepSeek API Key
unset DEEPSEEK_API_KEY
# 设置 Anthropic API Key
export ANTHROPIC_API_KEY=your-anthropic-key
# 运行
cc --print "你好"| 功能 | DeepSeek | Anthropic |
|---|---|---|
| 纯文本对话 | ✅ | ✅ |
| 文件操作 | ✅ (外部工具注入) | ✅ |
| 目录列表 | ✅ (外部工具注入) | ✅ |
| Git 状态 | ✅ (外部工具注入) | ✅ |
| Python 脚本执行 | ✅ | ❌ |
| 自动依赖安装 | ✅ | ❌ |
| 工具调用 | ❌ | ✅ |
集成 Python 后,可以实现以下功能:
| 能力 | 说明 |
|---|---|
| 数据分析 | pandas + matplotlib 生成图表 |
| 爬虫 | 抓取网页数据 |
| 自动化脚本 | 批量处理文件 |
| AI 模型推理 | 调用本地 AI 模型 |
| 自动安装依赖 | pip 自动补全缺失包 |
# 数据分析 - 读取 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 目录下的新项目目录中。
- 获取文件清单 - 先调用 DeepSeek API 获取需要创建的所有文件路径
- 创建项目目录 - 根据技术栈关键词自动生成项目目录名(如
flask_时间戳) - 生成任务计划 - 自动创建
todo.md文件,包含完整的任务列表 - 依次生成文件 - 对每个文件单独调用 API 获取代码内容并保存
- 自动执行脚本 - 如果生成了 Python 脚本,会自动执行并生成输出文件
# 生成 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"workspace/
└── project_1775222253089/ # 项目目录(自动命名)
├── todo.md # 任务计划清单(包含输出文件)
├── sales_trend_plot.py # Python 脚本
└── output.png # 生成的图表
自动生成的 todo.md 包含完整的任务计划和输出文件:
# 项目任务清单
## 项目信息
- **项目名称**: 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 # 用户创建的文件
│ └── ...
cc --print "帮我在workspace目录下新建文件夹,myshy,给文件夹里写一个文件,内容是今天天气怎么样"cc --print "写一个Python脚本,读取workspace/sales_data.xlsx并画出销售额趋势图"生成的文件:
workspace/project_*/sales_trend_plot.py- Python 脚本workspace/project_*/output.png- 生成的图表workspace/project_*/todo.md- 项目清单
cc --print "你好,你是谁"输出:
你好!我是Claude,由Anthropic开发的AI助手。我可以帮助你完成各种任务,包括:
- 回答问题
- 文本处理(写作、编辑、翻译、总结)
- 编程帮助
- 学习辅导
- 创意工作
- 分析思考
有什么具体需要帮助的吗?
cc --print "我想去洗车,洗车店距离我家 50 米,你说我应该开车过去还是走过去?"输出:
从距离来看,强烈建议你走路过去。
理由如下:
1. 距离极短:50 米步行只需 1 分钟左右
2. 开车不划算:短距离行驶对发动机不好
3. 停车可能麻烦
4. 环保与健康
除非你洗完车要立刻去别的地方,否则步行是最合理的选择。
cc --print --system-prompt "你是一个资深市场分析师,有10年互联网行业研究经验" "请为iPhone产品写一份2026年Q1市场分析报告"Windows 上 cc 可能是 GCC 编译器。改用:
./cc.sh --print "你好"
# 或
bun run.js --print "你好"确保在 Git Bash 环境中运行,或设置环境变量后使用 bun run.js。
交互模式需要 TTY 支持。在 Git Bash 中运行:
./cc.sh- 检查 Python 路径是否正确配置
- 缺少依赖时会自动安装,如仍失败请手动安装:
pip install pandas matplotlib openpyxl numpy代码已内置中文字体检测逻辑:
- 检测系统是否有 SimHei、Microsoft YaHei 等字体
- 如无中文字体,自动切换为英文标签
由于当前网络环境无法访问外网,提供以下本地替代方案:
# 搜索代码
cc --print "搜索代码 queryFunction"
# 列出项目文件
cc --print "列出目录"| 功能 | 命令示例 |
|---|---|
| 列出目录 | 列出当前目录的文件 |
| 读取文件 | 查看 package.json |
| Git 状态 | git status |
| 代码搜索 | 搜索代码 useApiKey |
| 项目结构 | 查看项目结构 |
- README.md - 当前版本(简化版)
- README_v1.md - v1 版本(基础功能)
- 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) |
运行测试用例验证功能:
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 使用条款。



