TypeScript · Multi-Agent · MCP · Node.js
BlazeCoder
活在终端里的开源 AI 编程智能体
它是什么
BlazeCoder 是一个活在终端里的开源 AI 编程智能体。它改你磁盘上的真实代码、跑你目录里的真实命令——是仓库里的队友,不是沙箱里的玩具。遇到复杂任务,它会派出一队子智能体并行侦察与施工,连 PDF / Word / Excel / PPT 都能读能写。任何模型,任何系统,一条命令装好。

一次真实会话:读一遍代码 → 出方案 → 写 auth.py(带 git 式 diff)→ 更新 main.py,全程一份实时任务列表跟着走。
| 关键数字 | 说明 |
|---|---|
| ~1068 | 全仓测试,全绿 |
| 1M | 上下文窗口(token) |
| 384K | 单次最大输出 |
| 3 系统 | Windows · Linux · macOS,各一条命令 |
| 3 家模型 | DeepSeek · Kimi · OpenAI,同一接口后 |
多智能体并行
单条主线跑不快复杂任务,于是让它分身。BlazeCoder 可以派出一队子智能体并行干活——读的并发、写的串行——在终端里画成一棵实时的 fork 树,每个子智能体还能跑不同的模型。后台智能体算完,结果自动折回主对话。

「用多 agent 并行探索这个项目」→ 三个 explorer 子代理并行起跑,各自 done 后结果自动汇总回来。
凭什么敢在真实仓库里动手
让一个智能体在你真实的代码库里改文件、跑命令,靠的是底线,不是祈祷。BlazeCoder 把安全做成了独立于模型的硬约束:
- 有序权限闸门:每次工具调用都过固定的几步检查,每个放行或拦截都带机器可读的理由。
default/acceptEdits/auto/plan/bypass五种模式,粒度自选。 - 底线永远在:受保护路径、密钥防护、毁灭性命令绊线独立于模型与权限模式——哪怕开了
auto全自治,照样拦得住。 - 改前必读:Edit 与覆盖式 Write 会拒绝未读过、或读过之后在磁盘上又变过的文件,绝不盲改。
- 逐个对抗审查:每个功能上线前都过一轮对抗式 review;一次专门的安全审计跑了 CON1-24 加五轮复审,收敛到零。

一条 pip install 撞上闸门:命令被分级为 risk: network,给出「允许一次 / 始终 / 否」,还能一键存成永久规则。
文档读写内置
多数编码 agent 干不了这件事:BlazeCoder 把 PDF、Word、Excel、PowerPoint 的读写打进同一个包,纯 JS、零系统依赖。真表格,中文也正常渲染,不会变成一片问号。
到处都跑,已验证
Windows、Linux、macOS 各一条命令装好,不用手动设任何环境变量,中文用户名的路径照样跑得动。这不是嘴上说说——从一台 Mac 开发,靠 GitHub Actions 的真 Windows / 真 Linux runner 当测试台,把每一处平台差异(cmd.exe 引号、进程树、路径大小写、CRLF)一路修到全绿。

三系统 × 双 Node 版本的 CI 矩阵,六格全绿。
你的模型,不锁死
DeepSeek V4 Pro、Kimi、OpenAI 都活在同一个 provider 接口之后,再接一家只要多写一个文件。引导流程帮你把 Key 写进 config.json(权限 600、原子写入),全程没有散落的 .env。联网也是零配置:内置 WebFetch / WebSearch 带整网段 SSRF 防护,抓回的内容按「不可信」围栏标注;再挂一个完整的 MCP 客户端,就能连上外部 server。
架构:端口与适配器
内核与宿主环境无关。shared ← core ← host ← cli 四层单向依赖,右边挂着那个刻意做得很「笨」的 agent loop——把聪明留给模型,把确定性留给代码。功能全靠文件扩展:丢一个 SKILL.md、一个 agent、一个 output-style 或 mcp.json 即生效,用户级始终加载,项目级需先信任工作区。

端口与适配器:内核不知道自己跑在 CLI 里,也不知道对面是哪家模型。
它的来历
它本是一个浏览器里的 Cursor 式编码 agent。开工第一天,我把整个浏览器栈删了(那条提交的原话是 Phase 0: subtract the browser stack, retarget to a CLI agent),把它重新指向终端。长回来的,就是这个活在你 shell 里、读写真实文件的智能体。
一条命令装好,敲 blazecoder 就能用;blazecoder -p "..." 无界面跑一条 prompt 进 CI。开源、MIT,拿去用,拿去改。