← 全部极客知识库

主流 Agent 入门教程 / CodeBuddy

12. 桌面版与插件版

原文备份 · 第 14 / 16 篇 · 查看极客时间原知识库 ↗

本篇目录 · 8 节

来源:CodeBuddy

前面十章都在终端里。这一章换个场景。

不是说 CLI 不够好——而是它并不总是最合适的工具。用对工具的前提是知道每个工具擅长什么。

什么时候该从 CLI 切到桌面版

你在干什么 该用哪个 为什么
批量改几十个文件 CLI 脚本化、可重放、能接 CI
接进流水线 / 定时任务 CLI 只有命令行能被调用
在服务器或容器里干活 CLI 没有图形界面
想看着 diff 一点点改 Desktop / 插件 可视化 diff 比终端里读 patch 舒服得多
断点调试、看变量 Desktop / 插件 CLI 里你只能靠 print 和日志
从零做一个带界面的东西 Desktop 有预览,能边看边调
边写边要补全 插件 补全必须在编辑器里
设计稿转代码 Desktop 需要上传设计稿和可视图

一句话的判断标准:要"看"和"点"的,用桌面版或插件;要"批量"和"自动"的,用 CLI。

装 Desktop

macOS

  1. 打开官网下载页,下载 macOS 版安装包(.dmg)
  2. 双击打开,把图标拖进 Applications
  3. 首次打开如果提示"来自身份不明的开发者",去「系统设置 → 隐私与安全性」里点"仍要打开"
  4. 启动后按提示登录(和 CLI 一样的几种登录方式)

Windows

  1. 下载 Windows 版安装程序(.exe)
  2. 双击运行,按向导下一步
  3. 如果 SmartScreen 弹窗,点"更多信息 → 仍要运行"
  4. 启动后登录

Apple 芯片的 Mac 和 Intel 的 Mac 安装包不一样,下载时注意选对。不确定自己是哪一种:左上角苹果图标 → 关于本机,看"芯片"那一行。

WSL2 用户:Desktop 是 Windows 程序,装在 Windows 侧。它可以直接打开 WSL 里的项目目录——启动后选择"打开文件夹"时,WSL 的项目路径在 \\wsl$\Ubuntu\home\你\... 下面(或者在 WSL 终端里敲 explorer.exe . 直接用 Windows 资源管理器打开当前目录,再拖进去)。

界面长什么样

第一次打开你会看到三块区域:

  • 左侧:文件树 + 会话列表
  • 中间:对话区(和 CLI 里一样,用自然语言说需求)
  • 右侧/下方:结果区——代码 diff、文件列表、预览

和 CLI 最大的区别有两个:

一是 diff 是可视化的。 CLI 里你看到的是文本 patch,这里你能看到并排的旧/新代码,能一行一行地点"保留"或"撤销"。改错了一行,不用整个推翻。

二是能真的调试。 它有运行环境,能打断点、看变量、看调用栈。CLI 里遇到复杂逻辑问题,你只能加 print 再跑一遍;这里可以直接停在那儿看。

同一个案例在 Desktop 里做一遍

我们把第 4 章那个"接手陌生仓库"在 Desktop 里重做一次,你就能感受到差别了。

第一步:打开项目。 启动 Desktop,选择"打开文件夹",选 ~/playground/legacy-repo(或你自己的项目)。

第二步:建记忆。 在对话框里输入:

/init

和 CLI 里完全一样。CODEBUDDY.md 会生成在同一个位置——这是关键:三端共享同一份项目记忆。

第三步:让它考古。

读一遍这个项目,告诉我它干什么、怎么启动、有哪些隐患。
先不要改代码。

第四步:看 diff。 让它修 Flask 那个 before_first_request 的问题。改完之后,右侧结果区会显示改动的文件列表,点进去能看到并排 diff。你可以逐行决定要还是不要。

对比一下两种体验:

CLI Desktop
建记忆 /init 一样
看改动 git diff(文本 patch) 并排可视化 diff,可逐行取舍
确认命令 弹一个 Y/n 有命令执行面板,能看到完整命令再决定
验证启动 自己在终端跑 可以直接点运行、看输出、打断点
检查改动范围 git status 结果区直接列出所有被改的文件

哪个更好? 取决于你在干什么。这个案例里 Desktop 更舒服——因为你主要是在"看"和"验证"。但如果你的任务是"把两百个文件的 class 组件改成函数组件",CLI 的脚本化和可重放就是决定性的优势。

三端怎么配合

共享的部分:

CODEBUDDY.md                   三端都读
.codebuddy/rules/              三端都读
.codebuddy/settings.json       三端都读
.codebuddy/agents/             三端都读

所以你在 CLI 里建立的规矩,切到 Desktop 里照样生效——这就是第 10、11 章那套配置最值钱的地方,它不绑工具。

具体说:项目级的 CODEBUDDY.md、.codebuddy/rules/、.codebuddy/agents/、.codebuddy/skills/ 三端都读。唯一的例外是 CodeBuddy 自己的 Hooks(第 11.4 节)——那是 CLI 运行时的机制,Desktop 有自己的执行环境,hooks 不一定会被触发。如果你依赖某个 hook 做安全拦截,跨端时要重新验证一遍,别默认它在那边也生效。

不共享的部分:

~/.codebuddy/CODEBUDDY.md      用户级,跟着机器走,但三端在同一台机器上都读
会话历史                       CLI 的 /resume 和 Desktop 的会话列表是两套

会话历史不互通,这是当前的现实——你不能在终端里接着桌面版的会话继续聊。

我的实际用法,供你参考:

  • 日常写代码:插件(在编辑器里补全和问答最顺)
  • 批量改动、接 CI、服务器上干活:CLI
  • 接手陌生项目、做原型、需要调试或预览:Desktop
  • 项目规矩:写在 .codebuddy/ 里,三端共享

不需要忠诚于某一个。需要什么拿什么。

生态能力简介

Desktop 版有些能力是 CLI 没有的,简单提一下,用不用看你:

  • 设计稿转代码:上传 Figma/图片设计稿,生成前端代码
  • 后端集成:接 CloudBase、Supabase 这类托管后端,做带数据存储的应用
  • 一键部署:做完直接发布成可访问的链接
  • 可视化调试:前面说过了

这些能力面向的是"从零做一个能用的应用"这个场景,和 CLI 面向的"在既有代码库上干活"是两条路。

选择建议

你是谁 建议
后端 / 全栈开发者,日常在既有仓库里改 CLI 为主,插件做补全
前端开发者,经常做界面 插件为主,Desktop 做原型
DevOps / SRE CLI,几乎不用别的
产品 / 设计 / 编程初学者 Desktop
学生 / 自学编程 Desktop 入门,熟练后转 CLI

如果你不知道选哪个:先用 Desktop(门槛最低),等你需要"批量改文件"或者"接进自动化"的时候,自然就会用到 CLI。到时候回来翻第 2、3 章就行。

常见坑

Desktop 里改了代码,CLI 里看不到。 不存在这个问题——同一个文件系统,同一份 git 仓库。只是两边的会话历史不互通。

规则在 Desktop 里没生效。 确认规则文件在 .codebuddy/rules/(项目级)而不是只有用户级。项目级的三端都读。

WSL 里的项目打开很慢。 可能是因为路径经过了网络映射。把项目放在 WSL 自己的文件系统里,通过 \\wsl$\... 路径打开,不要放在 /mnt/c/。

插件版和 Desktop 版冲突。 不冲突,它们是独立的。但同一个项目里三个工具同时改文件容易打架——同一时间只用一个工具改代码。


最后一章,把常用的东西整理成速查表。