一直在用 Claude Code ( Anthropic 官方的 CLI 工具),体验很好,但是闭源的,想加点自己的功能没法搞。
于是花了点时间逆向了一下源码,搞清楚了实现原理,然后自己复刻了一个。
好处是:
既然都写了,就开源出来了。
Blade Code - 一个基于 React + Ink 的 AI 编程助手 CLI 工具。
GitHub: https://github.com/echoVic/blade-code
1. 真·开箱即用
npx blade-code
就这一行,不需要配置任何东西。内置了免费的 GLM-4.7 模型(智谱提供的),虽然不是最强的,但日常写代码够用了。
当然你也可以配置自己的 API Key ,支持 OpenAI 、Claude 、Gemini 、Qwen 等等。
2. 工具很全
内置了 20+ 工具,基本覆盖了日常编码需求:
3. 权限可控
这个是我最在意的。提供了 5 种权限模式:
default: 敏感操作需要确认autoEdit: 自动编辑文件,但其他操作需要确认plan: 先规划后执行spec: 规格驱动开发(我自己加的,写需求 → 生成规格 → 确认后执行)yolo: 完全自动(慎用)还可以设置工具白名单/黑名单,精确控制 AI 能用哪些工具。
4. MCP 支持
支持 Model Context Protocol ,可以接入各种 MCP 服务器。比 Claude Desktop 的配置简单多了:
blade mcp add filesystem
blade mcp add github
5. 会话管理
支持多会话、会话恢复、会话 Fork 。写到一半想切换任务?没问题,随时恢复。
# 交互模式
blade
# 直接提问
blade "帮我重构这个函数"
# 打印模式(适合管道)
blade --print "写个快排" > sort.js
场景 1: 代码审查
blade "review 一下最近的改动"
AI 会自动 git diff ,然后给出建议。
场景 2: 生成文档
blade --print "给这个项目写个 README" > README.md
场景 3: 调试问题
blade "帮我看看为什么测试失败了"
AI 会读取测试输出,分析代码,给出修复建议。
简单说几个有意思的点:
1. 无状态 Agent 设计
Agent 本身不保存状态,所有状态通过 context 传递。这样做的好处是:
2. 工具系统
基于 Zod 的工具定义和验证,类型安全,扩展方便。内置工具和 MCP 工具用同一套系统。
3. React + Ink
用 React 写 CLI 的体验还挺爽的,组件化、状态管理都很自然。Ink 的性能也不错。
项目刚开源不久,肯定有不少 bug 和不完善的地方。欢迎试用,欢迎提 issue ,欢迎 PR 。
如果觉得有用,给个 star 吧 ⭐️
相关链接
交流群 微信: VIc-Forever (备注「 Blade 」)
P.S. 项目名叫 Blade 是因为想做一个"锋利"的工具,简单、快速、有效。Logo 是一把剑 🗡️
1
buaishi 1 天前
冒昧问一下,对比 opencode ?
|
2
echoVic OP @buaishi OpenCode 项目很赞!我做 Blade Code 主要是:
1. 想深入理解 Claude Code 的实现原理,所以逆向了一遍 2. 想加一些自己的功能,比如 Spec 模式(规格驱动开发) 两个项目定位不太一样,OpenCode 更通用,Blade Code 更贴近 Claude Code 的使用体验。 建议都试试,或者可以用我的项目二开 |
3
iorilu 1 天前
想问问
你说的逆向 claude code, 是指包含了所有 claude code 功能, 并在此基础上强化了吗 还是说, 只是学习了 claude code 的代码架构原理等, 自己重新开发的 |
5
keakon 22 小时 23 分钟前
其实可以参考 https://github.com/NoeFabris/opencode-antigravity-auth 来白嫖 Antigravity 。
自己的 GLM Coding Plan 可能存在盗用的情况。 |