feat(skill): V1.21.0-alpha SkillRunner 基础设施 + pentest-coordinator 首 skill LLM-driven#78
Merged
Merged
Conversation
…kill LLM-driven skill rollout 起点 — 解锁 14 rollout skill 后续流水线。 基础设施 (runtime/orchestrator/agents/base.py + skills/): - 新加 SKILL_RUNNERS dict + register_skill deco + get_skill_runner (与 AGENT_RUNNERS 平行) - SkillRunner 复用 AgentRunner 抽象接口 (system_prompt / user_prompt / mock_output / summary / output_file / run), 仅 registry 独立避免 expert/skill 同名冲突 - runtime/orchestrator/skills/__init__.py 新建 (镜像 agents/__init__.py pattern) - experts.py kind=="skill" 分支接 skill runner lookup (放在 SCRIPT_MAP fallback 前, 路径优先级:catalog hard-block → expert runner → skill runner → SCRIPT_MAP fallback) 首 skill 落地 (pentest_coordinator.py): - LLM 读 PRD + 授权 + 上游 pentest-tester expert 产物 → 5 阶段并发编排计划 JSON - 字段:project_name / run_id / authorization_check / phases (5 阶段) / subagent_pool / outputs / refuse_conditions / risks / confidence - Shannon 哲学 + 主宪章 §22 § 24 safe-by-default + subagent pool aux_client 隔离 - 仅输出编排计划文本,不调子 skill,不执行不可逆操作 - 法律责任在操作者侧 (SECURITY.md L84) 变更: - runtime/orchestrator/agents/base.py 加 SKILL_RUNNERS + register_skill + get_skill_runner - runtime/orchestrator/skills/__init__.py 新建 - runtime/orchestrator/skills/pentest_coordinator.py 新建 - runtime/orchestrator/adapters/experts.py kind="skill" 分支接 skill runner - 03-技能定义/pentest-coordinator.md frontmatter SKILL_IMPL_STATUS rollout → production - runtime/tests/test_skill_runners.py 新建 (照 test_agent_runners.py pattern; 3 维度 × 1 skill = 3 case + 1 sync 锚 = 4 case) - runtime/tests/test_impl_status_filter.py 数字 sync:skill 8 production + 7 script + 15 rollout + 2 vision;rollout 测试改 pentest-recon (仍 rollout) - README.md 数字 catch-up - ROADMAP.md V1.21 标 done + 当前状态 V1.21.0-alpha + skill rollout 起点说明 + pentest-coordinator 行 done + Changelog
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
skill rollout 起点 — V1.x rollout 收尾后下个里程碑。新加 SkillRunner 基础设施 (与 AgentRunner 平行) + pentest-coordinator 首 skill 落地, 解锁 14 rollout skill 后续流水线。
基础设施变更
runtime/orchestrator/agents/base.py加SKILL_RUNNERSdict +register_skilldeco +get_skill_runner(镜像 AGENT_RUNNERS pattern)SkillRunner复用 AgentRunner 抽象 (接口 100% 同), 仅 registry 独立避免 expert/skill 同名冲突runtime/orchestrator/skills/__init__.py新建 (镜像 agents/init.py)runtime/orchestrator/skills/pentest_coordinator.py新建首 skillruntime/orchestrator/adapters/experts.pykind=="skill" 分支接 skill runner lookuppentest-coordinator schema
LLM 读 PRD + 上游 pentest-tester expert 产物 → 5 阶段并发编排计划:
recon(单线 20min) → pentest-recon skillvuln_assessment(5 攻击域并发 45min) → pentest-vuln skillexploit(5 攻击域并发 120min) → pentest-exploit skillpost_exploit(optional 60min)report(单线 15min) → pentest-report skill含
authorization_check(tagent.yml pentest.authorized + scope 必须显式) +subagent_pool(max=5 + aux_client 隔离) +refuse_conditions(4 条) + Shannon 哲学过滤 (仅 working PoC 入报告)。变更
runtime/orchestrator/agents/base.pySKILL_RUNNERS 基础设施runtime/orchestrator/skills/__init__.py+pentest_coordinator.py新建runtime/orchestrator/adapters/experts.pykind=skill 接 runner03-技能定义/pentest-coordinator.mdSKILL_IMPL_STATUS rollout → productionruntime/tests/test_skill_runners.py新建 (照 test_agent_runners.py pattern)runtime/tests/test_impl_status_filter.pyskill 数字 sync (8/7/15/2) + rollout 测试改 pentest-reconTest plan
pytest test_agent_runners.py— 34/34 PASS (expert layer 无 regression)pytest test_skill_runners.py— 4/4 PASS (1 skill × 3 维度 + 1 sync 锚)pytest test_impl_status_filter.py— 13/13 PASS (X4 防 mock 闭环不退化)from runtime.orchestrator.skills import get_skill_runner→ 'pentest-coordinator' registered, mock_output schema OK, summary "渗透编排 5 阶段 / 并发上限 5 / 拒绝条件 4"下一步
继续 skill rollout 流水线 (V1.22+):
mobile-test或system-test(跟对应 expert 配对的细分用例 skill)