前几天刷 GitHub,又撞见一个让我停下滑轮的项目——LibreCode。名字直译是"自由代码",但它干的事比名字实在多了:一个跑在你自己终端里、完全开源、不会偷偷把代码传上云的 AI 编程助手。
你可能想,这年头 AI 编程工具还少吗?Claude Code、Codex CLI、OpenCode、Aider……确实一抓一把。但 LibreCode 的特别,恰恰在于它"少"——少了很多你以为天经地义、其实压根不想要的东西。
说白了,现在主流的 AI 编程 Agent 都在往"重"了做:权限系统、沙箱、插件市场、MCP 协议、各种订阅。功能越叠越多,复杂度也跟着上去了。LibreCode 偏要反着来,它想做的,是那个"更小的、更简单的替代品"。

LibreCode 自我介绍就一句话:一个 "small, local-first terminal AI agent"——小型、本地优先的终端 AI 代理。
五个"没有"是它的招牌:没有沙箱、没有 MCP、没有逐条权限确认弹窗、没有插件市场、没有遥测(telemetry,也就是偷偷上报你的使用数据)。
剩下的就三样东西:一个模型、你的 shell、七个"说一不二"的工具。它是给这种开发者设计的——宁愿自己 review diff,也不想一遍遍点"允许"的那种人。
七个工具,刚好够用
它内置的工具只有七个,少得有点不像话,但仔细看,写代码的主流程还真被它包圆了:
· read / ls / find / grep:读文件、列目录、按路径找、按内容搜——都是只读的"看"的操作。
· write / edit:写文件、改文件。edit 是精确文本替换,会检查要改的内容是不是全局唯一,避免一改改错地方。
· bash:直接跑 shell 命令,带超时和输出限制。
注意,bash 在你项目里执行命令时,是不会每次问你"要不要继续"的。这是设计使然——它把循环跑得快、把攻击面缩得小。但这也意味着,你得对自己让它碰的东西心里有数。
"不打扰"的设计哲学
那串"没有"背后,是一套挺清楚的选择:
· 不沙箱:工具就以你自己的用户权限,在你自己的 shell 里跑。你决定让它碰什么文件。
· 不弹窗:在你启动它的项目里,它直接干活,不一步步打断你确认。
· 自带模型(BYO Model):你可以用浏览器 OAuth 登录 ChatGPT/Codex 或 Claude Pro/Max,也可以塞一个任意 OpenAI 兼容的 API Key,甚至自己定义供应商。
· 一切本地:会话存进 SQLite 文件,认证存进 JSON 文件,项目级的 .librecode/ 把状态锁在这个仓库里,不往外跑。
它对 DeepSeek、Groq、Mistral、OpenRouter、xAI,乃至月之暗面(moonshotai)这类本土模型也都内置了支持——对国内开发者挺友好,接本土或中转模型基本是开箱即用。
它甚至把"预发布"写在脸上:1.0 之前,API、配置、磁盘格式都可能说变就变。要的是稳,它明说"请等";想一起把它捏成型,欢迎提 issue 和 PR。
为什么是 Go + Lua
技术上有一个挺有意思的取舍:核心用 Go,扩展用 Lua。
Go 那部分,负责终端 I/O、进程管理、数据库持久化、模型编排——凡是讲究性能和安全的,用编译型语言死死守住。
Lua 那部分是可选的"控制层":你可以写脚本注册命令、拦截按键、改缓冲区内容、挂事件钩子。它管这叫"受信任的本地代码",而不是一个"插件市场"。差别在哪?市场里你装的是别人编译好的黑盒;这里你写的是自己看得懂的脚本。
而且整个东西就是一个静态 Go 二进制文件——没有 Node、没有 Python 虚拟环境、没有 Electron。冷启动快,没有后台常驻服务。对一台开发机来说,干净。
跟 Claude Code、Codex CLI 差在哪
常有人拿它跟那几位大厂工具比。客观说,定位不太一样:
· 大厂工具生态更厚:MCP 集成、子代理、hooks、插件,一整套。
· LibreCode 走极简主义:把那些层砍掉,换回一个你能完全掌控、本地运行、源码随便读的小东西。
它不是来取代谁的。它的目标用户很明确:想要"更少层"、想要本地优先、想要自己 review diff 的开发者。如果你偏偏需要逐次批准、沙箱隔离、策略强制,它自己都建议你去看别的工具。
怎么装、怎么用
装起来意外地简单。有 Go 环境的话,一行:
go install github.com/omarluq/librecode/cmd/librecode@latest
进到项目目录,直接敲 librecode 就开聊;librecode --resume 接着上次的会话;librecode prompt "总结这个仓库" 一次性发个指令就走。
会话是持久化的,存在 SQLite 里,能分支、能恢复、能列清单。你还可以在 .librecode/skills/ 或 .agents/skills/ 里丢一个 SKILL.md,它自动发现——这就是它支持的 "Agent Skills"。想给它加本事,写一个 SKILL.md 丢进去就行。
写在最后
别急——先泼盆冷水。LibreCode 现在是 pre-release,作者自己写了"expect bugs, rough edges, breaking changes"。拿它当生产主力,现在还早。
但如果你是这样的开发者,真心建议试一试:
· 你在意代码不离开自己的机器;
· 你烦透了一次次点"允许";
· 你想要一个能读源码、能自己改、MIT 协议随便 fork 的小而美的工具。
开源世界里,真正稀缺的从来不是功能,而是"克制"。LibreCode 把一个朴素的信念做成了产品:你的代码,只该在你的电脑上;你的工具,只该听你的。
这股"把 AI 编程助手装回本地"的风,我觉得才刚起。
夜雨聆风