
如果你对 AI 编程助手感兴趣,可能已经用过或看过不少产品:它们能聊天、能补全、能生成代码......但当你想进一步追问:
- Agent 到底怎么循环? 为什么会一边输出一边打断去调用工具?
- Tool Use 是怎么定义和分发的? 怎么把文件读写、Bash 执行接进来?
- 长上下文怎么记忆? 怎么避免 Token 爆炸?
- 终端里的 React UI 为什么能这么丝滑?
多数项目要么过于工程化难以上手,要么抽象太高看完仍然不敢写自己的 Agent。
mini-cc 就是为了解决这个学习断层而生的:它是一个极简架构的轻量级 AI 编程智能体,定位为"剖析、学习和复刻大厂 Agent 架构"的开源教学项目------用尽可能少的代码,把 Claude Code CLI 的核心交互与关键机制复刻出来,并把关键点写成文档,方便你"读得懂、改得动、复刻得出"。
项目地址:github.com/you-want/mi...(欢迎 Star)
你会得到什么?
mini-cc 的价值不在于"又一个能聊天的 CLI",而在于它把一个现代 AI 编程 Agent 的关键模块拆出来,让你清楚看到:
- 一个可运行的 Agent Loop:模型生成 → 发现 tool_calls → 执行工具 → 把结果回填 messages → 继续生成,形成闭环。
- 一套可扩展的工具系统(Tool Use):Bash / 读文件 / 写文件,覆盖 AI 编程助手的最核心动作。
- 一套务实的记忆与上下文压缩策略 :
.ai_memory+ 压缩与截断,解决"能跑但跑不久"的长任务问题。 - 一个真正好用的终端 UI:基于 React(Ink)做虚拟滚动、流式输出打字机体验,让演示与日常使用都更顺手。
- 多语言实现对照:同一套思想,给出 TypeScript / Python / Go / Rust 多版本实现,利于你用自己熟悉的语言复刻。

核心亮点一览(为什么它值得被写进你的收藏夹)
1) 多模型支持:Claude / OpenAI / 兼容 OpenAI 接口的模型都能接
mini-cc 支持 Anthropic API 与 OpenAI 兼容接口,因此你可以在 Claude、DeepSeek、Qwen、Kimi 等模型之间切换,把它当作自己的"模型试验台"。
2) 纯函数式 Agent 循环:把事件循环讲清楚、写干净
项目强调用更清晰的方式呈现 Agent Loop:工具调用如何被触发、如何串起来、如何把执行结果回填上下文------这些"产品看不到、学习最关键"的东西,正是 mini-cc 的重点。
同时也支持推理模型的 reasoning_content 展示,让你在终端里观察到"模型如何思考/如何推进任务"(如果你使用的模型提供该字段)。
3) Tool Use:三件套就足够让 Agent 干活
BashTool:执行系统终端命令(npm / git / 脚本等)FileReadTool:读取本地文件作为上下文FileWriteTool:覆盖写入文件,完成自动修改
这三种工具覆盖了"读代码 → 跑命令 → 改代码"的核心工作流,是构建 AI 编程助手最具性价比的起点。

4) Bash 沙盒:把危险命令挡在门外
项目实现了命令执行包装器的剥离与高危破坏性命令拦截(例如 rm -rf /),让你在学习/二次开发时更安心。
5) .ai_memory 记忆引擎:给长任务一条"活路"
mini-cc 通过本地文件系统记忆 + 上下文压缩/截断策略(例如 Prompt Too Long 时削减最老历史),降低"对话越长越容易崩"的概率。
6) MCP 插件生态:工具扩展走标准协议
项目支持 MCP(Model Context Protocol)------你可以通过协议把能力扩展到更多外部工具/服务上,并通过隔离执行降低风险与耦合。

