Preqstation

🤖 AI 编码代理安全编排与隔离执行

通过 PTY 安全执行将 PREQSTATION 编码任务委托给 Claude Code、Codex CLI 或 Gemini CLI,支持工作目录隔离、后台运行和进程监控,适用于映射工作空间中的构建、重构和代码审查。

收藏
5.7k
安装
1.4k
版本
0.1.4
CLS 安全扫描中
预计需要 3 分钟...

使用说明

PREQSTATION 技能评估

核心用法

PREQSTATION 技能是一个编码代理编排层,用于将自然语言描述的软件开发任务安全地委托给本地 CLI 编码引擎(Claude Code、Codex CLI、Gemini CLI)。其核心设计遵循工作区隔离优先原则:

1. 项目解析:从用户输入提取 engine(默认 claude)、task(项目编号)、objective(执行目标)
2. 路径解析:通过 MEMORY.mdProjects 表匹配项目键,支持任务前缀推断(如 PROS-102pros

3. 工作区准备:强制创建 Git worktree,分支命名为 codex/<project_key>,路径隔离于 ${OPENCLAW_WORKTREE_ROOT:-/tmp/openclaw-worktrees}/<project_key>

4. 模板渲染:将用户请求包装为结构化 prompt,明确约束执行范围

5. PTY 安全执行:通过 bash pty:true workdir:<cwd> 启动引擎,支持前台/后台模式及进程生命周期管理

关键执行模式

  • One-shot:同步执行短任务
  • Background + Poll:异步长任务,支持 list/poll/log/write/submit/kill 操作
  • PR Review:强制使用临时 worktree 或 clone,禁止在主检出目录执行

显著优点

| 维度 | 优势 |
|------|------|
| **隔离性** | Git worktree + 专用目录彻底隔离任务执行环境,避免污染主工作区 |
| **安全性** | PTY 模式确保交互式 CLI 的正确渲染;明确禁止在 `~/clawd/` 等敏感目录启动代理 |
| **可观测性** | 标准化的进程管理接口(poll/log/write/submit/kill)实现透明监控 |
| **灵活性** | 支持三大多模态编码引擎(Claude/Codex/Gemini),用户可按需指定 |
| **项目治理** | MEMORY.md 集中管理项目映射,支持动态更新和键规范化(小写 kebab-case) |
| **防误用** | 明确的 NOT for 清单排除单行编辑、只读检查等不适用场景 |

潜在缺点与局限性

1. Git 依赖刚性:强制要求项目为 Git 仓库,非 Git 工作流需先配置仓库
2. worktree 开销:每个任务创建独立 worktree,频繁短任务可能产生磁盘/分支垃圾

3. 引擎安全风险:使用 --dangerously-skip-permissions--dangerously-bypass-approvals-and-sandbox 等标志,完全绕过代码审查沙箱,需用户自行承担执行风险

4. MEMORY.md 单点依赖:项目解析强依赖该文件,未配置时强制中断流程询问用户

5. 输出精简:默认仅返回简短状态,调试需显式请求完整日志

6. 后台任务状态不透明:若代理异常退出或无 milestone 输出,用户可能长时间无感知

适合人群

  • 多项目并行开发者:需在统一接口下管理多个代码库的编码任务
  • AI 辅助编码实践者:习惯使用 Claude Code/Codex CLI 等工具,需要结构化封装
  • 团队技术负责人:需要可审计、可复现的编码代理执行流程
  • 安全敏感场景用户:受益于 worktree 隔离,但需理解并承担沙箱绕过风险

常规风险

| 风险类别 | 具体表现 | 缓解建议 |
|---------|---------|---------|
| **代码执行风险** | 代理可能生成并执行破坏性代码(rm、git push --force 等) | 在独立容器/VM 中运行;审查 worktree 变更后再合并 |
| **沙箱绕过** | `--dangerously-*` 标志使代理获得完整主机访问权限 | 限制 `OPENCLAW_WORKTREE_ROOT` 目录权限;避免在含敏感数据的目录使用 |
| **凭证泄露** | 代理可能读取 ~/.env、~/.ssh 等敏感文件 | 设置 `$HOME` 隔离;使用专用服务账户 |
| **资源耗尽** | 后台任务无限运行或循环依赖 | 配置 `timeout` 参数;定期 `process action:list` 清理僵尸会话 |
| **Git 状态污染** | worktree 分支残留或冲突 | 任务完成后显式清理;使用 `git worktree prune` |

Preqstation 内容

手动下载zip · 4.5 kB
MEMORY.mdtext/markdown
请选择文件