乐于分享
好东西不私藏

不用再复制 AI 上下文?我研究了新开源工具 Tutti

不用再复制 AI 上下文?我研究了新开源工具 Tutti

写作时间:2026-07-09观察对象:开源项目 tutti-os/tutti观察方式:官网与 GitHub 信息 + 本地源码阅读 + 局部测试验证。重要说明:我还没有安装官方桌面 App,也没有把真实项目交给它使用。这是一篇“初见观察”,不是正式推荐。

先说结论

Tutti 是一个值得关注的新工具。

它不是又一个普通的 AI 聊天窗口,也不只是“把 OpenAI、Claude、Gemini 放进一个界面”的多模型客户端。它更像一个给 AI Agent 用的共享工作台:让 Codex、Claude Code 这类工具,以及图片、文档、设计、PPT 等应用产物,尽量在同一个工作空间里互相看见、互相接续。

这件事让我兴奋,因为它瞄准的是今天 AI 重度用户最真实的痛点:我们不是没有好模型,而是每天都在不同 AI 工具之间搬运上下文。

但我现在不会建议大家立刻把主力项目放进去。因为它还非常新,开发节奏很快,权限面也很大。对普通用户来说,现在更适合观察和小范围试用;对有开发能力的人来说,它倒是一个很好的“非零基础研究样本”。

如果你第一次听说 Tutti,可以先这样理解

我们现在用 AI,已经不是只打开一个聊天框了。

一个稍微复杂一点的工作,可能会变成这样:

  1. 1. 先让 Claude Code 讨论产品方案;
  2. 2. 再让 Codex 接着写代码;
  3. 3. 中间可能还要打开一个设计工具生成 UI;
  4. 4. 再打开一个图片工具生成素材;
  5. 5. 最后把文档、截图、代码、提示词、背景信息复制来复制去。

模型越来越强,但人反而成了“AI 工具之间的搬运工”

Tutti 想解决的就是这件事。

官方对它的定位是一个实时共享工作空间:context、files、apps、tasks 都连接在一起。换成更直白的话说,它希望让不同 AI Agent 不再各干各的,而是在同一个工作台上接力。

Tutti 试图解决的痛点:多个 AI 工具之间反复复制上下文

上面这张官方图讲得很直观:今天很多 AI 工具都很强,但它们像一个个孤岛。用户要在孤岛之间搬运文档、图片、代码、任务和上下文。Tutti 的目标,就是把这些东西放进一个共享空间。

它大概怎么用?

按照官方目前的介绍,Tutti 的基本使用方式可以理解成几步。

第一,打开 Tutti 桌面端,进入一个 workspace。

它不是替代 Codex 或 Claude Code,而是包在这些工具外面,作为它们共享上下文的工作区。

Tutti 的实时共享工作空间

第二,连接你已经在用的 agent 订阅。

官方目前强调的是复用用户已有的 Claude Code、Codex 等订阅,而不是再卖一套模型能力。也就是说,Tutti 更像是工作台和连接层,不是单纯的模型供应商。

第三,在同一个工作区里让不同 agent 接力。

比如 Claude Code 先写了需求和接口思路,Codex 后面要接着做前端。传统方式是你复制一大段背景给 Codex。Tutti 想做的是:Codex 可以直接引用 Claude Code 的历史会话、文件、应用调用和任务。

这就是官方反复强调的 Big @。

Big @:在 Codex 中引用 Claude Code 的历史会话、文件、应用和任务

第四,用 + 或应用中心引用产物。

如果某个设计 app 生成了 UI 草稿,文档 app 生成了文本,PPT app 生成了页面,这些产物不必下载、上传、再解释一遍,而是可以留在 workspace 里,被下一个 agent 继续使用。

第五,把一个目标拆成多个任务,再分给不同 agent。

官方展示了从目标到任务的拆解界面。这个方向很重要,因为多个 agent 真正有用的时候,不只是“谁回答一句话”,而是“谁负责哪一段任务,哪些任务可以并行,哪些任务要等前置结果”。

