Skip to content

LordFoxFairy/mini-claude-code

Repository files navigation

mini-claude-code

从零构建一个类 Claude Code 的终端 AI 编程助手。

项目简介

mini-claude-code 是一个基于 LangChain.js 从零实现的 CLI AI 编程助手。它复现了 Claude Code 的核心架构:模型路由、工具调用、Agent 循环、子代理、后台执行、多 Agent 协作等完整链路。项目配套 11 篇渐进式教程,从最简单的 7 行 Agent 循环出发,逐步演进到多 Agent 团队协作,每一步都是被前一步的不足逼出来的。

教程导航

建议按顺序阅读——每篇解决的问题,正是上一篇留下的悬念。

篇目 核心问题
00-overview 全景图:从 7 行到多 Agent 协作
01-model-router 用什么模型?怎么切换?
02-bash-tool 怎么让模型和真实环境交互?
03-agent-loop 怎么让模型自己试错?
04-todo-planning 怎么防止注意力漂移?
05-subagent 怎么隔离上下文噪音?
06-skills 怎么避免重复推理?
07-memory 窗口满了怎么办?
08-tasks 怎么让任务状态不丢、多 agent 可共享?
09-background 怎么并行而不阻塞?
10-team 怎么让多个 agent 互相审查和协作?

核心架构

系统分为三层:

模型路由(Model Layer) -- 最底层。一个路由函数屏蔽所有供应商差异(Anthropic、OpenAI 等),让上层完全不关心模型来自哪个厂商。

工具层(Tool Layer) -- 模型伸向真实世界的手。Bash 是兜底的万能工具,在此基础上提供文件读写、搜索、编辑等专用工具,约束更强,输出更可控。

Agent 核心(Agent Core) -- 系统的心脏。中间件管道在每次模型调用前后织入横切逻辑(重试、压缩、注入、追踪)。子代理、后台任务、团队协作三个子系统分别管理上下文隔离、并行执行和多角色协作。

快速开始

# 安装依赖
bun install

# 配置环境变量(需要 API Key)
cp .env.example .env

# 开发模式(热重载)
bun run dev

# 直接运行
bun run start

开发命令

# 类型检查
bun run typecheck

# 运行全部测试
bun run test

# 运行指定测试
bun run test -- -t "test name"

# 运行指定文件的测试
bun run test:file -- "glob"

# 监听模式运行测试
bun run test:watch

# 代码检查(指定文件)
bun run lint:file -- "file1.ts"

# 代码检查(全部)
bun run lint

# CI 检查(lint + typecheck)
bun run lint:ci

# 构建
bun run build

项目结构

src/
  index.ts                 # 入口
  cli/                     # CLI 层
    commands/              # 斜杠命令
    components/            # UI 组件(提示符、状态栏、补全等)
    renderer/              # 输出渲染(Markdown 终端渲染)
    repl.ts                # 交互式主循环
  core/                    # 核心逻辑
    agent/                 # Agent 组装、类型定义、Token 追踪
    provider/              # 模型路由(多供应商抽象)
    tools/                 # 工具集(Bash、文件读写、搜索、编辑)
    todo/                  # 待办清单(轻量级规划)
    subagent/              # 子代理(上下文隔离)
    skills/                # 技能系统(预编译推理路径)
    compression/           # 记忆管理(上下文压缩)
    tasks/                 # 任务看板(持久化任务状态)
    background/            # 后台执行(非阻塞并行)
    teammate/              # 多 Agent 协作(双向通信)
  types/                   # 全局类型定义
docs/                      # 渐进式教程(00-10)
tests/                     # 测试(unit / integration / functional)

技术栈

  • 运行时: Bun
  • 语言: TypeScript (ES2022, strict)
  • AI 框架: LangChain.js / LangGraph
  • 模型支持: Anthropic Claude, OpenAI GPT
  • 测试: Vitest
  • 代码检查: ESLint

License

Private

About

mini-claude-code

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors