全局技能,基于 Agency-Agent 人格库的优化,在不同专家人格之间自动切换,支持 146+ 个专业 Agent。根据对话自动适配,判定任务结束自动切换回初始人格,无须手动频繁切换。避免人格的混乱,同时始终保持最适合的人格工作。
该功能也集成在 Auto-coding 和 RoundTable skill 中。
本技能的功能范围:
本技能不执行的操作:
from agent_selector_skill import auto_select_agent
# 根据任务自动匹配合适的 Agent
agent = auto_select_agent("设计 React 前端架构")
# 返回:engineering/engineering-frontend-developer
from agent_selector_skill import AgentSelector
selector = AgentSelector()
# 加载特定 Agent 的 Prompt
prompt = selector.load_agent_prompt("engineering/engineering-frontend-developer")
# 现在你以"前端工程师"人格思考
from agent_selector_skill import select_roundtable_agents
# 为 RoundTable 讨论选择合适的 Agent
agents = select_roundtable_agents("智能客服系统技术方案")
# 返回:['engineering/engineering-frontend-developer', ...]
engineering/engineering-frontend-developer - 前端开发工程师engineering/engineering-backend-developer - 后端开发工程师engineering/engineering-fullstack-developer - 全栈开发工程师engineering/engineering-software-architect - 软件架构师engineering/engineering-devops-automator - DevOps 工程师engineering/engineering-security-engineer - 安全工程师testing/testing-qa-engineer - QA 工程师testing/testing-accessibility-auditor - 可访问性审计师design/design-ux-designer - UX 设计师design/design-ui-designer - UI 设计师design/design-interaction-designer - 交互设计师product/product-manager - 产品经理specialized/specialized-ai-ml-engineer - AI/ML 工程师> 完整列表: 146+ 个 Agent,见 agency-agents/ 目录
用户:帮我设计一个前端架构
你:(自动切换到前端工程师人格)
✅ 已切换到前端工程师人格
## 技术方案
基于 React 18 + TypeScript 的前端架构...
from roundtable_skill import RoundTableEngine
from agent_selector_skill import select_roundtable_agents
# 自动选择合适的 Agent
agents = select_roundtable_agents("智能客服系统技术方案")
# 创建 RoundTable 引擎
engine = RoundTableEngine(
topic="智能客服系统技术方案",
agents=agents # 使用自动选择的 Agent
)
# 执行讨论
await engine.run(user_channel)
from auto_coding import AutoCodingAgent
from agent_selector_skill import auto_select_agent
# 根据任务自动选择 Agent
agent_id = auto_select_agent("开发 Python REST API")
# 创建编码 Agent
agent = AutoCodingAgent(agent_id=agent_id)
# 执行任务
result = await agent.execute("开发用户管理 API")
# ✅ 允许的路径
AgentSelector() # 使用内置 agency-agents
AgentSelector("agency-agents") # 白名单目录
# ❌ 拒绝的路径
AgentSelector("/etc/passwd") # 路径遍历攻击
AgentSelector("../secret") # 相对路径攻击
# 自动跳过超大文件(>100KB)
# 防止内存耗尽攻击
# 任务描述限制 10000 字符
# 防止 DoS 攻击
# 只允许内部符号链接
# 拒绝指向外部的符号链接
agent-selector-skill/
├── SKILL.md # 本文档
├── __init__.py # 模块导出
├── agent_selector.py # 核心选择器(安全增强版)
├── clawhub.json # ClawHub 配置
└── README.md # 详细说明
# 方式 1:使用内置的 agency-agents(推荐)
selector = AgentSelector()
# 方式 2:使用外部 Agent(必须在白名单内)
selector = AgentSelector("agency-agents")
# ❌ 错误:路径不在白名单内
selector = AgentSelector("/path/to/external") # 会抛出 ValueError
# 关键词匹配
"react" → engineering/engineering-frontend-developer
"python" → engineering/engineering-backend-developer
"测试" → testing/testing-qa-engineer
"ux" → design/design-ux-designer
"ai" → specialized/specialized-ai-ml-engineer
# 运行内置测试
cd <YOUR_OPENCLAW_WORKSPACE>/skills/agent-selector-skill
python3 agent_selector.py
预期输出:
============================================================
Agent Selector - 安全增强版测试
============================================================
📊 可用 Agent 数量:146
============================================================
任务匹配测试:
============================================================
任务:设计一个 React 前端架构
匹配 Agent: engineering/engineering-frontend-developer
------------------------------------------------------------
...
✅ 所有测试完成!
已在 roundtable-skill/roundtable_engine.py 中集成:
from agent_selector import AgentSelector, select_roundtable_agents
class RoundTableEngine:
def __init__(self, topic: str, ...):
self.agent_selector = AgentSelector()
self.agents = select_roundtable_agents(topic)
已在 auto-coding/agent_controller.py 中集成:
from agent_selector import AgentSelector
class AgentController:
def __init__(self):
self.agent_selector = AgentSelector()
def select_agent_for_task(self, task: str):
return self.agent_selector.select_agent(task)
skills 目录内的 Agentagency-agents, agency-agents-zh, agency)try:
selector = AgentSelector("/invalid/path")
except ValueError as e:
print(f"路径验证失败:{e}")
roundtable-skill/auto-coding/agency-agents/MIT License - 虾软 Claw soft
Agent Selector - 让你成为任何需要的专家
共 1 个版本