从目标拆成任务,再分配给不同 Agent

第六,用控制中心看当前所有 agent 的状态。

多个 agent 同时工作时,最容易混乱的是:谁在跑?谁等我批准?谁已经完成?谁失败了?Tutti 的 Control Center 试图把这些状态集中起来。

控制中心:集中查看待审批、运行中和已完成的 agent 消息

如果这些能力真的稳定,Tutti 解决的就不是“聊天更好看”,而是**“复杂 AI 工作流能不能少一点人肉搬运”**。

它到底和普通多模型客户端有什么不同?

GitHub 上早就有很多成熟的 AI 客户端。

比如 Open WebUI、LibreChat、AnythingLLM、Chatbox、LobeChat、Jan,它们的 stars 已经从几万到十几万不等。这些项目很强,但它们主要解决的是另一类问题:

  • • 接入多个模型;
  • • 管理聊天;
  • • 做本地模型或知识库;
  • • 搭一个更好用的 ChatGPT/AI client。

Tutti 不完全在这个赛道里。

Tutti 的核心不是“把多个模型放到一个聊天框里”。它更像一个 agent 工作台:Codex、Claude Code 这样的本地 agent 可以在里面工作,应用生成的产物也可以被下一个 agent 引用,任务和文件也能进入同一个工作空间。

这是一种更接近“AI 工作流操作系统”的方向。

当然,“方向特别”不等于“已经成熟”。这两件事必须分开。

我为什么觉得它值得高兴?

因为它抓住了今天 AI 重度用户最烦的一件事:不是模型不够强,而是工作流太碎。

现在很多 AI 工具都在变强,但用户的日常体验反而经常变成:

  1. 1. 在 A 工具里聊出方案;
  2. 2. 复制一大段上下文;
  3. 3. 贴到 B 工具;
  4. 4. 解释刚才发生了什么;
  5. 5. 下载一个产物;
  6. 6. 上传到另一个地方;
  7. 7. 再解释它该怎么用。

说是让 AI 帮你工作,结果你成了 AI 之间的项目经理和搬运工。

Tutti 的产品直觉是:如果未来我们真的会同时使用多个 agent,那么它们不能永远是孤岛。

这也是它最有价值的地方。

从代码看,它不是一个玩具 Demo

我本地读了源码。Tutti 不是一个简单网页壳。

