Whiteboard——为深思熟虑的软件设计打造的开源 IDE
文章摘要
Whiteboard 是 YC W26 批次团队 dev.fast 推出的开源桌面应用,定位是”让人类和 agent 在同一个工作区里共同设计软件架构”。帖子获得 396 分。创始团队是 Sid、Alex、Ketan 和 Milan 四位大学好友,他们在 Show HN 自述中说,自己怀念那种和另一位开发者开一场”白板会”、离开时对系统有深刻理解的感觉,于是给自己做了这个工具。
它怎么工作。 Whiteboard 接入你已经在用的工具,比如 Claude Code、Codex 等,并为 agent 提供一套 SDK(以及 MCP),让 agent 能在应用内的画布上画图来描述它做了什么。上手流程是:下载应用,在欢迎页连接 Claude Code、Codex 或其他编程 agent,然后让 agent”对照最新的 main 审查当前分支,并在 Whiteboard 中打开结果”。README 建议搭配 GPT-6 Sol、Claude Opus 5.5 这类在智能、成本和速度之间平衡较好的模型使用。团队最初基于 HTML artifact 做了 MVP,碰到局限后重新设计,形成了三个核心功能:
- 基于 Code OSS 构建,图与代码直接相连。 他们发现纯 HTML 工具很难把规格说明或图表和代码关联起来。在 Whiteboard 中,点击时序图、实体关系图或 agent 执行轨迹里的一段引用,都可以直接跳转到对应代码;浏览代码时开箱即有 VS Code 的快捷键和 LSP 支持。团队认为这点尤其重要,因为很多权衡往往要等第一轮实现之后才会暴露出来。
- 语义化 diff 查看器。 原始 diff 噪声太大,于是他们用 Rust 写了一个能感知 AST 的语义 diff 查看器(开源为 diffr 库),只展示和你相关的改动。默认设置下,新增的大函数会被概括成伪代码,单元测试和大段文档改动会被折叠或隐藏,这些都可以通过基于 WASM 的插件系统自定义。
- 决策日志。 他们发现很难弄清 agent 自主做了哪些决定、又如何影响一次改动,于是提供工具让 agent 查询并把自己的执行轨迹链接到白板上,让你看到自己设定的需求是如何被实现的,以及 agent 自作主张做了哪些决定。
使用场景。 据团队介绍,Salesforce 和 Modal 等公司的人已经把 Whiteboard 用作架构或规格层面改动的审查工具:一是审查自己的编程 agent 的产出——让 agent 先做出原型,再生成对应的 Whiteboard 会话来迭代设计;二是审查他人的改动——例如与 Greptile 这类自动代码审查工具组合,小改动交给自动审查,需要人类判断的改动再升级为 Whiteboard 会话。
为什么做这个。 四位创始人都曾是技术负责人,恰好在 agent 编程成为行业标准前辞职创业。在为上一个想法做 MVP 时,他们发现很难在享受 agent 编程速度红利的同时维持一个可理解的代码库;随着越来越多自己并不理解的 PR 被合并,”认知债务”(cognitive debt,这个说法来自 Geoffrey Litt 的文章《理解是新的瓶颈》)逐渐渗入,最后连他们自己都难以为系统做贡献了。
开源与商业模式。 桌面应用以 MIT 许可证发布,基于本地代码仓库运行;匿名遥测不包含代码、diff、提示词或模型输出,并可随时关闭。团队计划未来向企业收费,提供托管的 Web 版本,负责创建白板会话,并提供轨迹存储、多人协作审查等功能,但承诺一切始终可以自托管。README 还解释了为何选择直接内置(vendor)一份 Code OSS 而不是像其他分支那样维护补丁:一是编程 agent 处理补丁很吃力,二是原版 VS Code 中大量东西用不上(”如今大约 45% 的代码库是 Copilot”)。已知局限包括:目前无法在 Whiteboard 中编辑文件;对单次审查中跨多个仓库浏览的支持不佳;分享审查后的后续更新不会同步给别人。目前提供 macOS 和 Fedora Linux 版本。
HN 评论精华
帖子有 129 条评论,整体反响友好,创始团队成员(sidharthkmenon、ketan_around、thesiti92、milanb)几乎逐条回复。讨论焦点是:它到底算不算”IDE”、图表会不会与代码脱节,以及它与 Mermaid、C4 等现有方案相比有什么价值。
“不能编辑文件的 IDE”? 这是被问得最多的问题。bbor 最早指出,既然”不能编辑文件”,用”IDE”这个词可能会惹麻烦;icar、cjmcqueen 也提出同样质疑,altmanaltman 调侃这里的 IDE 大概是”I Don’t Edit”(我不编辑)。nmekala35 说自己重度使用 Cursor,看不出有什么理由换一个新 IDE。sidharthkmenon 解释说选”IDE”是因为如今大多数人几乎只用 VS Code 来审查代码,这样比较容易让人联想到用途;他们也在认真考虑加入编辑功能,但还没想清楚它该有多”agent 化”,而一旦支持编辑,产品就会滑向 Conductor、Superset 那类形态。最终团队在讨论过程中就把 GitHub 和官网上的”IDE”改成了”canvas”(画布),并强调它是配合 Cursor 或 agent 开发环境使用的补充工具。bpshaver、2001zhaozhao、jacobgold 顺势讨论了这一类新工具该叫什么——”代码导航器”、”编排器”、”agent 开发环境(ADE)”、”agent 多路复用器”等。
图表会不会与代码脱节? asdev 认为这类产品的根本问题是给团队制造了”第 N+1 个事实来源”,必然会随项目推进而过时;让 agent 自动更新又可能把设计文档退化成难以理解的垃圾,”这是软件设计中的行为和结构问题,我不认为能用软件解决”。vladzoff 也有同样担心。milanb 承认这个问题确实存在,但说自己仍然会在”必须真正理解实现”的时候用它(并不是每次改动都需要),未来的托管版本希望在同一块画布上不仅记录设计时的计划,也记录之后与 agent 的来回迭代。sidharthkmenon 说图表在设计上都附着在代码上,因此可以检测漂移。ketan_around 的回答更坦率:图表本身确实更短暂,真正持久的收获是”因为我理解了代码,所以上线的代码质量更高”,以及”让我的心智模型与代码库当前状态保持一致”。cannonpalms 也说他会更”一次性”地使用它:用 agent 开发时,他非常怀念能在脑中”看见”代码形状的感觉,信息轰炸让他记不住代码最终是怎么写的,以至于同事在会上提问他都得事后再回复。
演示图里的”幻觉”。 8organicbits 细看了演示动图,发现一个时序图里”否”分支之后标着”等待释放”,而代码显示此时上下文已经过期、应该停止而不是继续等待,”这是 LLM 开发工具在幻觉、浪费我的时间吗?”sidharthkmenon 解释那是设计阶段用的示意动图,忘了更新;真实的图都与代码关联,实际上不会出现幻觉,随后换成了一段真实会话的录屏。
和 Mermaid、C4 有什么区别? 2001zhaozhao 认为界面很干净,但不确定比让 agent 写一个简单的 Mermaid 格式文件强多少,”这更像一个功能(一个带 GUI 的 MCP),而不是一个完整产品”;nnevatie 也问 Markdown 加 Mermaid 是否已经够用。sidharthkmenon 的回答是,Markdown 的难点在于把规格和代码、diff 绑定起来,并在一个界面里顺畅跳转——Markdown 编辑器没有”跳转到定义”和好用的 diff 视图;他们接下来也会把它做成 MCP UI,让人能直接在 Codex Desktop、Superset 等工具里查看。solatic 问为什么不基于 likec4 等 C4 生态构建,ketan_around 透露他们其实有一个默认关闭的实验性”软件地图”功能,会基于 C4 画出代码库的层级架构图,并高亮 PR 中改动的节点;他认为 PlantUML、Mermaid 这类工具主要用于渲染静态图,而 Whiteboard 的价值在于交互:点击节点看代码、按流程做引导式讲解。
先看计划还是先看代码? 2001zhaozhao 认为现在的编程 agent 加自动审查在实现阶段已经有”超人级”的可靠性,未来人类的主要交互面会在规划阶段,而不是代码层面。sidharthkmenon 同意规划很重要,但他个人更看重缩小”计划”与”审查”之间的鸿沟——”没有实现的计划审查,对我来说已经不太有用了,因为关键的权衡往往要到实现时才浮现”。jenniferhooley 用亲身经历反驳”只审计划”:她在开发一款类《模拟人生》的 3D 游戏时,尝试过连续几周只审计划不审代码,结果项目崩得一塌糊涂,最后重置了几周的工作,删掉约 5 万行代码才换来同样的功能和零 bug。sippeangelo 则指出,即便是 Fable 这样的模型,一旦锁定了某个实现,后续返工时就会对刚写的代码产生”隧道视野”,把它当成真理,这时不如推倒重来。
其他反馈。 正面的:bbor 称赞”伪代码语义 diff 是个不可思议的主意”,并说这种画笔动画、边生成边流式绘图的效果”12 个月后会随处可见”;_puk 说”这么多产品发布都不告诉你它是什么,而这个看动画就立刻明白了”;nickosh 表示它以插件形式接入自己的 agent,不强制收集数据,在公司里应该很快能通过审批。质疑的:factorialboy 吐槽 macOS 安装包有 736MB,sidharthkmenon 承认这是基于 VS Code 的代价(原版 Cursor/VS Code 约 1GB,Zed 约 400MB),其中 diff 查看器就占了 138MB,未来会重写为原生应用;satwikhebbar 报告 Codex 警告”Whiteboard 需要向其创作服务器上传或暴露仓库数据”,thesiti92 解释这个”创作服务器”指的是在本机运行的 stdio MCP 服务器,一切仍在本地。很多人在催 Windows、Debian/Ubuntu、Arch(AUR)、NixOS 版本和 Copilot CLI 支持,团队表示都在路线图上。bschwindHN 发出了最尖锐的感慨:”我们是不是就这样放手,让一群机器人写所有东西,再让另一群机器人给我们’解释’?”他认为这类工具在鼓励人们放弃理解代码到底在做什么。也有几位评论者(syl5x、pftburger、mtford、ithkuil)表示自己正在做类似的东西,比如让模型为复杂功能生成可交互的”讲解器”,或做一个”导览式”代码审查 TUI,可见这是一个很多人同时在探索的方向。