chat_with_agent
当你需要咨询其他 agent、寻求帮助,或用户明确要求某个 agent 参与时,使用本 skill。
git clone --depth 1 https://github.com/agentscope-ai/QwenPaw /tmp/chat_with_agent && cp -r /tmp/chat_with_agent/src/qwenpaw/agents/skills/chat_with_agent-zh ~/.claude/skills/chat_with_agentSKILL.md
# 与 Agent 对话
## 什么时候用
当你需要**向另一个 agent 询问问题、寻求帮助、请求方案、请求复核、请求决策支持,或者进行任何形式的交流**时,使用本 skill。
如果**用户明确要求与某个 agent 对话**,也应使用本 skill。
### 应该使用
- 需要另一个 agent 的专长、判断或第二意见
- 需要向某个 agent 请求方案、复核或建议
- 用户明确要求某个 agent 参与、协助或回答
- 需要继续某个已有的 agent 会话,并保留上下文
### 不应使用
- 你自己可以直接完成,且用户没有明确要求调用其他 agent
- 只是普通问答,不需要专门 agent
- 目标 agent 不明确,应该先追问或先查可用 agents
- 刚收到某个 agent 的消息,又立刻回调同一个 agent,可能造成循环
## 决策规则
1. **如果用户明确要求某个 agent,优先按要求执行,但仍要先查 agent,不要猜 ID**
2. **如果你自己能完成,就不要调用其他 agent**
3. **需要保留上下文续聊时,必须传 `session_id`**
4. **默认优先使用 `list_agents()` 和 `chat_with_agent(...)` 进行前台对话,不要绕到别的方式**
5. **如果任务需要后台执行,使用 `submit_to_agent(...)` 提交,再用 `check_agent_task(...)` 查询状态**
## 使用流程
请严格按照以下流程顺序使用本 skill:
1) 确保你的工具列表中包含 `list_agents()` 和 `chat_with_agent(...)` 两个内建工具
- 这两个工具是与其他 agent 对话的基础,不要删除或禁用它们
- 如果你没有这两个工具,请告诉用户你需要它们来与其他 agent 对话,并请求用户添加
2) 使用 `list_agents()` 工具查看当前可用的 Agent,并从中选择一个 agent 提取其 id
- 请根据用户的需求和对应 Agent 的描述来选择最合适的 Agent
- 如果找不到合适的 Agent 且你不是 Default Agent,就使用 Default Agent
- 否则告诉用户没有合适的 Agent 可用,并建议他们创建一个新的 Agent 或调整现有 Agent 的描述以便更好地匹配需求
3) 调用 `chat_with_agent(...)` 发起前台求助,其中需要传递的关键参数包括
- `to_agent`: 对话目标 Agent 的 ID,注意是 ID 不是名字
- `text`: 你要对目标 Agent 说的内容
- `session_id`: (可选)如果你需要与同一个 Agent 进行多轮对话,从第二轮开始传递相同的 `session_id` 来保持上下文连续
- `timeout`: (可选)预估任务需要的前台等待时间,避免过早超时
4) 如果任务适合后台执行,请使用新的后台工具路径
- `submit_to_agent(...)`:提交后台任务,需要 `to_agent`、`text`,以及可选的 `session_id` / `task_timeout`
- 省略 `task_timeout` 时,默认执行预算为 **3600 秒(1 小时)**
- 预计超过 1 小时的任务,请显式传入正数秒
- 也接受数字字符串,例如 `"7200"`
- `check_agent_task(...)`:通过 `task_id` 查询任务状态,完成时返回最终结果
- 超时后任务会以失败结束,错误类似 `Task timed out after Ns`(API 载荷中带 `code=timeout`)
## 最小调用示例
### 新对话
```text
list_agents()
chat_with_agent(
to_agent="<target_agent_id>",
text="[Agent <your_agent_id> requesting] 我需要你帮我判断这个问题的处理方向。",
)
```
### 续接已有对话
```text
chat_with_agent(
to_agent="<target_agent_id>",
text="[Agent <your_agent_id> requesting] 请基于刚才的结论继续展开第 2 点。",
session_id="<previous_session_id>",
)
```
### 后台提交与查询
```text
submit_to_agent(
to_agent="<target_agent_id>",
text="[Agent <your_agent_id> requesting] 请在后台完成这个较长任务。",
task_timeout=7200,
)
check_agent_task(
task_id="<task_id>",
)
```
## 注意事项
- **添加对话标识符**:建议对话内容以如下内容开头
```text
[Agent <your_agent_id> requesting]
```
这样可以让对方 Agent 更清楚地知道是谁在跟它说话,有助于提高沟通效率和准确性。
- **合理复用会话**:如果你需要与同一个 Agent 进行多轮对话,务必传递相同的 `session_id` 来保持上下文连续。否则每次调用都会被视为新的对话,可能导致对方 Agent 无法正确理解你的需求。`session_id` 可以从第一轮对话的返回结果中获取,例如
```text
[SESSION: xxx]
```
其中 `xxx` 就是 `session_id` 的值,该值一般由系统生成,长度一般较长,具有唯一性。你需要把这个 `session_id` 存下来,在后续与同一个 Agent 的对话中继续使用它。阿里云 CLI 中文文档镜像检索与命令辅助:先走章节索引,再下钻正文页面,给出命令前必须有本地文档证据。
用异步 Python 调用 QwenPaw 内置 Browser SDK 驱动真实浏览器。完整参考在下方;上下文压缩后请重新加载此 browser skill。
当用户明确希望连接到已运行的 Chrome 浏览器、扫描本地 CDP 端口、显式指定 `cdp_port`,或让多个 agent / 工具共享同一个浏览器时,使用本 skill。browser 默认不开放调试端口;仅当用户明确希望其他本地工具附加时才显式传入 `cdp_port`。
当用户需要控制 browser 的浏览器启动方式时,使用本 skill。browser 默认由 Playwright 直接管理、不开放调试端口(需让其他本地工具附加时显式传 `cdp_port`);`headed` 控制是否显示窗口,`private_mode` 保留用于兼容、不再改变默认行为,`browser_args` 传入额外的 Chromium 启动参数,`executable_path` 指定自定义浏览器可执行文件路径。
当需要主动向用户、会话或频道单向发送消息时,使用本 skill。通常仅在用户明确要求向某个 channel / 会话发送消息,或需要主动通知时使用。先用 qwenpaw chats list 查询 session,再用 qwenpaw channels send 推送消息。
Use computer_use for live Windows or macOS GUI work that structured tools cannot complete. Discover an approved app and window, act from fresh observations, and verify every requested result.
仅在需要未来定时执行或周期执行任务时,使用本 skill。使用 qwenpaw cron list/create/get/state/update/pause/resume/delete/run 管理任务,并始终显式传入 --agent-id。
使用可视浏览器自动完成 QwenPaw 的钉钉频道接入。适用于用户提到钉钉、DingTalk、开发者后台、Client ID、Client Secret、机器人、Stream 模式、绑定或配置 channel 的场景;支持遇到登录页时暂停,等待用户登录后继续。