BaseHalf
全部文章

本地文件夹比又一个聊天窗口更适合做 AI 工作区

把 Claude Code、Codex 和你的项目放在同一个普通文件夹里。画布把它画成地图,连接写在文件里,工作才能一点点积累。

我们曾经为同一个仓库不停开新聊天。一个聊失败的测试,一个聊设计笔记,一个只是“问问这个函数”。每条线程都从零开始。我们粘贴路径、粘贴片段,标签页一关,线索就没了。

真正的工作从来不在那些线程里。它在磁盘上的文件夹里:源码、笔记、README、git 历史。聊天只是临时看一眼这个文件夹的窗口。我们后来认定:文件夹才该是工作区,Agent 应该走进来。

BaseHalf 就是为此而做的。在 Apple Silicon 的 Mac 上打开一个普通项目文件夹,它会变成一张画布。文件和子文件夹显示为卡片。右侧的 Agent Area 可以跑 Claude Code、Codex,或一个终端。布局元数据放在 .bh/ 里,不进 git。你的文件仍然是普通文件。

BaseHalf 打开一个项目文件夹:左侧是文件列表,中间是连着笔记的画布,右侧 Agent Area 里是 Claude Code 会话。

聊天会忘,文件夹会记得

聊天适合单次问答。问一句,得一句,然后走开。需要持续推进的工作要另一样东西:上周做的决定、解释测试为何不稳的笔记、已经知道自己来自哪三份资料的草稿。

聊天工作区文件夹工作区
真相来源线程,直到它滑出视野磁盘上的文件
Agent 读什么你粘进提示里的内容你眼前同一批文件
连续性重来,或翻历史Git、搜索,以及画布上的地图
“这个”指什么你再报一次文件名选中内容会记下来给 Agent 看

我们不再把提示框当成工作堆积的地方。文件夹本来就在干这件事。BaseHalf 只是让文件夹变成一张能读的地图,并把 Agent 放在旁边。

Agent 能读到的连接

在画布上,从一张卡片连到另一张,不是装饰。BaseHalf 会把这条关系写进目标文件顶部的纯文本 upstream 列表。Git 看得到这次改动。Claude Code 和 Codex 打开文件时,看到的是同一份列表。这段关系不必再被塞进提示里。

我们在意这个细节,因为 Agent 读文件的本事,往往强过记住三句之前你说过什么。关系写在文件里,下一轮会话一开始就带着它。

选中也是同一套思路。选中一张卡片或一段文字,问“这个”,BaseHalf 会把你指的东西记在 skill 告诉 Agent 去看的地方。我们从不把整个工作区灌进提示。Agent 自己打开它需要的文件。

人和 Agent 共用一个地方

Agent Area 不是另外拴上的产品。它就是同一扇窗口的右侧:Claude Code 或 Codex 的命令行或精选扩展,再加上普通终端。会话跑着的时候,你可以挪卡片。文件看起来对了,就提交。画布和 Agent 共用一个文件夹,所以“想明白”和“交出去”之间没有导出这一步。

一次性的聊天逼你每天早上重建上下文。本地文件夹把上下文留在工具们本来就认识的地方:Finder、git、搜索,以及现在这张 Agent 也能读的画布。这就是我们想要的本地优先 AI 工作区,也是你打开文件夹时 BaseHalf 打开的东西。