可算找到一个能统一管理所有 Agent 还不用额外订阅的开源项目了!

谁说没有原生态的 Agent OS 的

电脑里的 Agent 就跟充电线一样,

没人会觉得自己充电线多吧,我也一样。

Codex 一个窗口,Claude Code 一个窗口,Gemini,Hermes 也各有各的界面。

窗口越开越多,文件和对话记录越传越散。

有时候我都分不清,到底是我在用 Agent,还是 Agent 把我当复制黏贴的人工客服了。

想找上下文,要翻历史对话。

想看任务进度,又要切回另一个窗口。

到了交付阶段,文档在这里,图片在那里,网页还跑在终端里。。。。

所以我天天在 ai news radar 里刷呀刷,真刷出了个新的开源项目,Tutti。

光看 Readme 的时候,我以为它又是一套给 Agent 套 GUI 的桌面壳,实际上它提供了一个实时共享的工作空间,我所有 agent 可以共享上下文,文件,应用和任务。

用人话说,Tutti 不是又一个新 Agent,是给我们已经在用的 Agent,订阅和 Skills,搭了一个统一管理的电脑 AI 工作台,也就是 Agent OS。

所以说,Tutti 更像是夹在人,Agent 和项目文件之间的一层综合工作台。

对话的时候,该用 Codex 用 Codex,该跑 Claude Code 跑 Claude Code。

我们原有的一切订阅,以及 Agent 本身的使用方式都不用变。

有了 Tutti 之后,我项目跑一半,想要查从哪里重新开始,该调用哪个 Agent,输入输出的文件放在哪里,这些零碎的信息都在一个工作目录里能看到。

这才是我觉得 Tutti 值得单独拿出来聊的地方。

之前我们管理的是一个个 Agent 对话窗口,

Tutti 想让我们直接管理一个完整的 AI Workspace,我们常用的 Agent 就直接以 App 的形式摆在桌面上,Claude Code、Codex,点开就是对话窗口,还能同时开好几个,置灰的 OpenClaw 和 Hermes Agent 应该也很快就会支持上了。至于这些 Agent 里用到的模型,可以走订阅,或者去设置里填个 API Key 都接入进来。

那有了多 Agent 登入后,

多 Agent 协作的任务能力也自然有了。

先看第一个很好用的场景,用 @ 调用指定 Agent,我还担心用 fable5 API 之后要怎么省额度,那现在就完全可以让 claude code 去做分析,然后在同一个对话里调用 GPT Image2。

帮我用 [@claude-code] 做当前 folder 的文档分析和文件夹设计规划,然后再用 [@Codex] 生成一张当前文件夹的风格示意图 [@AI Canvas]

然后就是可以在对话里用 @,把 Agent,Skill,或者需求文档一起带上。

比方说我让 Codex 接着 Claude Code 的历史对话继续做,这时候 codex 拿到的就不再是一份模型总结过的交接文档,这非常容易漏掉东西,相反 codex 是直接进入到同一个项目的现场,快速浏览前面已经发生过什么。

比方我在 Codex 里跑任务时,它可以自己拉起 Claude Code 窗口,拿到结果后,再由 Codex 接着当前项目继续做。后面如果需要网页能力,也能继续调用 Agent Browser 这类 skill,把查资料,看页面,改文件串起来。

以及我们要求了图片生成,它也自动叫上了 AI Canvas Skill,相当于是原生的一个 Agent 画布,可以让生图的模型有个纯创作空间

最后,任务,应用,运行状态和产物,都留在同一个工作空间里。

除了这个,Tutti 还把各种 Skill 做成了工作空间里的 App,

区别在于,一般来说 Skills 的定位是藏在后台的一段工具能力,我们不一定看得见它做了什么。但 Tutti 的 App 是可视化的,有界面,有文件,有状态,还有对应的产物。

AI Doc,AI Canvas,Prototype Design,AI PPT,每个打开都有自己的界面,文件和状态,也就是说 skill 运行的时候我们是可以半路人工干涉的。

我在 AI Canvas 里生了一张主视觉,Codex 就能直接引用这张图做页面。我在 AI PPT 里写了产品介绍,@ 一下 Agent 就能读完接着出网页。

所有产物留在同一个工作空间,能被看见,能被引用,能被继续加工。 不用下载,不用找文件,不用手动搬给下一个 Agent。

