[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f2jdro1bnllo89":3},{"code":4,"message":5,"data":6,"timestamp":26},10000,"success",{"full_name":7,"position":8,"description":9,"language":10,"stars":11,"forks":12,"stars_gained":13,"age_days":14,"hn_threads":15,"one_liner":16,"summary_md":17,"topic":18,"github_topics":21,"license":22,"homepage":23,"updated_at":24,"history":25},"dominikmartn\u002Fharp",6,"Run many Claude Code and Codex agents side by side, in one sidebar that tells you which one needs you. An unofficial fork of Warp.","Rust",603,41,131,4,[],"给同时跑多个 Claude Code 和 Codex 会话的人用的终端侧边栏，一眼看出哪个 Agent 在等你。","## 解决什么问题\n\n同时开三个以上 coding agent 之后，终端就从工作区变成了读不懂的队列：标签页不带状态，你只能一个个切过去找那个卡在权限确认或提问上的会话。Harp 是开源 Warp 终端的分支，把标签栏换成侧边栏，每行直接显示对应会话的状态：工作中、在等你、已完成、已搁置。\n\n## 有什么不同\n\n常见做法是 tmux 窗口加自律，或者用只显示进程名的终端插件。Harp 的不同点在于用 agent 自己的会话数据推断状态，并在底部放两个用量环：Codex 的额度从其 `~\u002F.codex\u002Fsessions` 日志读取，Claude Code 的额度从 status line 读取，若你原本没有 status line，Harp 会往 `~\u002F.claude\u002Fsettings.json` 里加一个。tmux 集成默认关闭，开启后分组和顺序保存在 tmux 会话上，重启不丢，其他 tmux 客户端（包括手机 ssh 过来的）能看到同一套布局。\n\n侧边栏之外仍是上游 Warp，包括其 AI 和云功能，照样连 Warp 的服务器；Harp 自己不加服务端。\n\n## 适合谁\n\n每天要并行跑好几个 Claude Code 或 Codex 会话的 macOS 开发者，想要一个能扫一眼的待处理队列，而不是靠翻标签页。喜欢 Warp 但想要竖向会话列表的人也合适。不适合：用 Linux 或 Windows 的人（仅 macOS）、刻意避开 Warp 账号和云服务的人、想要轻量终端的人——Harp 继承了 Warp 的全部体量和自己的一套更新通道。\n\n## 上手成本\n\n仅 macOS，从源码构建需要 `rust-toolchain.toml` 指定的 Rust 工具链，不经过 `script\u002Frelease_macos` 的构建没有可公证的签名。首次启动时若没有 status line，它会改你的 `~\u002F.claude\u002Fsettings.json`，装之前要知道这个副作用；已有 status line 则不动，但得自己 tee 输入才能拿到用量环。许可为 AGPL-3.0（`warpui` 相关 crate 为 MIT），再分发有义务。README 对设置和内部结构写得异常细，但对测试覆盖、与上游 Warp 版本的兼容性、agent 输出格式变化时状态识别会不会失效，几乎没有交代。\n\n## 点评\n\n这是一个只有四天的新分支，604 星，出现后平均每天约 +131 星，明显是短期冲高而非成熟项目。想法本身扎实且范围克制：一个真实痛点、一个侧边栏、不新增服务端。但它是一个人对一个庞大且快速演进的代码库的分支，仅支持 macOS，还依赖解析其他工具的会话文件——这类集成恰恰最容易悄悄失效。如果你本来就住在 Warp 里并且经常同时跑多个 agent，可以试；要作为日常工作依赖，建议再等一两个月。",{"slug":19,"name":20},"developer-tools","开发工具",[],"AGPL-3.0",null,"2026-10-25T02:06:11Z",[],1792906423]