Skip to content

Shybert-AI/claude-code-deepseek

Repository files navigation

Claude Code CLI - DeepSeek 支持版(感兴趣的可以二次开发)

一个基于 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 工具(可选) 见下方安装方法

安装 Node.js

# Windows(管理员权限)
# 方式1:使用 Winget(推荐)
winget install OpenJS.NodeJS

# 方式2:直接下载
# https://nodejs.org/download/

# 方式3:使用 nvm(管理多个 Node 版本)
# https://github.com/coreybutler/nvm-windows

安装 Bun

# 使用 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 以获得完整的数据科学工具链:

# 方式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 配置文件

# 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 官网 获取
  • CLAUDE_CODE_GIT_BASH_PATH:Git Bash 的 bash.exe 路径,用于文件操作

安装工具

bun install
bun build src/main.tsx --outdir=dist --target=bun

2. 运行程序

# 使用 cc 命令(推荐)
cc --print "你好"

# 或直接运行
bun run.js --print "你好"

使用方法

命令行模式(--print)

适合脚本、管道、一次性查询:

# 基本用法
cc --print "你好"
cc -p "你好"

# 带系统提示
cc --print --system-prompt "你是一个资深市场分析师" "写一份市场报告"

# 列出目录文件
cc --print "列出当前目录的文件"

# Python 数据分析
cc --print "写一个Python脚本,读取workspace/sales_data.xlsx并画出销售额趋势图"

# 查看文件内容
cc --print "查看 package.json"

CLI

交互模式

启动交互式对话界面,可以连续对话:

# 直接运行 cc 进入交互模式
cc

# 或带问题
cc "你好"

在交互模式中:

  • 直接输入问题并回车发送
  • 使用 exitCtrl+C 退出
  • 支持命令历史(上下箭头)

交互模式

Web UI

启动 Web 界面,在浏览器中操作:

cc --config
# 浏览器访问 http://localhost:3460

Web UI 功能:

  • 文件浏览器 - 浏览 workspace 目录
  • 文件预览 - 支持代码文件、Excel、PPTX 等
  • 聊天界面 - 与 AI 对话
  • 响应流式输出

Web UI


功能对比

功能 CLI (cc --print) Web UI
纯文本对话
自动生成代码文件
Python 脚本执行
文件预览
交互模式
管道支持

当前限制

  • Web UI 使用 DeepSeek API 进行对话,但不支持自动生成代码文件
  • 如需生成代码文件,请使用 CLI 模式:cc --print "写一个Python脚本..."
  • CLI 使用外部工具注入模式实现文件操作功能

外部工具注入

DeepSeek API 不支持工具调用,但系统通过请求前注入模式实现了文件操作功能:

  1. 解析用户输入,检测需要哪些文件操作
  2. 自动执行相关命令(lscatgit status 等)
  3. 将结果注入到 prompt 中,让模型"看到"文件内容

支持的命令:

  • 列出目录:列出当前目录lslist files
  • 读取文件:查看 package.jsoncat fileread file
  • Git 状态:git status

支持的模型

本项目支持两种模型提供商:DeepSeek(默认)Anthropic

DeepSeek(默认)

# 使用 cc 命令(推荐)
cc --print "你好"
cc --print "列出当前目录"
cc --print "查看 package.json"

# 或使用 run.js
bun run.js --print "你好"

Anthropic

如需使用 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 集成能力

集成 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 目录下的新项目目录中。

工作流程

  1. 获取文件清单 - 先调用 DeepSeek API 获取需要创建的所有文件路径
  2. 创建项目目录 - 根据技术栈关键词自动生成项目目录名(如 flask_时间戳
  3. 生成任务计划 - 自动创建 todo.md 文件,包含完整的任务列表
  4. 依次生成文件 - 对每个文件单独调用 API 获取代码内容并保存
  5. 自动执行脚本 - 如果生成了 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"

Flask

生成结果

workspace/
└── project_1775222253089/           # 项目目录(自动命名)
    ├── todo.md                     # 任务计划清单(包含输出文件)
    ├── sales_trend_plot.py         # Python 脚本
    └── output.png                  # 生成的图表

todo.md 文件格式

自动生成的 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,给文件夹里写一个文件,内容是今天天气怎么样"

Python 数据分析

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市场分析报告"

常见问题

Q: cc 命令找不到?

Windows 上 cc 可能是 GCC 编译器。改用:

./cc.sh --print "你好"
#
bun run.js --print "你好"

Q: 显示 "null" 无输出?

确保在 Git Bash 环境中运行,或设置环境变量后使用 bun run.js

Q: 交互模式无法启动?

交互模式需要 TTY 支持。在 Git Bash 中运行:

./cc.sh

Q: Python 脚本执行失败?

  1. 检查 Python 路径是否正确配置
  2. 缺少依赖时会自动安装,如仍失败请手动安装:
pip install pandas matplotlib openpyxl numpy

Q: 图表中文乱码?

代码已内置中文字体检测逻辑:

  • 检测系统是否有 SimHei、Microsoft YaHei 等字体
  • 如无中文字体,自动切换为英文标签

Q: 如何搜索代码?

由于当前网络环境无法访问外网,提供以下本地替代方案:

# 搜索代码
cc --print "搜索代码 queryFunction"

# 列出项目文件
cc --print "列出目录"

支持的功能

功能 命令示例
列出目录 列出当前目录的文件
读取文件 查看 package.json
Git 状态 git status
代码搜索 搜索代码 useApiKey
项目结构 查看项目结构

版本说明


计划功能

  • 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 使用条款

About

可运行的Claude代码源码,采用双端模型进行驱动

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors