Skip to content

Mr-Tieguigui/Claude-Code-Tips

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Claude Code Tips

一个面向学习研究、架构分析与二次开发的 Claude Code 恢复版源码分享仓库。

这套源码覆盖了一个完整的终端 Agent 系统应有的关键部件:CLI 入口、命令系统、模型工具调用、React/Ink TUI、会话与状态管理、MCP 扩展、插件机制、LSP 协作、后台任务、多代理、远程桥接,以及一系列围绕工程开发与自动化工作流的运行时能力。

如果你希望研究 Claude Code 类系统是如何组织的,或者希望基于一套现成的终端 Agent Runtime 继续做自己的工具、平台或产品,这个仓库可以作为一个直接可读、可改、可扩展的基础起点。

仓库定位

这是一个偏工程实践视角的源码仓库,适合以下几类用途:

  • 研究终端型 AI Coding Agent 的核心架构
  • 阅读命令系统、工具协议、任务系统和交互层的实现方式
  • 基于现有运行时继续做 CLI 助手、内部研发工具或实验性 Agent 平台
  • 作为 MCP、插件、技能、多代理协作和远程会话的二次开发底座

系统一览

维度 说明 关键位置
CLI 与运行时入口 负责参数解析、启动链路、模式分发和初始化 src/runtime/ src/entrypoints/ src/main.tsx
命令系统 管理 slash commands、本地命令和 prompt 型命令 src/commands.ts src/commands/ src/registry/commands.ts
工具系统 管理模型可调用工具、schema、权限和结果渲染 src/tools.ts src/tools/ src/contracts/Tool.ts
TUI 交互层 终端 UI、消息渲染、权限请求、输入与状态反馈 src/screens/REPL.tsx src/components/
会话与状态 管理上下文、历史、恢复、状态树与运行过程数据 src/session/ src/state/
服务层 承载 API、MCP、LSP、插件、分析、后台服务等 src/services/
Agent 与任务 承载 assistant、coordinator、task、后台执行与协作 src/assistant/ src/coordinator/ src/tasks/
外部集成 浏览器、桌面、桥接、本地适配和外部运行环境连接 src/integrations/ src/native/ src/bridge/

这个系统可以展示什么

  • 一个终端 Agent Runtime 如何从 CLI 参数一路流转到会话执行与工具调用
  • 一个命令系统如何兼容本地命令、prompt 命令、技能与插件扩展
  • 一个工具运行时如何处理 schema、权限、执行结果、流式进度和 UI 渲染
  • 一个终端交互界面如何承接消息流、用户输入、权限确认和后台任务反馈
  • 一个多能力系统如何将 MCP、LSP、插件、远程桥接、多代理和任务编排组合到一起

源码架构图

flowchart LR
  A["CLI / Runtime Entrypoints<br/>src/runtime/dev-entry.ts<br/>src/entrypoints/cli.tsx"] --> B["Main Runtime<br/>src/main.tsx"]
  B --> C["REPL / TUI Layer<br/>src/screens/REPL.tsx<br/>src/components/"]
  B --> D["Session / State<br/>src/session/<br/>src/state/"]
  B --> E["Command & Tool Registry<br/>src/registry/<br/>src/commands.ts<br/>src/tools.ts"]
  E --> F["Slash Commands<br/>src/commands/"]
  E --> G["Model Tools<br/>src/tools/"]
  B --> H["Service Layer<br/>src/services/"]
  H --> I["API / MCP / Plugin / LSP"]
  H --> J["Tasks / Agents / Bridge<br/>src/tasks/<br/>src/assistant/<br/>src/coordinator/<br/>src/bridge/"]
  G --> K["Native / Integrations<br/>src/native/<br/>src/integrations/"]
  F --> H
  G --> H
Loading

一次请求如何流经系统

sequenceDiagram
  participant U as User
  participant CLI as CLI Entrypoint
  participant Main as Main Runtime
  participant REPL as REPL / UI
  participant Reg as Command & Tool Registry
  participant Tool as Tool / Command
  participant Svc as Services

  U->>CLI: 输入 prompt / 命令 / 参数
  CLI->>Main: 初始化运行时与配置
  Main->>REPL: 建立会话与界面
  REPL->>Reg: 解析命令、工具、权限与上下文
  Reg->>Tool: 调用命令或工具
  Tool->>Svc: 访问 API / MCP / 插件 / 任务 / 集成
  Svc-->>Tool: 返回执行结果或流式进度
  Tool-->>REPL: 渲染反馈、消息、状态和输出
  REPL-->>U: 展示最终结果
Loading

主要模块地图

模块 作用 阅读重点
src/runtime/ 运行时入口与兼容启动层 如何把 CLI 启动链路导入主运行时
src/main.tsx 运行总线 参数解析、初始化、模式切换、REPL 组装
src/screens/REPL.tsx 主交互界面 会话、消息、输入框、权限、后台任务联动
src/commands.ts 命令注册面 命令发现、过滤、分类和对外暴露
src/tools.ts 工具注册面 模型工具清单、能力筛选与工具面板
src/tools/ 工具实现层 Read、Edit、Bash、PowerShell、MCP 等能力如何落地
src/services/ 服务层 API、MCP、LSP、配置、分析与后台服务
src/assistant/ Assistant 子系统 assistant 模式、选择器、子能力入口
src/coordinator/ 协调者模式 多代理协作与任务协调逻辑
src/tasks/ 任务与后台执行 本地任务、远程任务、通知和异步流程
src/bridge/ 远程桥接 会话桥接、连接与远端运行辅助
src/native/ 本地适配 原生能力加载与本地 fallback
src/integrations/ 外部集成 浏览器、桌面、远端或其他外部能力接口

使用方向总表

分类 使用方向 说明 主要位置
开发工作台 1. 本地终端编码助手 作为终端里的 AI 编码助手与日常开发入口 src/main.tsx src/screens/REPL.tsx src/tools/
开发工作台 2. 仓库级读码与重构工作台 用于大仓库阅读、改造、重构和补丁生成 src/tools/ src/utils/ src/commands/
开发工作台 3. Slash Command 开发工具 把常用开发动作沉淀为命令系统 src/commands.ts src/commands/ src/registry/commands.ts
开发工作台 4. Shell 驱动工程操作台 围绕命令执行、构建、检查和部署构建统一入口 src/tools/BashTool/ src/tools/PowerShellTool/ src/utils/Shell.ts
开发工作台 5. 会话恢复与长任务连续工作 支持长周期任务续跑、恢复和上下文承接 src/session/ src/state/ src/main.tsx
开发工作台 6. Review / 审计辅助工具 面向代码审查、风险排查和问题定位 src/commands/review/ src/tools/ src/components/
工具与扩展 7. MCP 工具中枢 将本地或远程能力以 MCP 方式接入运行时 src/services/mcp/ src/tools/MCPTool/ src/registry/tools.ts
工具与扩展 8. 技能系统 为不同角色和场景组织可复用能力包 src/skills/ src/commands/skill/ src/utils/skills*
工具与扩展 9. 插件命令扩展平台 通过插件向主系统追加命令和能力 src/plugins/ src/commands/ src/services/
工具与扩展 10. IDE / LSP 协作层 连接 IDE 与语言服务,形成编辑器闭环 src/services/lsp/ src/utils/ide.ts src/tools/
工具与扩展 11. 文件与图像理解流水线 支持文件读取、图像处理与富输入上下文 src/tools/FileReadTool/ src/utils/image* src/native/
工具与扩展 12. 浏览器自动化与 Web 工作流底座 扩展浏览器、网页交互和采集能力 src/integrations/claudeInChrome/ src/utils/claudeInChrome/ src/services/mcp/
Agent 与自动化 13. 计划驱动 Agent 执行器 先规划后执行的 Agent 流程基础 src/state/ src/services/ src/commands/
Agent 与自动化 14. 多代理协作框架 支持主 Agent、子 Agent 与协调者协作 src/assistant/ src/coordinator/ src/tasks/
Agent 与自动化 15. 后台任务与异步工作队列 支持耗时任务后台运行与结果回传 src/tasks/ src/services/ src/hooks/
Agent 与自动化 16. Worktree 并行开发助手 适合并行修改、多分支与多任务流 src/utils/worktree* src/commands/ src/services/
Agent 与自动化 17. Remote / Bridge 远程会话底座 用于远程连接、桥接和会话恢复 src/bridge/ src/services/ src/main.tsx
Agent 与自动化 18. Computer Use / 桌面 Agent 实验底座 作为桌面自动化与 GUI Agent 的实验基础 src/integrations/computerUse/ src/utils/computerUse/ src/native/
产品化 19. 企业内部研发助手 面向企业仓库、知识库和流程系统接入 src/services/api/ src/services/mcp/ src/plugins/
产品化 20. 私有化 AI CLI 产品 用于封装团队内部或私有部署 CLI 产品 src/runtime/ src/main.tsx src/components/
产品化 21. AI 运维与脚本执行平台 用于脚本执行、巡检、环境检查和修复 src/tools/ src/commands/ src/utils/
产品化 22. Agent Benchmark / 研究底座 用于工具调用、多代理与任务调度研究 src/services/ src/tasks/ src/assistant/
产品化 23. 教学演示与训练平台 用于讲解终端 Agent 系统的结构与工作流 src/main.tsx src/screens/REPL.tsx src/commands/
产品化 24. 二次开发 Runtime / SDK 基础 抽取协议、运行时与集成层做进一步封装 src/contracts/ src/registry/ src/runtime/ src/integrations/

扩展阅读

如果你希望更细地看这些使用方向,可以直接阅读:

推荐阅读顺序

如果你第一次接触这套源码,建议按下面顺序阅读:

  1. src/runtime/dev-entry.ts
  2. src/entrypoints/cli.tsx
  3. src/main.tsx
  4. src/screens/REPL.tsx
  5. src/commands.tssrc/tools.ts
  6. src/services/src/tasks/src/assistant/src/bridge/

这个顺序可以帮助你先理解启动链路,再理解交互主循环,最后进入工具、服务和任务系统。

快速开始

环境要求:

  • Bun >= 1.3.5
  • Node.js >= 24.0.0

安装依赖:

bun install

启动交互模式:

bun run dev

验证入口:

bun run version

适合谁阅读这套源码

  • 想研究终端型 AI Agent Runtime 的开发者
  • 想基于现有架构继续做 CLI 助手、工具平台或多代理系统的团队
  • 想分析命令系统、工具协议、MCP 扩展和 TUI 交互的工程实现者
  • 想把一套终端工作流扩展成工程平台、自动化系统或私有产品的人

声明

本项目仅供学习研究用途。Claude Code 的所有权利归 Anthropic 所有。

About

A repository sharing the source code for a restored version of Claude Code, designed for learning, research, architectural analysis, and secondary development.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors