[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-1503":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":22,"hasPages":22,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":25,"readmeContent":26,"aiSummary":27,"trendingCount":15,"starSnapshotCount":15,"syncStatus":28,"lastSyncTime":29,"discoverSource":30},1503,"mini-cc","you-want\u002Fmini-cc","you-want","🚀 一个轻量级的多语言 AI 编程智能体，内置声明式终端 UI、原生 MCP 插件生态与无缝的 Tool-Use 循环","https:\u002F\u002Fmini-cc.raingpt.top\u002F",null,"TypeScript",260,28,1,0,3,10,38,9,4.39,"MIT License",false,"main",[],"2026-06-12 02:00:28","\u003Cdiv align=\"center\">\n  \u003Cimg src=\"website\u002Fimages\u002Flogo.svg\" width=\"120\" alt=\"mini-cc logo\" \u002F>\n  \u003Ch1>mini-cc\u003C\u002Fh1>\n  \u003Cp>一个极简架构的轻量级 AI 编程智能体，剖析、学习和复刻大厂 Agent 架构的开源教学项目。\u003C\u002Fp>\n  \n  \u003Cp>\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-blue.svg\" alt=\"License\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Ftypescript-5.x-blue\" alt=\"TypeScript\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fnode-%3E%3D18-brightgreen\" alt=\"Node\">\n  \u003C\u002Fp>\n\u003C\u002Fdiv>\n\n由于部分商标保护和合规原因，本项目已更名为 **mini-cc**。它旨在用最简单的代码复刻原版 Claude Code CLI 的核心交互、工具调用机制（Tool Use）、沙盒执行与记忆压缩策略。它支持多模型提供商（Anthropic、OpenAI 以及所有兼容 OpenAI 接口的模型如 Qwen、DeepSeek 等），提供读取文件、写入文件和执行 Bash 终端命令的能力。\n\n通过本项目，你可以学习到 Agent 的核心事件循环、工具定义与分发、多模型的适配，以及如何构建一个炫酷的终端 React UI。\n\n## 🌟 核心特性\n\n本项目目前已在 TypeScript 版本中实现了以下核心特性：\n\n- **多模型支持**：支持 Anthropic API 和 OpenAI 兼容接口，可自由切换 Claude、DeepSeek、Qwen、Kimi 等多种大模型。\n- **纯函数式 Agent 循环**：清晰展示大模型如何自主调用工具、思考（CoT）和反馈。支持如 Qwen 等模型的推理思考过程（`reasoning_content`）实时展示。\n- **Tool Use (工具调用)**：\n  - `BashTool`：执行系统终端命令（支持 npm、git、文件操作等）。\n  - `FileReadTool`：读取本地文件，提供上下文。\n  - `FileWriteTool`：覆盖写入本地文件，实现代码自动修改。\n- **安全的 Bash 沙盒**：实现了命令执行包装器的剥离与高危破坏性命令（如 `rm -rf \u002F`）拦截。\n- **.ai_memory 记忆引擎**：实现两步法则的上下文记录和过长 Token 截断机制，防止 Token 爆炸。\n- **MCP 插件集成**：支持模型上下文协议，实现工具的无缝扩充（例如安全执行网络请求与系统操作）。\n- **炫酷的终端 UI**：基于 React (Ink) 构建，拥有虚拟滚动和流畅的流式打字机输出效果。\n- **趣味彩蛋**：内置 `\u002Fbuddy` 伴侣系统（基于 Mulberry32 与反作弊算法）和 `\u002Fvoice` 模拟语音对讲。\n\n## 🛠️ 架构图解\n\n### Agent 循环与工具调用 (Tool Use)\n系统通过 `AgentTool` (Agent 分身术) 和基于 stdio 的进程隔离通信，把复杂的命令执行下发给不同子工具。主控节点持续将结果追加进 `messages`，一旦遇到 `tool_calls` 即打断当前生成，进入异步工具调用，结果产生后再唤醒生成，形成自动循环。\n\n### .ai_memory 记忆与上下文压缩\n为了防止 Token 爆炸，程序维护了一套本地的文件系统记忆：\n1. **压缩层 (`compact.ts`)**：自动剥离图片和超长文档。\n2. **防爆舱 (`truncateHeadForPTLRetry`)**：如果 API 报出 `Prompt Too Long`，强制削减最老的历史。\n3. **两步法则**：在工作区生成 `.ai_memory`，记录核心的约定与项目架构级长效记忆。\n\n### MCP (Model Context Protocol) 插件架构\n大模型调用工具的请求，会通过 `MCPTool.ts` 进行透明代理，转发至远程或本地的 MCP 插件服务，实现跨进程和跨应用的安全隔离执行。\n\n## 📚 文档指南\n\n为了帮助开发者更深入地理解本项目的架构设计与核心实现，我们提供了详细的文档。你可以在 [`docs`](.\u002Fdocs) 目录下找到这些内容：\n\n- [00. 项目大纲](.\u002Fdocs\u002F00-outline.md)\n- [01. 核心架构](.\u002Fdocs\u002F01-architecture.md)\n- [02. 查询引擎 (Query Engine)](.\u002Fdocs\u002F02-query-engine.md)\n- [03. 工具系统 (Tool System)](.\u002Fdocs\u002F03-tool-system.md)\n- [04. 记忆与上下文 (Memory & Context)](.\u002Fdocs\u002F04-memory-and-context.md)\n- [05. MCP与插件系统 (MCP & Plugins)](.\u002Fdocs\u002F05-mcp-and-plugins.md)\n- [06. UI 与 Ink (UI & Ink)](.\u002Fdocs\u002F06-ui-and-ink.md)\n- [07. 优化与部署 (Optimization & Deployment)](.\u002Fdocs\u002F07-optimization-and-deployment.md)\n- [08. 电子宠物彩蛋 (Buddy Easter Egg)](.\u002Fdocs\u002F08-buddy-easter-egg.md)\n- [09. 安全与沙盒 (Security & Sandbox)](.\u002Fdocs\u002F09-security-and-sandbox.md)\n- [10. 终极 Agent 能力](.\u002Fdocs\u002F10-ultimate-agent-capabilities.md)\n\n## 📁 语言实现版本\n\n本项目采用多语言架构，计划使用多种编程语言实现相同的功能。目前已包含：\n\n- [TypeScript 实现](.\u002Ftypescript) (✅ 已完成) —— [📖 查看 TS 版文档](.\u002Ftypescript\u002FREADME.md)\n- [Python 实现](.\u002Fpython) (✅ 已完成) —— [📖 查看 Python 版文档](.\u002Fpython\u002FREADME.md)\n- [Go 实现](.\u002Fgo) (✅ 已完成) —— [📖 查看 Go 版文档](.\u002Fgo\u002FREADME.md)\n- [Rust 实现](.\u002Frust) (✅ 已完成) —— [📖 查看 Rust 版文档](.\u002Frust\u002FREADME.md)\n\n## 🚀 快速开始\n\n### TypeScript 版本\n\n#### 方法一：全局安装 (推荐)\n\n```bash\nnpm install -g @you-want\u002Fmini-cc\nmini-cc\n```\n\n#### 方法二：源码构建 & Bun 二进制打包\n\n如果你希望自己修改代码，或者将其打包为一个无需 Node 环境即可运行的单一二进制文件：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fyou-want\u002Fmini-cc.git\ncd mini-cc\u002Ftypescript\nnpm install\nnpm run build\n\n# 运行\nnpm start\n# 或者构建独立二进制可执行文件（需安装 Bun）\nbun build --compile src\u002Fmain.ts --outfile mini-cc\n```\n\n### Python 版本\n\n#### 方法一：全局安装 (推荐)\n\n```bash\npip install you-want-mini-cc\nmini-cc\n```\n\n#### 方法二：源码构建\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fyou-want\u002Fmini-cc.git\ncd mini-cc\u002Fpython\npython -m venv venv\nsource venv\u002Fbin\u002Factivate\npip install -e .\n\n# 运行\nmini-cc\n```\n\n### Go 版本\n\n#### 方法一：全局安装 (推荐)\n\n只要你的电脑上安装了 Go 环境 (>=1.21)，就可以通过一行命令从 GitHub 源码直接拉取并编译成全局二进制命令：\n\n```bash\ngo install github.com\u002Fyou-want\u002Fmini-cc\u002Fgo\u002Fcmd\u002Fmini-cc@latest\nmini-cc\n```\n\n#### 方法二：源码构建\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fyou-want\u002Fmini-cc.git\ncd mini-cc\u002Fgo\ngo mod tidy\ngo build -o mini-cc cmd\u002Fmini-cc\u002Fmain.go\n\n# 运行\n.\u002Fmini-cc\n```\n\n### Rust 版本\n\n#### 方法一：全局一键安装 (推荐)\n\n只要你的电脑上安装了 Rust 环境 (1.70+)，可以通过 Cargo 直接全局安装二进制：\n\n```bash\ncargo install --git https:\u002F\u002Fgithub.com\u002Fyou-want\u002Fmini-cc.git --bin minicc\nminicc\n```\n\n#### 方法二：源码构建\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fyou-want\u002Fmini-cc.git\ncd mini-cc\u002Frust\ncargo build --release\n\n# 运行\n.\u002Ftarget\u002Frelease\u002Fminicc\n```\n\n### 配置 API Key\n\n初次运行 `mini-cc` (TS\u002FPython\u002FGo\u002FRust 任何一个版本)，如果未检测到 API Key，程序会自动弹出交互式配置引导，帮助你一键设置并保存在全局目录 `~\u002F.mini-cc-env` 中。\n\n```text\n⚠️ 未检测到 API Key，进入初始化配置向导...\n? 请输入您的 OPENAI_API_KEY: **********\n? 请输入模型名称 (默认: qwen3.6-plus): qwen3.6-plus\n? 如果您使用的是兼容接口，请输入 BASE_URL (可选): https:\u002F\u002Fdashscope.aliyuncs.com\u002Fcompatible-mode\u002Fv1\n✓ 配置已成功保存至 ~\u002F.mini-cc-env\n```\n\n## 💻 交互示例\n\n启动程序后，你可以直接在终端中输入自然语言指令。例如：\n- \"帮我创建一个 hello.js 文件，内容是输出 Hello World。\" \n- \"列出当前目录下有哪些文件？\"\n- \"读取 package.json，并告诉我项目名称是什么。\"\n\n程序会思考并调用相应的工具自动执行你的需求，最终将结果反馈给你。\n\n## 🎮 趣味指令\n\n在聊天输入框内输入以下指令可触发彩蛋：\n- `\u002Fclear`：清空当前会话上下文。\n- `\u002Fbuddy`：召唤基于系统种子生成的数字伴侣（小黄鸭\u002F小章鱼），拥有隐藏稀有度属性。\n- `\u002Fvoice`：进入模拟语音对讲模式（按住空格说话）。\n\n## 🛡️ 高级架构演示 (Mocks)\n\n部分在官方版里极为底层的能力（如跨平台截屏、接管 Chrome 浏览器扩展抓取 AppData 数据、基于 CCR 云端集群推演）为了保证本项目轻量跨平台，在 `src\u002Farchitecture-mocks` 中作为**架构演练**展示，暂不含实体功能（详见该目录声明）。\n\n## 📄 开源协议\n\n本项目基于 [MIT 协议](.\u002FLICENSE) 开源，欢迎自由学习、修改和分发。","mini-cc 是一个轻量级的多语言 AI 编程智能体，旨在用最简单的代码复刻大厂 Agent 架构的核心交互和工具调用机制。项目采用 TypeScript 编写，支持 Anthropic、OpenAI 及其兼容接口（如 Qwen、DeepSeek 等），提供文件读写、Bash 命令执行等功能，并通过 .ai_memory 引擎管理上下文以防止 Token 爆炸。它内置了声明式终端 UI 和 MCP 插件生态，使得开发者能够轻松扩展功能。此项目非常适合那些希望学习如何构建 AI 代理、理解工具调用循环以及探索多模型适配方案的技术爱好者与开发者。",2,"2026-06-11 02:44:22","CREATED_QUERY"]