造了个 Cli Coding Agent,内置免费模型,开箱即用

1 月 13 日
 echoVic

起因

一直在用 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 种权限模式:

还可以设置工具白名单/黑名单,精确控制 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 是一把剑 🗡️

1704 次点击
所在节点    程序员
7 条回复
buaishi
1 月 13 日
冒昧问一下,对比 opencode ?
echoVic
1 月 13 日
@buaishi OpenCode 项目很赞!我做 Blade Code 主要是:

1. 想深入理解 Claude Code 的实现原理,所以逆向了一遍
2. 想加一些自己的功能,比如 Spec 模式(规格驱动开发)


两个项目定位不太一样,OpenCode 更通用,Blade Code 更贴近 Claude Code
的使用体验。

建议都试试,或者可以用我的项目二开
iorilu
1 月 13 日
想问问

你说的逆向 claude code, 是指包含了所有 claude code 功能, 并在此基础上强化了吗

还是说, 只是学习了 claude code 的代码架构原理等, 自己重新开发的
echoVic
1 月 13 日
@iorilu claude code 没有源码,所以看 claude code 压缩后的代码,根据自己的理解重新开发了一个,也加入了自己的一些想法
keakon
1 月 13 日
其实可以参考 https://github.com/NoeFabris/opencode-antigravity-auth 来白嫖 Antigravity 。
自己的 GLM Coding Plan 可能存在盗用的情况。
echoVic
1 月 14 日
@keakon 支持 Antigravity auth 的
盗用就盗用吧,这个也不贵
clarkyu
1 月 16 日
@echoVic 👍🏻

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/1185249

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX