Skip to main content

call-omp

通过受 gate 约束的 RPC / Shell / 实验性 ACP 通道调用 OMP,适用于独立代码审计、证据包裁决、受控执行和明确授权的治理任务。默认只读、默认 RPC、失败关闭。不要用于无 scope/rollback 的写入、危险发布、删除、密钥传递或递归 self-call。

Zur Installation springen

Quellinformationen

Repository
Loveacup/jz-skills
Letzte Quellaktivität
14. Juli 2026 um 11:03
Erkannte Sprache von SKILL.md
Chinesisch
Sterne
1
Forks
1

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
60 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
call-omp
description
通过受 gate 约束的 RPC / Shell / 实验性 ACP 通道调用 OMP,适用于独立代码审计、证据包裁决、受控执行和明确授权的治理任务。默认只读、默认 RPC、失败关闭。不要用于无 scope/rollback 的写入、危险发布、删除、密钥传递或递归 self-call。
version
0.8.0
# call-omp 把 OMP 当作**不可信执行者/审计者**:委派包先过 gate,输出重新取证,任何截断、非零退出或非终态 `stopReason` 都拒绝。 ## 🚩 Red Flags 出现任一项立即停止自动链路,转人工或 `cc-tmux`: - `task_id` 含 `/`、`..`、空白、控制字符,或超过 128 字符。 - `govern:clean|deep-clean|sql` 缺真实 scope、`risk.level=high` 或 rollback。 - 任何任务要求 `--allow-write`;该能力当前已隔离停用。 - OMP 退出码非零、raw 为空、缺 `turn_end`,或最后 `stopReason != stop`。 - verdict 不是合法 JSON、`evidence=[]`、scope 越界、raw 无界增长。 - 要求发送密钥、改生产、推送、删除或绕过平台安全策略。 - 当前调用已经来自 OMP self-call;禁止递归。 ## 什么时候使用 | 任务 | mode | 默认权限 | |---|---|---| | 独立代码/架构/安全审计 | `audit` | 只读 | | 基于 evidence bundle 裁决 | `audit` + `bundle_only` | 只读 | | 有边界的命令执行 | `execute` | 只读工具;不得把失败当成功 | | 清理/深度清理/SQL 治理 | `govern:clean|deep-clean|sql` | 当前只允许规划/审计;自动写入已隔离停用 | 不使用:普通搜索、简单机械编辑、无验收条件的开放探索、不可逆外部发布。 ## 兼容基线与通道 当前验证基线:OMP `16.3.2`。`omp --version` 只证明 CLI 版本,不证明 provider/model 可用。 通道策略: 1. **RPC(默认)**:持续 JSONL,会话内可多轮;`omp-start.sh` 默认 `channel=rpc`。 2. **Shell(降级)**:RPC 启动失败时的 bounded fallback;适合单轮。 3. **ACP(实验性)**:不是默认通道。先运行 `omp-acp-smoke.sh` / `omp-acp-probe.sh` 识别方言;当前 Hermes `delegate_task` 若无 ACP 参数,不得伪装为已支持。 协议细节按需读:[RPC / ACP notes](references/omp-rpc-acp-notes.md)。 ## 四步闭环 所有命令在 skill 根目录运行。生产路径为 `scripts/`;gate 为 `scripts/gate/`。 ### 1. START:建包并过 gate 优先使用 JSON 委派包;最小样例见 [package example](references/omp-audit-package-json-minimal-example.md)。 ```bash scripts/omp-start.sh \ --mode audit \ --task "审查目标与边界" \ --criterion "criterion 1" \ --criterion "criterion 2" \ --task-id audit-001 ``` `task_id` 必须匹配: ```text [A-Za-z0-9][A-Za-z0-9._-]{0,127} ``` START 仅在 `gate-verify` 与 `gate-danger` 都通过后写 `status=gated`。 ### 2. SEND:受控调用 ```bash scripts/omp-send.sh --state /tmp/omp-state-audit-001.json ``` 默认工具白名单:`read,grep,glob,lsp,web_search`。 三种 govern 写模式仍强制 `risk.level=high`、真实 scope 和 rollback,但当前 OMP 工具层不能硬约束 `allowed_paths`。因此自动写入处于隔离状态: ```bash scripts/omp-send.sh --state /tmp/omp-state-clean-001.json --allow-write ``` 所有 `--allow-write` 当前必须 exit 2,不开放 `write/edit/bash`。需要实际写入时,把已审计划交给受控人工或 `cc-tmux`,由当前 agent 独立验收。 ### 3. MONITOR:失败关闭 ```bash scripts/omp-monitor.sh --state /tmp/omp-state-audit-001.json --json ``` 接受条件: - raw 非空且 JSONL 可解析 - 最后存在 `turn_end` - 最后 `stopReason=stop` - OMP 退出码为 0 - audit/govern verdict:`severity ∈ nit|concern|blocker|pass`、summary 非空、evidence 非空 - execute:允许非 verdict 文本,但退出码/stopReason/完整性规则完全相同 任何一项失败写 `status=rejected`;沉默、超时、截断不是通过。 ### 4. FINISH:人工裁决 ```bash scripts/omp-finish.sh --state /tmp/omp-state-audit-001.json --accept scripts/omp-finish.sh --state /tmp/omp-state-audit-001.json --reject --reason "缺证据" scripts/omp-finish.sh --state /tmp/omp-state-audit-001.json --human-review ``` `--accept` 只允许 `status=reported`;`blocker`、rejected、非零退出不得接受。客观命令与 exit code 由当前 agent 重新运行验证,不采信 OMP 自报。 ## Bundle-only 审计 先产出 evidence bundle,再让 OMP 只读 bundle,不暴露工作区: ```bash scripts/omp-bundle-code-audit.sh --repo /abs/repo --out /tmp/bundle --scope src/module ``` 必须检查:`manifest.json`、`file-list.txt`、`diff.patch`、命令输出与 exit code。中型 bundle 拆成独立 criterion;raw 快速增长或重复调用即停止。详见 [bundle gates](references/bundle-only-audit-gates.md) 与 [runaway policy](references/bundle-only-runaway-stop-policy.md)。 ## 错误处理 | 现象 | 动作 | |---|---| | `channel_unavailable` | 检查安装/PATH;不伪造结果 | | RPC 不 ready | bounded Shell fallback;保留降级证据 | | `toolUse` 结束、无 `stop` | rejected | | execute exit code 非零 | rejected,禁止 finish accept | | raw runaway / timeout | kill 精确 PID,保存 compact debug,转 bundle-only 或人工 | | round/reject 超限 | exit 20,停止自动循环 | | gateway 救援 | 先读 [gateway rescue](references/sandbox-escape-gateway-rescue-20260629.md) | ## 验证 零 token、自包含测试: ```bash bash tests/run-all.sh bash scripts/call-omp-check.sh ``` 测试必须: - 使用临时 `OMP_TMPDIR` 和 mock `OMP_BIN` - 不移动真实 manifest、不改真实脚本权限、不使用宽泛 `pkill -f` - 验证生产 hot-path 文件测试前后 hash 不变 - 覆盖 govern 三种合法写模式、非法 task ID、非零退出和非 `stop` 终态 真 token smoke 仅在用户授权且确有必要时运行,按 [shell smoke](references/omp-shell-smoke-test.md) 保存证据。 ## Reference 路由 完整索引:[references/INDEX.md](references/INDEX.md)。 - 审计工作流:[omp-audit-workflow.md](references/omp-audit-workflow.md) - scope 合同:[audit-scope-real-path-contract.md](references/audit-scope-real-path-contract.md) - 平台适配:[platform-adapters.md](references/platform-adapters.md) - gateway plist:[hermes-gateway-plist-env-fix.md](references/hermes-gateway-plist-env-fix.md) - 历史记录:[historical-operations-and-pitfalls.md](references/historical-operations-and-pitfalls.md)(非当前合同) - 更新记录:[CHANGELOG.md](CHANGELOG.md) ## ✅ Verification Checklist - [ ] `task_id` 格式合法,scope 使用真实路径 - [ ] mode、channel、criterion 与任务匹配 - [ ] `--allow-write` 保持隔离;实际写入转人工或 `cc-tmux` - [ ] 最后 `stopReason=stop`,OMP exit code=0 - [ ] evidence 是当前文件/命令的真实证据 - [ ] 当前 agent 已独立复跑关键命令 - [ ] `tests/run-all.sh` 与 `call-omp-check.sh` 全绿
Auf GitHub ansehen