我开源了一个多终端工具:Conductor

本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容: 我的帖子已经打上 开源推广 标签: 是 我的开源项目完整开源,无未开源部分: 是 我的开源项目已链接认可 LINUX DO 社区: 是 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是 以上选择我承诺是永久有效的,接受社...
我开源了一个多终端工具:Conductor
开源了一个多终端工具:Conductor
本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:
  • 我的帖子已经打上 开源推广 标签:
  • 我的开源项目完整开源,无未开源部分:
  • 我的开源项目已链接认可 LINUX DO 社区:
  • 我帖子内的项目介绍,AI生成、润色内容部分已截图发出:
  • 以上选择我承诺是永久有效的,接受社区和佬友监督:

以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出

开源了一个多终端工具:Conductor

我开源了一个多终端工具,叫 Conductor

它是一个 macOS 上的多 Agent 终端工作台,用来同时跑 Codex、Claude Code 和普通 shell。简单说,就是把工作区、多个终端 pane、会话记录、待处理状态和 Token 用量放进一个窗口里。

项目地址:

conductor-page

为什么做这个

我现在写代码时,经常不是只开一个终端。

一个 pane 里跑 Codex,让它改代码;另一个 pane 里跑 Claude Code,让它看方案;旁边还要有 shell 用来跑测试、看日志、查文件。任务多的时候,真正麻烦的不是“能不能启动一个 agent”,而是这些问题:

  • 哪个 agent 还在跑?

  • 哪个已经卡住,等我确认权限或回答问题?

  • 刚才那个会话在哪个目录里?

  • 这个项目这几天到底花了多少 token?

  • 我关掉的终端还能不能恢复?

  • 我想同时看几个任务,能不能别散成一堆窗口?

所以我做了 Conductor。

它不是聊天产品,也不是一个漂亮的网页壳。它的目标更朴素:把多 Agent 开发时的终端工作流整理好

它现在长这样

conductor-workspace

image

左侧是工作区和会话,按目录组织。

中间是多个真实终端 pane,可以跑 Codex、Claude Code 或普通 shell。每个 pane 都是 libghostty surface,不是自己画的假终端。

右侧是工具面板。现在已经有 Token 用量、CLI 检测、Skills、Hooks、命令片段和共享计划。

设置面板也是应用内的,不单独弹一个系统偏好窗口:

image

目前能做什么

1. 多 pane 真实终端

Conductor 的核心还是终端。

每个分屏都是一个真实 PTY + libghostty 渲染面,可以正常运行 Codex、Claude Code、zsh、构建命令、测试命令。

你可以横向 / 纵向分屏,也可以拖动分隔条调整大小。需要重排时,按住 拖动一个 pane 到另一个 pane 上,就能把它移过去。

2. 工作区和会话管理

左侧栏按目录管理工作区。一个项目对应一个工作区,里面可以有多个 tab 和多个 pane。

如果某个 pane 里跑过 Codex / Claude Code,Conductor 会记录最近会话。下次恢复时,会把 codex resume <id>claude --resume <id> 预填到终端里,按 Enter 就能接着聊。

这样你不用再去翻历史命令,也不用记刚才那个 agent 会话 ID。

3. 误关恢复

⌘⇧T 可以恢复最近关闭的 tab / pane。

恢复时会尽量带回:

  • 原来的目录

  • 原来的分屏位置

  • 关闭前的终端内容快照

  • 对应的 agent 会话续聊命令

这对多任务开发很有用。因为很多时候不是“我想关掉”,只是手滑,或者临时清理窗口后又想找回来。

4. 待处理状态

Agent 经常会卡在一些需要人工处理的地方,比如:

  • 要不要运行某个命令

  • 要不要改某个文件

  • 需要你补充信息

  • 已经完成但你还没看

Conductor 会把这些状态集中显示,不需要你一个个终端点进去看它到底是不是还在跑。

5. Token 用量