它是一个 TypeScript + Go 的 monorepo,大体结构是:

  • • apps/desktop:Electron 桌面应用;
  • • services/tuttid:本地 daemon,也是核心业务层;
  • • apps/cli:命令行入口;
  • • packages/*:agent、workspace、events、UI、client 等共享包;
  • • docs/architecture:架构文档和设计决策。

它的本地 daemon 负责很多核心能力,包括 agent session、workspace files、terminal、workspace apps、事件流、凭据管理等。

这说明它不是只在 README 里讲愿景,代码里确实在搭一个完整系统。

而且项目非常活跃。我今天查看时,仓库创建时间还不到一个月,已经有约 1.5k stars、100 多个 forks。近 7 天本地主分支记录约 796 个 commits,近 30 天约 2447 个 commits。release 页面也已经有很多版本和 release candidate。

这既是好消息,也是风险。

好消息是:项目不是没人维护。

风险是:它还在高速变形期。

它目前真正可能解决什么?

我认为它现在最有希望先解决三类问题。

第一,减少 agent 之间的上下文搬运。

如果 Claude Code 和 Codex 的会话、产物、任务能够在同一个 workspace 里被引用,那用户就不必反复复制长上下文。

第二,把“应用产物”变成 agent 可以继续消费的材料。

比如设计应用生成了原型,文档应用生成了草稿,图片应用生成了素材。传统方式是人手动下载、上传、解释;Tutti 想把这些产物留在同一个工作区里,后续 agent 可以接着用。

第三,给复杂 AI 工作流提供一个可视化控制中心。

多个 agent 同时工作时,最怕不知道谁在做什么、哪个任务等审批、哪里失败了。Tutti 的方向是把这些状态集中呈现。

如果它做成了,确实会降低 AI 重度用户的操作摩擦。

如果用一张图概括我对 Tutti 的初见印象,大概就是这样:它试图把分散的 AI 工具放到同一个工作台上。但真正值得关注的,不只是它能不能连接 Codex 和 Claude,而是它能不能把上下文、任务、文件和安全边界都处理好。

Tutti 初见观察研究地图

这张图更像是“研究地图”,不是正式证据。真正的判断仍然要回到项目源码、官方说明和后续实际试用。

但为什么我现在仍然谨慎?

因为这类工具天然有很高的权限。

普通聊天客户端最多拿到你的输入和模型 API。Tutti 这类 agent 工作台不一样。它需要接触:

  • • 本地项目文件;
  • • agent 会话;
  • • 本地终端;
  • • workspace app;
  • • 模型凭据;
  • • 有些情况下还可能接触电脑控制能力。

这不是小权限。

我看代码时也确认了这些高权限面是真实存在的。比如本地 terminal 会通过 pty 启动 shell;workspace app 会作为本地进程启动;computer-use 能力需要 macOS Accessibility 和 Screen Recording 权限。

这些能力本身不是坏事。没有这些能力,agent 工作台很难真正有用。

能力越大,安全边界越重要

安全上有哪些正向信号?

它不是完全没安全意识。

我看到几个正向设计:

  • • 本地 daemon 通过 loopback 暴露,并要求 bearer token;
  • • listener info 文件使用较严格的本地文件权限;
  • • workspace app 的 server token 有路由级限制;
  • • 文件访问有 workspace root 限制;
  • • 对 symlink escape 有测试;
  • • macOS 的一些敏感目录不会被自动预取;
  • • computer-use 会先检查 Accessibility 和 Screen Recording 权限。

这些都是认真做本地工具时应该有的东西。

安全上我仍然担心什么?

第一,凭据保护还不够让我放心。

我看到 managed credentials 使用 AES-GCM 加密,但默认密钥来自 hostname + userConfigDir 这类可推导信息,除非用户额外设置

TUTTI_MANAGED_CREDENTIAL_SECRET。这比明文好,但不是 macOS Keychain 级别。

如果只是玩具项目,问题不大。如果是重要 API key 或敏感项目,我会更谨慎。

第二,workspace app 和 agent 的权限边界还需要继续观察。

只要一个系统允许本地 app、agent、terminal、文件和凭据发生交互,就必须非常清楚地回答:

  • • 谁可以读哪些文件?
  • • 谁可以调用哪些模型?
  • • 谁可以启动终端?
  • • 哪些操作必须用户确认?
  • • app 产物和 agent 上下文会保存在哪里?
  • • 卸载时怎么清理?
  • • 从 Tutti 迁回 Codex/Claude Code 是否方便?

这些问题,不是看一眼 README 就能放心的。

第三,它太新了。

项目活跃当然好,但对于普通用户来说,高速开发也意味着 bug、接口变化、工作流变化都会更多。今天能用的方式,下周可能就变了。

普通 AI 爱好者现在应该怎么做?

我的建议是:可以关注,但不要急着迁移主力工作流

如果你只是好奇,可以等一等,或者拿一个完全非敏感的小项目试用。不要一上来就:

  • • 放公司项目;
  • • 放隐私资料;
  • • 接重要 API key;
  • • 给它电脑控制权限;
  • • 把主力开发流程搬进去。

更合理的试用方式是:

  1. 1. 只用一个玩具项目;
  2. 2. 只测试 Codex 和 Claude Code 之间是否真的少复制上下文;
  3. 3. 不接敏感凭据;
  4. 4. 测完就停,观察它的数据保存和导出方式;
  5. 5. 确认好卸载和清理路径。

如果你没有开发能力,我更建议把它当成一个“方向观察样本”,而不是马上替换现有工具。

有开发能力的人值得研究吗?

我觉得值得。

原因不是它已经完美,而是它不是从零开始的空想。它已经有:

  • • 桌面端;
  • • 本地 daemon;
  • • agent provider 抽象;
  • • CLI;
  • • workspace 文件系统;
  • • app runtime;
  • • event stream;
  • • 文档和架构约束。

对开发者来说,这类项目很有研究价值。你可以从里面看到一个问题:如果未来不只是“一个聊天窗口”,而是“多个 agent、多个应用、多个产物、多个任务”同时存在,软件架构应该怎么组织?

这比单纯研究一个 prompt 工具更有启发。

但如果要贡献代码,我建议先做外围:

  • • 文档;
  • • 安全审计;
  • • 安装体验;
  • • 数据导出;
  • • 权限说明;
  • • 非敏感示例工作流;
  • • 中文使用复盘。

不要一开始就深改核心 daemon。它现在变化太快,追上游会很累。

我现在会不会安装官方 App?

我自己的选择是:暂时不安装到主力环境。

我会先观察 1 到 2 周,看几个信号:

  • • 是否出现连续稳定 release,而不是大量 rc;
  • • Codex / Claude Code 接力是否有稳定教程;
  • • 导出、迁移、卸载说明是否清楚;
  • • 凭据安全是否加强;
  • • open issues 里会话错乱、权限异常、agent runtime 不稳定的问题是否减少;
  • • 是否有更多真实用户反馈。

如果这些信号变好,我会用一个非敏感项目小范围试用。

你也可以自己去看

如果你第一次听说 Tutti,我建议不要只看别人转述,至少看三个地方:

  • • 官网:tutti.sh
  • • GitHub 仓库:tutti-os/tutti
  • • Release 页面:tutti releases

看官网,主要是理解它想解决什么问题;看 README,主要是看它如何描述自己的核心能力;看 releases 和 issues,主要是判断它现在到底处在“快速试验期”还是“稳定可用期”。

我的建议是:先把它当成一个值得研究的新方向,而不是马上当成一个可以替代现有工作流的成熟产品

另外,YouTube 上也有第三方演示视频在讲 Tutti 如何连接 Claude Code 和 Codex。它适合帮助第一次接触的人快速理解产品形态,但我不把它当成官方证据。本文的判断仍主要基于 Tutti 官网、GitHub README、本地源码和官方仓库素材。

  • • 第三方演示参考:Tutti: one shared workspace for Claude Code and Codex, no more copy-pasting between agents

后面如果我自己用一个非敏感项目试用 Tutti,再补录一段 真实交互录屏,分享给大家。

最后:我们为什么应该既高兴又怀疑?

我喜欢 Tutti 这种项目,因为它不是在做“更大的聊天框”,而是在试图回答一个更前沿的问题:

当我们同时拥有很多 AI agent 时,它们应该怎样一起工作?

这个问题一定会越来越重要。

今天很多 AI 工具都在强调模型能力,但真正落地时,很多痛点来自工作流:上下文怎么流转,文件怎么传递,任务怎么接续,产物怎么复用,权限怎么控制,失败怎么恢复。

Tutti 正好切中了这个问题。

所以它值得高兴。

但也正因为它切的是真实工作流,而不只是聊天,所以它必须接受更严格的安全和稳定性审视。

一个能管理 agent、文件、终端、应用、凭据的工具,如果做好了,会很有价值;如果边界没做好,也可能带来很大风险。

我的当前判断是:

Tutti 值得关注,值得研究,值得开发者学习和参与;但普通用户现在最好先小心观察,不要急着把主力项目交给它。

一个真正好的 AI 工作台,最后拼的不只是“能不能把多个 agent 放在一个界面里”,而是能不能在减少人类搬运成本的同时,把安全、稳定、可迁移、可解释这些基本问题解决好。

这才是它能不能走远的关键。

参考信息

  • • Tutti 官网:tutti.sh
  • • GitHub 仓库:tutti-os/tutti
  • • 官方中文素材目录:docs/assets/zh
  • • Release 页面:tutti releases
  • • Security policy:SECURITY.md