内容
# 代码管家
代码管家是一款本地控制台、命令行界面(CLI)和MCP服务器,用于跨项目监控代码会话。
它读取本地代码会话记录,位于`~/.codex/sessions/`下,并与`~/.codex/session_index.jsonl`结合(如果可用),将分散的运行记录整合成一个状态面板,按工作、打开、最近和空闲会话分组。
## 为什么
代码(Codex)已经存储本地会话记录,以便稍后恢复工作。代码管家将这些记录转化为操作感知:
- `codex-conductor` 为您提供最近会话的快速终端表格。
- `codex-conductor up` 在 `127.0.0.1` 上打开一个本地控制台。
- `codex-conductor mcp` 让MCP-aware代理询问什么正在进行,什么被阻塞,什么未完成。
- 受管的tmux窗口允许您从一个面板启动或驱动代码会话。
- 不可逆门控拒绝无人值守的部署、发送、删除和支出审批。
## 安装
```bash
git clone https://github.com/yksanjo/codex-conductor ~/codex-conductor
cd ~/codex-conductor
npm link
```
无需构建步骤和运行时依赖。
## 使用
```bash
codex-conductor # 最近代码会话表格
codex-conductor --minutes 120 # 扩大回溯窗口
codex-conductor --all # 包括较旧的本地会话
codex-conductor --json # 结构化输出
codex-conductor up # 本地网络控制台
codex-conductor mcp # 标准输入输出上的MCP服务器
```
控制台绑定到localhost。改变状态的端点需要本地来源和`X-Conductor: 1`头部。
## 代码适配器
默认的`codex-code`适配器读取:
- `~/.codex/sessions/YYYY/MM/DD/*.jsonl`
- `~/.codex/session_index.jsonl`
标签来自会话工作目录。可以通过以下方式覆盖标签:
```json
{
"我的项目": "我的产品",
"codex-conductor": "代码管家"
}
```
将其保存为`~/.codex-conductor/labels.json`。
## 受管代码窗口
受管窗口在专用的tmux会话中运行。这是发送回复或按键的可靠控制通道。
```bash
codex-conductor run review
codex-conductor say review "continue"
codex-conductor attach review
codex-conductor managed
codex-conductor stop review
```
采用现有的代码会话时,通过`codex resume <SESSION_ID>`在tmux中打开:
```bash
codex-conductor ls --all
codex-conductor adopt 019f1111 review
```
如果您还保持原始标签页打开,您将有两个指向相关工作的客户端。当您想要一个控制界面时,请关闭旧标签页。
## MCP
运行服务器:
```bash
codex-conductor mcp
```
有用工具:
- `list_sessions` 默认列出代码会话。
- `summarize_session` 按ID、短ID或标签展开一个会话。
- `whats_left` 返回推断的目标和最近的操作。
- `pending_questions` 列出似乎被人类阻塞的活动会话。
- `auto_continue` 仅在不可逆门控允许时发送`continue`。
- `reply_to_session`、`send_key`和`run_window` 驱动受管的tmux窗口。
代码MCP配置示例:
```toml
[mcp_servers.codex_conductor]
command = "node"
args = ["/Users/you/codex-conductor/mcp.js"]
```
## 开发
```bash
npm test
```
测试套件构建一个临时的代码会话记录夹具,并验证代码优先的CLI路径加上不可逆门控。
## 许可证
MIT