MiniCode介绍

轻量终端编码助手 · 仿 Claude Code 架构

Posted by Liu Mengxuan on April 3, 2026

MiniCode 是我开源的一个终端里的轻量编码助手。它诞生的缘由很直接:Claude Code 的源码一度泄露,我当天对着泄露出来的设计思路,仿照 Claude Code 的架构做了一版轻量化实现,一直写到凌晨五点多——不是为了「复刻产品」,而是把最有价值的那条执行闭环落在够小、够读得懂的代码里。下文对项目的介绍,主要对齐仓库里的 架构说明《通过 MiniCode 学习 Claude Code 设计》ARCHITECTURE_ZH.mdCLAUDE_CODE_PATTERNS_ZH.md)。

🔗 仓库github.com/LiuMengxuan04/MiniCode


MiniCode 是一个轻量的终端 AI Coding Agent 项目,可以理解成一个适合学习和继续演化的 Claude Code 风格参考实现。项目里已经包含了 agent loop、工具调用、权限审批、文件修改 review、TUI 界面,以及 MCP、skills 这些扩展能力。

这个项目很适合想学 Agent、想做开源、或者想给自己积累一些对就业有帮助项目经历的同学参与。你既可以借这个项目理解 AI Coding Agent 的核心设计,也可以通过实际提 PR 获得比较完整的工程协作体验。

本项目的定位其实有些类似于 Nano-vLLM……一个遥远的目标哈哈,前路漫漫,我慢慢做……

1. 项目想保留什么

MiniCode 刻意不做「大而全的终端 agent 平台」,而是优先保住这几件事:

  1. 模型 → 工具 → 模型 的主循环
  2. 全屏 TUI 的交互节奏
  3. 目录感知、权限审批、危险操作确认
  4. transcript / tool / input 的组件化界面结构
  5. 用户可 review 的文件修改流程

换句话说:它是一个更小、更可控的终端编码助手骨架,控制流和边界都还能拿在手里改。


2. 和 Claude Code 设计的一一对应

我在 CLAUDE_CODE_PATTERNS_ZH.md 里把 Claude Code 的关键设计和 MiniCode 里能看到的落点写在一起。这里只抽主线,细节仍以仓库文档为准:

设计维度 思路(Claude Code 侧) MiniCode 里怎么轻量接住
Agent Loop 持续的主控制流:输入 → 上下文 → 模型 → 工具决策 → 执行 → 结果回传 → 结束判定 agent-loop.ts 等多步回合循环,TUI、工具、权限、MCP、skills 都绕这条 loop 组织
结构化消息 区分用户输入、最终回答、进度、工具调用/结果、摘要边界等 不止把 transcript 当字符串列表;区分 progress、tool call、tool result、context summary 等角色
Tool 协议 声明调用 → 解析输入 → 权限参与 → 标准化结果 → 进入下一轮推理 统一注册、schema、执行入口与结果格式;本地工具与 MCP 动态工具同一层抽象
Progress 与 Final 过程说明 ≠ 回合结束条件 progress 单独建模与渲染,结束条件不只看自然语言正文
权限在路径上 高风险操作在统一审批边界 permissions.tsfile-review.ts;拒绝后可把说明回灌模型
MCP 动态发现、挂载外部能力 mcp.ts:stdio 连接、协商 framing、tools 进工具表;resources/prompts 经 helper tools
Skills 轻量工作流扩展,非重型插件 skills.ts + load_skill,本地 SKILL.md 发现与加载
上下文压缩 摘要替换较早历史,保留近期原文 超长会话触发 context_summary,继续对话
TUI 状态机可视化:工具态、审批态、折叠摘要等 tui/* 等:不只刷最终回答
前台工具 vs 后台 Shell 长驻命令建模成独立 task background-tasks.ts:后台 shell 与前台工具调用分开呈现

MiniCode 保留的是核心设计方案,不是产品级全盘搬运——仓库建立初期的目标是一晚上能落地,于是我先搭建了最基本的框架,再陆续完善。


3. 代码从哪读起

路径 职责
src/index.ts CLI 入口
src/agent-loop.ts 多轮工具调用循环
src/tool.ts 注册、校验、执行
src/tools/* 列举/检索/读写/编辑/补丁、run_commandload_skill 及 MCP 相关辅助工具
src/config.ts 独立配置目录 ~/.mini-code
src/skills.ts / src/mcp.ts / src/manage-cli.ts Skills 发现、MCP 客户端、minicode mcp / minicode skills
src/permissions.ts / src/file-review.ts 路径与命令审批、写前 diff
src/tui/* transcript、输入、Markdown、审批与全屏节奏
src/anthropic-adapter.ts / src/mock-model.ts 在线 API 与离线 mock

更完整的能力列表、安装方式、slash 命令与 MCP framing 说明,见仓库根目录的 README / README.zh-CN,此处不重复粘贴。


4. 小结

MiniCode 的起点很个人:Claude Code 源码泄露的那一天,我按它的设计轮廓肝到凌晨五点,做了一个刻意缩水的「Claude Code 式」终端 agent,方便个人以及他人的学习/二次开发。之后的内容迭代,仍然围绕着最开始的设计哲学。

让我非常震惊的是社区对于这个项目的热情,这是我第一个破百 star 的仓库(实际上也是我第一个正儿八经的项目),这对我是极大的鼓舞,也希望和社区一起维护好这个项目。

若你也在研究 agent,不妨看看这个项目,欢迎直接 clone 仓库边跑边改;issue / PR 也开放。

仓库里的开发规范与路线图(CONTRIBUTINGROADMAP)写明了规范与待实现扩展,欢迎认领并成为重要功能的 Contributor。后续也规划了 Python、Go、Rust 等多语言分支,欢迎对这些方向感兴趣的同学一起参与、维护某个语言版本。