Claude Code,用控制栏取代滚动的日志
真正的 Claude Code,带着你的技能、你的记忆和你的权限,运行在窗口的一个区块里。上方是它对自己了解的一切,画成了鼠标能用的菜单。
为什么做 Claude Code 桌面应用是错误方向,应该做什么
每隔几周就有人开始做一个 Claude Code 桌面应用:一个聊天窗口,带着自己的客户端、自己的会话存储、自己的模型列表。这套东西能用一个月。然后 Anthropic 发布新模型、改一个参数、换个会话存放位置,这个应用就会对同一块硬盘上明明就在那儿的程序给出错误的答案,还一副理所当然的样子。
Vobuda 走另一条路:不重新实现智能体,而是接入它。控制栏下面运行的是你安装的真正的 claude 程序,带着你的技能、你的记忆、你的 MCP 服务器和你的权限。没有任何代理转发,也没有任何重新实现。我们添加的是终端做不到的那一部分:从智能体自己的文件和画面中读取它的状态,并把它放到鼠标够得着的地方。
这就是会过时的 Claude Code 图形界面和不会过时的那一种之间的区别。明天发布的模型,在 Claude Code 得知它之后就会出现在菜单里,这里不需要任何改动。
控制栏上的一切都来自它下方运行的智能体
-
Claude Code 的斜杠命令,做成菜单
它的内置命令,其中有 /compact、/clear、/model、/effort、/cost、/context、/resume、/rewind、/memory、/agents、/mcp 和 /status,每条都用你的语言列出它的作用。智能体用方向键绘制自己的菜单,鼠标根本够不到。
-
Claude Code 的技能,分组并计数
这个文件夹里实际拥有的每一个技能,按来源分组:来自 ~/.claude/skills 的你自己的技能、项目内对应文件夹里的技能、你团队的技能,以及插件带来的技能。六十个技能分布在六个来源里,这是一份你可以翻看的清单,而不是一个你得死记硬背的名字。
-
会话,按首行区分
从 ~/.claude/projects 读取,附带每个会话运行的时间。新建会开启一个会话,继续会发送 Claude Code 自己的 --continue,更早的会话则用 --resume 加上它的 id 打开。你凭第一句话来挑选一段对话,这本来就是人记住一段对话的方式。
-
模型,以及旁边的思考强度
Claude Code 的模型列表来自它自己的文件,这是最诚实的来源,并按你的账户所列的额度核对过:先是带百万 token 上下文的 Opus,最后是 Sonnet 和 Haiku。按钮上显示的是具体的值,而不是“模型”这个词:Opus 5.5,思考强度高,读取自智能体自己的状态行。在屏幕还没有任何显示之前,按钮显示的是 Claude Code 自己的 settings.json 所写的启动值。
-
计划模式,以及其他访问模式
Claude Code 的模式:自行决定、接受编辑、每一步先询问、仅规划。从它自己的屏幕上读取,并按它自己的键切换,需要按几次就按几次,而不是我们设置的某个可能悄悄和智能体实际所做不一致的选项。
三个智能体,你得知道哪一个在等你
一个小红点只能说明发生了什么,不能说明是什么,等你去看的时候,屏幕早就滚过去了。
你不在的时候发生了什么
每次智能体从工作状态变为等待状态,窗口都会保留一行记录:哪个区块、哪个智能体、被问了什么、什么时候停下的、用了多长时间。智能体面板按区块分组显示这些记录,最新的排在最前面,你还没看过的那些左边缘会有一条高亮。点一行就能跳到对应的区块。
留白,而不是瞎猜
被问了什么是从智能体自己屏幕上输入行的形状读出来的,从来不靠里面的某个词,因为智能体的界面每次发版都会变。读不出来的时候,记录会保留时间和用时,把“被问了什么”留空。不到五秒且没有提问内容的记录不会保留:那只是智能体在琢磨一次按键而已,把这些也记下来只会把真正重要的三行埋没掉。
用量上限到来时
Claude Code 可以自己等过用量上限,恢复后继续工作。如果它还没有开始这种等待,控制栏会显示一个按钮,打开 Claude Code 自己针对上限的菜单,选择权在你。Vobuda 自己不会发送任何东西。如果希望你不在时工作继续进行,可以在“设置”的“智能体”里让 Mac 保持唤醒一段你选定的时间,从半小时到十二小时。
你一动手,提示就消失
当 vobuda 不是当前最前面的窗口时,标签页上的小红点会闪烁,会播放你选的提示音,还会弹出系统通知。如果 vobuda 就在最前面则保持安静:对已经显示在屏幕上的内容还弹通知,只会教会人们把通知关掉。提示会在你在窗口里做出第一个动作时清除,一次点击、一次按键或一次滚动都算。
氛围编程,不丢线索
现在人们和智能体实际的协作方式是一个循环:描述、观察、纠正、再描述,而且往往同时在三个项目上跑三个这样的循环。循环本身没问题,出问题的是围绕它的记账工作。
你会忘记每个区块用的是哪个模型,因为一小时前你在智能体里改过一次,窗口却从来不知道。你会分不清三个智能体里哪个在等权限确认,因为三个提示看起来都一样。你会找不到昨天用的那个会话,因为要找到它就得记住一个名字而不是一句话。你还会丢掉本来要给智能体看的截图,因为保存文件再输入路径,这在一个思路正进行到一半的时候要花四个步骤。
上面这些,每一条都是智能体本来就知道、只是被终端扔掉的状态。把它读回来、画出来,就是这整个功能的全部。把截图从屏幕角落的缩略图直接拖到智能体正在运行的区块上,智能体就能拿到这张图:走的是路径走的那条路,这正是 Claude Code 希望被交付图片的方式。
读取了什么,从哪里读取
这份清单上的内容,除了斜杠命令的说明之外,没有一项是我们保存的值。每一项都是在显示的那一刻才去询问的。
| 控制栏上的内容 | 读取自 |
|---|---|
| 历史会话 | ~/.claude/projects,包含每个会话的首行内容和时间 |
| 技能 | ~/.claude/skills 以及项目内对应的文件夹,按来源分组 |
| 斜杠命令 | Claude Code 的内置命令,每条的说明由我们用你的语言写成 |
| 模型列表 | Claude Code 自己的文件,由它按服务器的指示写成,另有你账户的用量上限 |
| 思考强度 | 当前使用的模型 |
| 当前模型和思考强度 | 智能体自己的状态行,屏幕还没显示内容时以它的 settings.json 作为答案 |
| 权限模式 | Claude Code 自己的屏幕,按它自己的键来更改 |
| 继续 | 智能体自己声明的参数:Claude Code 用 --continue,Codex 用 resume --last |
一个智能体就是 agents.json 里的一段 JSON 描述,靠它的进程特征来识别,所以添加一个新智能体不需要写代码。没有声明继续参数的智能体,不会出现继续按钮。
这一部分起初是一个缺陷。窗口带着一份模型列表和一个继续标志出厂,它们写于只有一个智能体的时候,智能体增加到三个之后仍是全局的,所以打开 Codex 区块会提供 Opus、Sonnet 和 Haiku,按下继续会发送 codex --continue,Codex 会以用法错误回应。现在,从一个程序读到的任何东西都属于那个程序,只通过它去询问。Codex 的模型列表不再是我们的:菜单打开 Codex 自己的选择器,读取它显示的各行,并按下你选中的那一行,每个模型都带着它自己的强度。
vobuda 里的 Claude Code,详细说明
这是 Claude Code 的图形界面还是一个封装壳?
都不是。真正的 Claude Code 运行在一个终端区块里,vobuda 只是根据这个安装自身汇报的信息,在上方画出一条控制栏。你的技能、记忆、MCP 服务器和权限,都还是你原本拥有的那些。你和智能体之间没有我们自己的任何客户端。
怎么查看过去的 Claude Code 会话?
控制栏上的会话菜单按首行和时间列出这些会话,数据读取自 ~/.claude/projects。打开某个会话会用那个会话的 id 运行 Claude Code 自己的 --resume。点继续则运行它自己的 --continue。
能不打字就切换 Claude Code 的模型吗?
可以。模型按钮显示正在使用的模型,并打开 Claude Code 自己的文件所说你的账户可以使用的模型,带百万 token 上下文的 Opus 排在最前,Sonnet 和 Haiku 在后。旁边的思考强度按钮显示当前强度,并提供当前模型支持的选项。两者都持续读取智能体的状态行,所以在智能体里切换模型会更新按钮,而不是让按钮说谎。
它会显示 Claude Code 的技能吗?
它会列出文件夹里实际拥有的每一个技能,按来源分组并计数,方便你翻看,而不用去记名字。它只读取文件夹内容,不安装、不发布、也不托管任何东西。
能同时运行 Claude Code 和 Codex 吗?
可以,可以在同一个窗口的两个区块里运行,也可以在两个标签页里运行,各自的控制栏读取各自的智能体。两者实际使用上的差异可以在对比页面查看。
本地模型呢?
通过 Ollama 使用的本地模型,只是 agents.json 里的一条记录,不需要写代码,这正是把智能体设计成一段 JSON 描述的意义所在。
vobuda 会看到我的对话内容吗?
它读取你磁盘上智能体自己的文件来绘制菜单,你的对话不会经过我们去往任何地方。它对你的 Claude 账户发出的唯一请求是查询用量上限:控制栏显示期间每五分钟一次,用 Claude Code 保存在你钥匙串里的登录状态向 Anthropic 询问,令牌只会交给 Anthropic。我们这边没有账户,中间也没有我们的服务器。
给你已经在用的智能体装一条控制栏
免费使用,无需账号,底层运行的就是你自己安装的那个智能体。
curl -fsSL https://vobuda.com/install.sh | sh