反正玩法是很灵活,

我可以先在 AI Canvas 里生成一张主视觉,然后让 Agent 直接引用这张图继续做页面。我可以自己在 AI Doc 里写产品介绍,然后让 Codex 读这份文档,接着生成网页或者 PPT。甚至临时描述一句需求,它也能造一个自己的小 App 出来。

是时候轮到我最关心的价格环节了。

Tutti 有个叫 BYO Subscriptions 的机制,Bring Your Own Subscriptions。简单来说,它会自动扫描本机装好的 Codex、Claude Code 这些 CLI,检测到之后,Tutti 里所有用到 Agent 能力的应用,跑的都是你已经买过的那份订阅,不用为同一份模型能力再付一遍钱。

那那那,这才叫开源项目嘛,这才叫 Agent OS 嘛

它的定位就是一个工作区,是把我已经买好的 Agent 能力组织起来,而不是换个壳再卖我一遍。

最后的最后,Tutti 还有两个能力值得单独说一下。

一个叫 Goal to Tasks。

我不用一步步拆任务,直接告诉它你要做什么,它自动拆成几个子任务, 决定哪个 Agent 做哪件事。

另一个叫 Control Center,相当于一个总控台。

所有 Agent 的对话,正在跑的任务,等你审批的操作,全收在一个界面里。

不用开五个 Tab 来回切,谁在跑,谁卡了,谁在等审核,一屏批完。

比如我们每次发现一个好玩的东西想跟大家分享,都得准备一堆东西,公众号文,落地页,口播脚本等等等等。

每次都得重新跟 AI 说一遍目标,拆分,谁做什么,那这一整个任务完全可以沉淀成一个工作流。

帮我把我的好物分享做成可以复用的工作流发布包 发布包包括: 一篇公众号介绍文; 一个「切窗口地狱 vs TuttiWorkspace」交互落地页; 一张 16:9 主视觉; 一套 6 页发布 deck; 一段 30 秒口播脚本。 请把它拆成文案,原型,主视觉,前端实现,PPT 和口播六类任务。 文案交给 AI Doc,原型交给 Prototype Design,主视觉交给 AI Canvas,前端交给 Codex,发布 deck 交给 AI PPT,口播脚本交给当前对话。 每个任务开始前都需要我确认,不要自动执行敏感操作。

我就写了一条提示语把目标丢进去,Goal to Tasks 直接拆好,文案交 AI Doc,主视觉交 AI Canvas,前端交 Codex,deck 交 AI PPT。Control Center 就负责当我秘书,顶着进度我就当个无情的确认机器。

都感觉自己的 14 寸电脑屏幕终于够用了,毕竟只放一个窗口用来盯进度就行了。

最后的最后,期待一下 Tutti 的 Readme 里提到的后续 VM 版,

刚刚我们测试的开源项目的是 Tutti,Agent 在本地运行,Workspace 也以本地为主,更适合一个人统一管理多个 Agent,多个订阅和多个 App。

如果是 Tutti VM 的话,Agent 还在本地,照样是不吃订阅压力,但我们正在聊的,正在跑的,已经做好的工作状态,会进入一个云端共享空间。

换句话说,就是补上了跨设备,跨人,跨 Agent 的协作能力。

如果说现在的 Tutti,

解决的是我一个人怎么不被 Agent 窗口淹没。

那之后的 VM 想解决的就是,

一群人怎么一起管理一个正在跑的 AI 项目。

我现在用 Agent,干的最多的动作,是翻窗口。

左边一个聊天框问进度,

右边一个文件夹翻文件,

中间还得切到项目管理工具,

看看任务到底跑哪了。

Agent 时代最荒谬的画面可能就是这个了,

你拥有了一个无比聪明的数字同事,结果你们的协作方式,还停留在互相丢文件、互相贴链接、互相问一句上次聊到哪了。。。

这也太原始了吧。

所以我一直期待有一天,所有的文件、所有的 App,都整合成一个 Agent 入口。

Agent 跟我们共享同一个工作空间,用同一套 App,看同一份进度。

它不用在那头闷头跑,我也不用在这头干瞪眼,我们是真的坐在同一张桌子前干活。

到那一天,

我们和 AI 的沟通,

大概也就没什么隔阂了。