Metadata-Version: 2.4
Name: claude-conductor
Version: 0.1.0
Summary: TUI console for managing parallel claude -p tasks
Author: BensonJinBin
License-Expression: MIT
Project-URL: Homepage, https://github.com/BensonJinBin/cconductor
Project-URL: Repository, https://github.com/BensonJinBin/cconductor
Project-URL: Issues, https://github.com/BensonJinBin/cconductor/issues
Keywords: claude,tui,ai,terminal,task-manager
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Utilities
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: textual>=0.60
Requires-Dist: tomli>=2.0; python_version < "3.11"
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Dynamic: license-file

# claude-conductor

终端 TUI 控制台，统一管理多个并行的 `claude -p` 任务。

任务在后台运行，完成时铃声 + 高亮通知，无需在多个终端 tab 间反复切换轮询。

## 安装

需要 Python 3.10+，以及已安装 [Claude CLI](https://claude.ai/download)。

```bash
git clone git@github.com:BensonJinBin/cconductor.git
cd cconductor
pip install -e .
```

macOS 上若有多个 Python 版本（如同时安装了 Homebrew Python 和 Framework Python），确保 `pip` 和 `conductor` 命令属于同一环境。可用 `which conductor` 确认路径。

## 使用

```bash
conductor
```

### 界面布局

```
┌─────────────────┬──────────────────────────────┐
│  任务列表        │  选中任务的输出               │
│                 │                              │
│  ✓ fix bug  a1b2│                              │
│  ● write doc c3d│                              │
│  ○ add test e5f6│                              │
├─────────────────┴──────────────────────────────┤
│  输入栏（新建任务 / 追加指令）                   │
└────────────────────────────────────────────────┘
```

### 操作

| 操作 | 方式 |
|------|------|
| 新建任务 | 底部输入栏输入 prompt，回车 |
| 指定工作目录新建任务 | `Ctrl+O` 唤起目录选择器，或输入 `@/path prompt` |
| 查看输出 | 点击 / 方向键选中左侧任务 |
| 追加指令 | 选中任务后，在输入栏输入新指令，回车 |
| 终止任务 | 选中任务后，`Ctrl+X`（SIGINT，5 秒后强杀） |
| 退出追加模式 | `Esc` |
| 退出程序 | `Ctrl+Q` |

### 状态说明

| 图标 | 颜色 | 含义 |
|------|------|------|
| ○ | 暗色 | pending — 等待启动 |
| ● | 黄色 | running — 执行中 |
| ✓ | 绿色 | done — 已完成 |
| ✗ | 红色 | error — 执行失败 |
| ⊘ | 暗色 | cancelled — 已终止 |

任务变为 done 或 error 时，终端铃声响起。Header 副标题显示所有任务累计费用。

## 任务持久化

每个任务自动保存到 `~/.conductor/sessions/<uuid>.json`，重启后恢复最近 `max_visible_tasks` 个任务。

已持久化的任务可以继续追加指令（resume 模式），跨重启不丢失上下文。

## 配置文件

路径：`~/.conductor/config.toml`（不存在时自动使用默认值）

```toml
[claude]
# 每次调用 claude 时附加的默认参数
default_flags = ["--dangerously-skip-permissions"]

[ui]
# 任务完成时是否响铃
bell_on_complete = true
# 启动时加载的最近任务数量
max_visible_tasks = 20
```

## 进程生命周期

关闭 conductor（`Ctrl+Q`）不会终止正在运行的 claude 子进程。任务会在后台继续执行，输出在下次启动时可恢复查看。

查看当前运行的 claude 进程：

```bash
pgrep -la claude
```

## 贡献

欢迎提交 Issue 和 Pull Request。

## License

[MIT](LICENSE)
