先交代一下背景:我是 SpectrAI(光谱AI)的开发者。这是这个账号的第一篇文章,所以先讲讲我在做的东西是什么、为什么做、里面几个设计是怎么取舍的。后面的文章会以 AI 编程实战、运维排障和踩坑记录为主。
起因:Agent 开得起来,但管不过来
我日常会同时跑好几个 AI 编程 Agent:一个在重构,一个在查线上日志,一个在写测试,还有几个按点跑的巡检任务。单个 Agent 越来越能干,问题反而出在「人」这一侧:
- 看不清谁在干嘛:终端窗口一多,分不清哪个在跑、哪个卡住了、哪个早就做完了;
- 它在等我,我却不知道:Agent 停下来等确认,一等就是半天;
- 互相踩脚:两个 Agent 改同一个仓库,改动搅在一起,回滚都难;
- 结果散落各处:巡检的产出、子任务的结论,想复盘只能一个个翻。
SpectrAI 就是为这几件事做的。它本身不是一个新的大模型,也不替代 Claude Code 这类 Agent,而是把它们放在一个桌面工作台里统一调度和查看。目前能接的引擎有 Claude Code、Codex CLI、Gemini CLI、iFlow、OpenCode 等。
工作台:把会话画成卡片
首页是一块画布。每个会话、目标、定时任务、团队都是一张卡片,按项目分组:
- 需要你处理的卡片会亮橙框、盖一个「批」字,顶部的「待你拍板」把它们集中列出来,跑失败的也在里面;
- 卡片之间的连线表示谁的产出喂给了谁,比如上图左边几个热帖巡检的结果都汇进同一个收件箱;右键「聚焦这条线」,其余卡片会淡出;
- 底部输入框说一句想做的事就开工,开工前选一种跑法:直接做(像聊天一样交代)、做完为止(变成一个目标,自己拆步骤一轮轮推进)、组团队、定时。
这个设计背后的判断是:Agent 数量上来以后,瓶颈是人的注意力,所以界面的第一优先级不是「功能多」,而是一眼看出哪里需要我。
几个关键设计和取舍
1. 每个改代码的会话进独立的 Git worktree
多个 Agent 同时改一个仓库,最怕改动互相覆盖。SpectrAI 的做法是:要改源码的会话先进入一个独立的 git worktree,在隔离的工作目录里改、提交,做完再合回主分支;只读的分析、排查任务则不建 worktree,直接在原目录读。
取舍在于:worktree 隔离让并行安全了,但合并冲突从「实时互相覆盖」变成了「合并时集中处理」。对我来说后者好得多,因为冲突至少是看得见、可审查的。
2. 会话之间通过 MCP 网关协作
Agent 之间要能互相看进度、派活、查结果。SpectrAI 在本地起了一个 MCP 网关,把「列出会话、读某个会话的摘要、给另一个会话发消息、派子 Agent」这类能力做成 MCP 工具,任何支持 MCP 的引擎都能直接调。好处是协作能力不绑定在某一家的 Agent 上。
3. 团队模式:专家互审,不合格打回
复杂任务可以派一支 AI 小队:团队负责人拆任务、成员分头做,再由不同视角的「专家」审查产出。每份产出按完整性、鲁棒性、安全、代码异味、架构契约 5 个维度打分,有一项不过就交回重做。这一块是付费档(Pro 起)的功能。
4. 工作流:把重复的多步流程固化下来
经常重复的事情(比如「构思 → 计划 → 团队实现 → 代码审查」)可以拼成工作流,节点有 Agent、条件分支、人工审核等,人工审核节点会停下来等你确认后再继续。
5. 要拍板的事推到手机上
电脑上的 Agent 接着跑,需要你决定的事推到手机上,点一下回复、验收或选方案,它就继续往下做。
技术栈
桌面端是 Electron + React,本地数据用 SQLite(better-sqlite3),Agent 进程通过 node-pty 托管;手机端和 Web 远控共用一套 React 代码,用 Capacitor 打包成 App。
我自己是怎么用它的
说几个真实在跑的场景:
- 每隔几个小时自动巡检 V2EX、Hacker News、52pojie、linux.do 的热帖,筛出和 AI 编程相关的条目汇总给我;
- 视频和文章的多平台发布:一个平台一个子 Agent 并行跑,结果统一回写;
- 日常开发:一边让一个 Agent 修 bug,一边让另一个 Agent 审上一个的改动。
这些流程都是在 SpectrAI 里一步步搭起来的,后面会挑有意思的拆开写。
项目地址
- 官网 / 下载:guangpu.cc (Windows / macOS / Linux)
- 免费版开箱即用;组团队、定时、手机远程拍板这些在付费档里
如果你也在同时用多个 AI 编程工具,欢迎在评论区聊聊你是怎么管的,踩过的坑我也很想听。