• zhoujinliang

    做了大半年,自己每天在用,拿出来分享一下。

    解决的问题

    同时开五六个 Claude Code / Codex 在不同 git worktree 里干活的时候,我不知道该看哪个窗口。终端长得都一样,只能一个个切过去看最后一行输出。

    tmux 能管窗口,但它不知道「 agent 在等你确认」这件事。对 tmux 来说,卡在权限询问的 Claude 和正在写代码的 Claude 没有区别。

    怎么做的

    终端渲染直接嵌 libghostty ( Ghostty 的 C 接口),Swift + AppKit ,不是 Electron 。会话持久化用 zmx ,退出 App 或者重启之后 agent 还在原地。每个 repo 一个 tab ,每个 worktree 一张卡片,卡片上只显示 running / waiting / broken 三种状态。

    状态判断是一个优先级梯子:进程退出状态 > OSC 133 shell 集成标记 > 文本正则匹配。正则那一层是数据驱动的,每个 agent 一份 JSON manifest ,可以在 ~/.config/seahelm/agents/ 下覆盖。

    Claude Code 和 Codex 接了原生 hook ,所以「在等你」是一个真实事件,不是从屏幕文字猜出来的。目前 12 个 agent 有状态识别:claude 、codex 、opencode 、gemini 、cursor 、aider 、amp 、cline 、goose 、kiro 、pi 、agent 。

    agent 可以反过来操作它

    每个 pane 都有 SEAHELM_PANE_ID ,配一个控制 socket 和 CLI:

    seahelm pane split <pane> --direction right
    seahelm pane run <pane> "npm test"
    seahelm wait agent-status <pane> --status Idle

    所以一个 agent 能自己开一个兄弟 pane 、把活派过去、等它做完。这是目前我自己用得最多的功能。

    安装

    curl -fsSL https://seahelm.dev/install.sh | sh

    macOS 14+,Apple Silicon 和 Intel 都支持。

    源码和 Release: https://github.com/BetaYao/seahelm
    官网: https://seahelm.dev

    有什么用着别扭的地方欢迎直接说。

    主楼
  • chemzqm

    真不错,还支持 MAC intel

    #1
  • zhoujinliang

    @chemzqm 可以多试试,我自己用了半年多,现在确实能帮我提高效率。

    #2
  • is-v2ex

    有没有考虑适配一下 herdr

    #3

发表回复

登录后回复