Skip to main content

call-omp

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

インストールへ移動

ソース情報

リポジトリ
Loveacup/jz-skills
ソースの最終更新活動
2026年7月14日 11:03
検出された SKILL.md の言語
中国語
スター
1
フォーク
1

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

ファイルエクスプローラー
60 ファイル

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
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` 全绿
GitHubで見る