右侧用量面板会扫描本机的 Claude / Codex 会话记录,按时间、项目、模型和 token 构成统计。

我做这个主要是因为多 agent 并行以后,成本会变得很不直观。

一次探索到底花了多少 token?哪个目录花得最多?最近 30 天主要是 Claude Code 还是 Codex 在消耗?这些东西如果只靠账单,很难和具体项目对应起来。

6. Hooks / Skills / CLI 工具

工具面板里还有几个实用功能:

  • 检测本机 Codex / Claude / Gemini / Cursor / Copilot / Grok 是否可用

  • 管理 Claude / Codex / Cursor 的 SKILL.md

  • 安装完成通知、提示音、横幅、完成日志等 hooks

  • 管理常用命令片段

Hooks 这块会尽量保留你原来的配置,只加 conductor 需要的命令。

快捷键

常用快捷键如下:

快捷键 作用 ⌘T 新建 tab ⌘D / ⌘⇧D 向右竖分 / 向下横分 ⌘W 关闭当前 pane ⌘⇧T 恢复最近关闭的 tab / pane ⌘⌥← / → 在分屏间切换焦点 ⌘⇧M 打开任务总览 ⌘⇧⏎ 打开当前 pane 的任务队列 ⌘/ 键位速查

技术实现

Conductor 是 Swift / SwiftUI / AppKit 写的原生 macOS 应用。

大概分三层:

  • ConductorCore:纯 Swift 的模型层,包含工作区、tab、分屏树、状态持久化和命令 reducer。

  • ConductorApp:SwiftUI 外壳和 AppKit 终端区域。

  • GhosttyKit:预编译的 libghostty C API,用来承载真实终端渲染。

这里有一个比较重要的坑:libghostty 的终端视图基于 CAMetalLayer。终端容器里不能随便叠普通 layer-backed view,否则可能出现非聚焦 pane 白屏。所以 pane 的 chrome、焦点环和终端内容需要拆开处理。

当前状态

项目还在早期阶段,但已经可以作为日常工具试用。

现在我最关心的不是再堆一堆听起来很酷的功能,而是收集真实工作流:

  • 你会同时跑几个 agent?

  • 哪些状态最容易漏掉?

  • 会话恢复怎样才算顺手?

  • Token 成本应该怎么归因?

  • 哪些 hooks 真正能减少来回切窗口?

所以应用右上角有一个“共享计划”。如果你试了 Conductor,可以直接在那里提交使用场景、问题、截图、日志或 PR。

不用写完整方案。真实场景比口号更有用。

下载和试用

可以直接从 Releases 下载:

GitHub

Release Conductor 0.0.1 · zhengzizhe/conductor

Conductor 0.0.1 macOS 上的 AI Agent 终端指挥台(ghostty 内核)。本次亮点: Agent 指挥台 Mission Control(⌘⇧M):全工作区 pane 实况卡片墙——思考计时 / 等回复 / 完成未读 / 屏幕预览,点卡片直达 「等你回复」收件箱:agent 卡在权限确认时状态栏亮琥珀计数,弹层里 ⏎/1/2/3/Esc/自由文本直接回复,不用...

当前是 ad-hoc 签名,第一次打开可能会被 macOS 拦一下。可以右键 App 选择“打开”,或者执行:

xattr -dr com.apple.quarantine /Applications/Conductor.app

如果你更想从源码跑:

swift run ConductorApp


## **最后**

如果你现在也在用 Codex / Claude Code 这类工具写代码,而且经常一开就是多个终端,那 Conductor 可能会适合你。

欢迎试用、提 issue、提 PR,也欢迎只发一个你真实工作流里的卡点。
![image|690x401](upload://zj6EzwmHcyIIQPYayqIP7YCf4hY.jpeg)


GitHub:

https://github.com/zhengzizhe/conductor



谢谢!
LINUX DO 版主

1 个帖子 - 1 位参与者

阅读完整话题

来源: LinuxDo 最新话题查看原文