跳到正文
V2EX·· 5 天前AI 评分48

Shepi 更新:新增 agent 页面分屏、Worktree 清理与通知优化

Shepi 更新: agent 旁边的一页、worktree 清理,还有更安静的通知

AI 导读

Shepi 发布 1.1.0、1.1.1 和 1.2.0 更新,新增 agent 页面分屏与 Worktree 视图,可查看各 worktree 的状态并安全清理无风险项。通知会即时提示需要处理的 agent,完成提示延后一秒并确认状态;反馈可附诊断日志,关闭确认卡片也会出现在操作位置。Shepi 需要 macOS 14 或更高版本及 Herdr 0.9.3 或更高版本。

正文

Shepi 窗口:侧边栏里 "ship usage chart" 变成琥珀色并标着 needs you ,右上角横幅写着 "web-dashboard needs you"。

Shepi (shepi.app)是 Herdr 的 Mac 原生窗口,Herdr 是让 agent 一直活着的终端运行时。从发布文章到现在,它推了三版更新:1.1.0 、1.1.1 和 1.2.0 。这次加的是这些:

  • agent 可以把刚做出来的页面作为 pane 开在自己旁边,dev server 跑在别的机器上也一样。
  • 一个 Worktree 视图,直接告诉你每个 checkout 里还留着什么,安全的那些可以一次删掉,剩下的单独决定。
  • 提示音在该响的时候立刻响,不该响的时候不响。
  • 发反馈时可以附上诊断日志;关闭确认卡片出现在你开始关闭的那个地方。

每个版本的改动逐条列在版本记录。如果你没看过发布文章,简短版依然成立:每个 agent 都在真正的终端里,在这台 Mac 上或你的服务器上,而那个需要你的会变成琥珀色。

侧边栏里 "ship usage chart" 变成琥珀色并标着 needs you ,下方卡片写着 "Wants to run bunx wrangler deploy --env staging" 和 Review 按钮,右上角横幅提示 "web-dashboard needs you"

过去的流程是这样的:agent 起一个 dev server ,打印出 http://localhost:5173,你离开 pane 去找浏览器,回来的时候 pane 已经往前跑了。

现在 agent 可以把那个页面作为 pane 开在自己旁边:

shepi-agent show localhost:5173 --pane

页面在 Shepi 里面打开,就在提出请求的那个 agent 旁边,标题栏上有后退、前进、刷新和用浏览器打开。点进去就能像普通页面一样用。焦点在输入框里时 prefix 键照样有效,按 Esc 把键盘交回窗口。

如果 dev server 跑在你的某台服务器上,Shepi 会先通过 SSH 连接把端口转发过来,所以远端机器上的 localhost 地址和本地的一样能开。

你也可以自己开页面:任意链接菜单里的以 Pane 打开、pane 菜单里的用网页向右分屏…,或者从已经打开的网页 pane 里选用此页向右分屏。

页面有自己的存储,可以在设置 › Agents 里清掉。它拿不到摄像头、麦克风,也碰不到文件。

Worktree:agent 留下的那些东西

给每个 agent 分一个自己的 git worktree ,并行干活就很整齐,直到它不整齐为止。几周之后就是几十个 checkout:有的已经合并,有的还有没 push 的 commit ,有的留着没 commit 的修改,有的里面有你不舍得删的 .env,有的里面 agent 还在跑。

显示 › Worktree…(⌥⌘W )列出这台 Mac 和你的服务器上所有 worktree ,带分支、大小、最后活动时间,更有用的是它里面是什么状态:已合并、干净、有未 push 的 commit 、有未 commit 的修改、有 .env 这类被忽略的文件、还有 agent 在、文件夹已经不在了,或者 .claude/worktrees 下面 Git 根本不认识的文件夹。

安全项全移除只动那些没有东西可丢的 worktree ,而且只在你当前显示出来的行里动。其余的每一项都要单独拨自己的开关,旁边一行写清楚会丢什么,所以有风险的那些始终是一个决定,而不是一个勾选框。已合并的分支可以跟着 worktree 一起删,未合并的分支会留着。

新建 worktree 时,Branch 一栏现在会带着一个生成的名称打开,跟 Herdr 生成的方式一样,而且已经选中。按 Return 就用它,或者直接覆盖输入自己的。

该响的时候才响的通知

"需要你"的提示现在立刻响,不再延迟。"完成"的提示会等一秒,只有那一刻 agent 仍然是完成状态才响,所以一个在两步之间停顿的 agent 不会再自己宣布干完了。

如果你在 Herdr 自己的桌面 App 里设了自定义提示音,现在 Shepi 会放它们,前提是 Herdr 的配置没有另行指定。设置 › 通知 里会说明每个声音来自哪里。另外,当 Herdr 报告某个 agent 处于错误状态时,Shepi 在所有显示这个状态的地方都把它显示成需要你。

关闭时会问你是从哪儿开始的

从 × 关标签、从菜单关、或者中键关,确认卡片都出现在那个标签下面。从侧边栏某一行关 Space ,卡片就出现在那一行旁边。要关掉的东西就在原地划掉,一支箭头指着它的名字,不用四处找。卡片浮在 pane 之上,不会压到侧边栏。用快捷键关的时候,仍然在 pane 中间问。

能带上日志的反馈

"发送反馈"现在可以附上 Shepi 自己的日志:连接状态、按方法统计的请求、通知的判定,以及最近每次崩溃的概要。里面只有 "space 1 › tab 2" 这种中性标签,绝不含终端内容、名称或路径。开关默认打开并会记住,包含内容会先把日志给你看,再决定发不发。

发出去之后,Shepi 会显示一个 report ID ,可以复制,也可以写进给支持的邮件里。设置 › 通用 会保留最近三条。

更小的改动

  • 窗口继续画。macOS 有时候会在 Shepi 窗口明明看得见的时候报告它被完全遮住,仅仅因为别的 App 有一层看不见的浮层就够了;接着 Shepi 就不再向 Herdr 要画面,你正在看的 agent 会卡在半行。现在只有当别的 App 的普通窗口真的压在它上面才算被遮住,把指针移到窗口上也算作看见了它。
  • Shepi 的 agent skill 又能加载进 Pi 了;它的描述是合法的 YAML ,Pi 不再把它列进启动报错里。
  • 查找(⌘F )覆盖 agent 、space 、pane 、机器,以及每个 pane 最近的输出,本地和 SSH 上的都算;⌘E 把你带回任意一台机器上最近用过的 pane 。

Find 浮在四个 pane 上方,输入框里是 "backf":命中 workbox 上的 agent "backfill events v2",以及那台机器上的一行输出。

Shepi 需要 macOS 14 或更高版本,以及 Herdr 0.9.3 或更高版本,Apple 芯片和 Intel 都能跑;它是基于 Herdr 公开接口做的独立客户端,不是 Herdr 项目做的,也和 Herdr 项目没有关系。

如果你并行跑好几个 agent ,你是怎么看哪些 worktree 可以删的?

来源:V2EX · v2ex.com