快速开始(四种语言,任选其一)
TypeScript(推荐)
全局安装:
bash
npm install -g @you-want/mini-cc
mini-cc
源码构建(可选):
bash
git clone https://github.com/you-want/mini-cc.git
cd mini-cc/typescript
npm install
npm run build
npm start
Python
bash
pip install you-want-mini-cc
mini-cc
Go
bash
go install github.com/you-want/mini-cc/go/cmd/mini-cc@latest
mini-cc
Rust
bash
cargo install --git https://github.com/you-want/mini-cc.git --bin minicc
minicc
第一次运行:一分钟把 API Key 配好
首次启动时,如果没有检测到 API Key,mini-cc 会弹出交互式配置引导,并保存到全局目录(例如 ~/.mini-cc-env)。你只需要按提示输入:
OPENAI_API_KEY- 模型名称(如 Qwen / DeepSeek 的某个模型名)
BASE_URL(如果你使用兼容 OpenAI 的接口)
配置完成后就可以直接开始下指令了。
它能怎么"像工程师一样"工作?(一个简短的交互想象)
启动后,你可以像和一个"能读写文件、能跑命令"的工程师协作一样输入自然语言,比如:
- "帮我创建一个 hello.js 文件,内容输出 Hello World。"
- "列出当前目录下有哪些文件?"
- "读取 package.json,并告诉我项目名称是什么。"
当任务复杂时,它会多轮调用工具(读文件 → 跑测试 → 写代码修复)直到完成------这正是 Agent 的魅力所在,也是你最值得在源码里学会的部分。
架构一眼看懂:三个关键词
1) Agent Loop:生成与工具调用的闭环
核心是把模型输出当作"可中断的流":一旦出现 tool_calls,就暂停生成,执行工具,再继续生成。循环稳定了,Agent 才会"持续推进"。
2) Memory & Context:压缩、截断、长效记忆
工程上你必然会遇到 Token 预算问题:mini-cc 把"压缩层 + 防爆舱 + 两步法则(.ai_memory)"这一套组合拳放进来,适合你直接抄作业或按需改造。
3) MCP:用标准协议扩展工具边界
当你想接入更多能力(比如安全网络请求、系统操作、外部应用),MCP 是一条更可维护的路线:工具扩展不再靠"在仓库里硬塞一堆适配器"。
学习路径:从会用到会写
项目在 docs/ 目录提供了完整的学习指南,从架构到工具系统到记忆与安全,再到 UI 与优化部署,适合你:
- 先跑起来:选一个语言版本装好,能正常对话与调用工具。
- 理解主循环:沿着 Query Engine/主入口追一次调用链。
- 理解工具系统:看工具定义、参数校验、执行与渲染回填。
- 自己加一个工具 :比如
GitStatusTool/HttpFetchTool(配合安全策略)。 - 做一次"最小产品化":加日志、加配置、加发布脚本,跑 CI。
适合谁?
- 想系统学习 Agent 架构 / Tool Use / 记忆压缩 的开发者
- 想复刻一套"能在终端里干活"的 AI 编程助手的人
- 想研究 MCP 插件化、把工具能力标准化的人
- 想对比 TypeScript / Python / Go / Rust 实现差异的人
参与贡献
mini-cc 基于 MIT 协议开源,你可以自由学习、修改和分发。更欢迎你:
- 提交 PR:修复 bug、补充文档、增加示例
- 补全更多工具:在保证安全的前提下扩展能力边界
- 提供更多语言/平台适配:让项目更易用、更可移植
结语:把"黑盒的 AI 产品",拆成"白盒的工程能力"
AI 编程助手的未来,一定不仅是"更会写代码",更是"更会使用工具、管理上下文、持续推进复杂任务"。
如果你也想把这些能力变成自己可掌控的工程资产,而不是停留在"用过某个产品"的层面------mini-cc 会是一个非常友好的起点。
👉 GitHub:github.com/you-want/mi...
如果这篇文章对你有帮助,欢迎点个 Star,让更多人一起把 Agent 架构吃透。