基于 tmux 的持久化终端会话管理工具,支持 Codex CLI 自动化执行,实现移动端/SSH 场景下的稳定 AI 编程工作流。
说明:
## 核心用法
`persistent-code-terminal` 是一个专为 AI 编程设计的 tmux 会话管理框架,解决传统终端在 AI 辅助编码中的状态丢失问题。核心遵循 **start → send → read → decide** 四步模型:
1. **start.sh**:创建或附加到 `-code-session` 会话
2. **send.sh**:发送单条命令,支持 `–timeout`、`–phase` 等参数,自动追加 `__PCT_EXIT_CODE__N` 哨兵标记
3. **read.sh**:解析哨兵,更新 `.pct-state.json` 状态文件
4. **status/summary.sh**:快速获取执行状态与最近 120 行输出摘要
Codex 优先工作流通过 `codex-exec.sh` 实现,封装 `codex exec –full-auto –sandbox workspace-write`,支持指令级自然语言驱动。
### 智能路由系统
– **自动触发**:`autoCodeRouting` 配置启用后,通过 `persistent-code-terminal-route.sh` 进行意图识别(code/fix/test/build/commit/push 等)
– **多项目支持**:单条消息可按 `;` 或换行分割多项目任务,串行执行
– **快捷指令**:消息以 `codex ` 开头时,自动路由至 codex-exec 流程
### 显著优点
– **会话持久化**:detach/reattach 不丢输出,长时任务(dev server、watch mode)持续运行
– **移动端/SSH 友好**:解决网络中断导致的状态丢失
– **结构化输出**:`–json` 模式便于程序解析,`.pct-state.json` 提供机器可读状态
– **安全过滤**:内置 git 仓库检测、动作动词白名单、`不要执行,只分析` 绕过机制
– **依赖兜底**:`doctor.sh` 自动诊断 tmux/codex 缺失问题
### 潜在局限
– **tmux 强依赖**:目标系统必须预装 tmux,Windows 原生环境需 WSL
– **Codex CLI 生态绑定**:最优体验需 OpenAI Codex CLI,其他 CLI 工具需自定义封装
– **沙箱限制**:`–sandbox workspace-write` 虽提升安全,但可能限制某些系统级操作
– **串行执行瓶颈**:多项目任务按序执行,无内置并行调度
– **状态文件污染**:`.pct-state.json` 位于项目目录,可能误提交(建议加入 `.gitignore`)
### 适用人群
– 远程服务器 / 云开发环境开发者
– 移动端 SSH 场景下的 AI 辅助编程用户
– 需要长时间保持开发服务(热重载、测试 watcher)运行的团队
– 追求「自然语言 → 代码变更 → 提交推送」全自动链路的技术早期采用者
### 常规风险
| 风险类型 | 说明 | 缓解措施 |
|———|——|———|
| 强制推送 | 默认禁止 `git push –force`,但用户显式指令可绕过 | 代码审查策略兜底 |
| 密钥泄露 | 终端输出可能捕获环境变量或凭据 | 敏感操作前检查 `env` 输出,使用 secret 管理工具 |
| 分支污染 | 直接推 main/master 需显式确认 | 团队级分支保护规则 |
| 无限循环 | `–max-retries 3` 限制自动重试,但复杂指令仍可能逻辑死循环 | 人工介入检查点 |
| tmux 会话堆积 | `list.sh` 可查看,但无自动清理机制 | 定期手动清理或 CI 策略补充 |








