qwen_agent/skills/bot-self-modifier/SKILL.md
2026-03-17 13:43:26 +08:00

191 lines
6.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
name: bot-self-modifier
description: |
Bot 自修改技能,允许当前 bot 在对话过程中通过 API 读取和修改自身的全部配置。
使用场景:
- 用户要求 bot 调整行为或切换人设时(如"把你的角色改成英语老师"、"在系统提示词里加上XXX规则" → 修改系统提示词
- 用户要求 bot 更换头像、修改自我介绍、设置开场建议问题时(如"把你的头像换成这个链接"、"更新你的描述" → 修改头像/描述/建议问题
- 用户要求 bot 接入新工具或移除已有工具时(如"帮我接入 Jina 搜索"、"把那个 MCP 服务器删掉" → 添加/删除 MCP 服务器
- 用户要求 bot 安装、启用、禁用或卸载技能时(如"帮我装上这个技能包"、"把 XX 技能关掉" → 管理技能列表
- 用户要求 bot 配置 API 密钥或运行参数时(如"把 JINA_API_KEY 设置成 xxx" → 修改环境变量
- bot 需要自主进化、动态调整自身能力边界的自动化场景
---
# Bot Self-Modifier
## Skill Structure
```
bot-self-modifier/
├── SKILL.md # Core instruction file (this file)
├── scripts/
│ └── bot_modifier.py # Main bot modification script
```
## Overview
支持以下功能:
1. **系统提示词** - 读取和修改
2. **Bot 基本信息** - 头像、描述、建议问题的读取和修改
3. **MCP 服务器** - 列表查看、添加和删除
4. **技能列表** - 读取、上传、启用、禁用、删除
5. **环境变量** - 读取和修改
## Quick Start
所有操作都通过 `scripts/bot_modifier.py` 脚本执行,使用 `--action` 参数指定操作。
### 系统提示词操作
```bash
# 读取当前系统提示词
scripts/bot_modifier.py --action get_prompt
# 修改系统提示词
scripts/bot_modifier.py --action set_prompt --value "你是一个专业的客服助手"
```
### Bot 基本信息操作
```bash
# 读取当前 bot 基本信息(名称、头像、描述、建议问题)
scripts/bot_modifier.py --action get_info
# 修改 bot 标题名称
scripts/bot_modifier.py --action set_name --value "智能客服助手"
# 设置头像URL
scripts/bot_modifier.py --action set_avatar --value "https://example.com/avatar.png"
# 设置描述
scripts/bot_modifier.py --action set_description --value "这是一个智能客服助手"
# 设置建议问题JSON 数组)
scripts/bot_modifier.py --action set_suggestions --value '["你能做什么?", "帮我查一下订单", "如何退款"]'
```
### MCP 服务器操作
```bash
# 列出所有 MCP 服务器
scripts/bot_modifier.py --action list_mcp
# 添加 MCP 服务器config 为 JSON 字符串)
scripts/bot_modifier.py --action add_mcp --name "my-server" --mcp-type "sse" --config '{"url": "https://example.com/sse"}'
# 删除 MCP 服务器
scripts/bot_modifier.py --action delete_mcp --mcp-id "<MCP_SERVER_ID>"
```
### 技能操作
```bash
# 列出所有技能
scripts/bot_modifier.py --action list_skills
# 上传技能zip 文件)
scripts/bot_modifier.py --action upload_skill --file /path/to/skill.zip
# 启用技能(逗号分隔的技能名)
scripts/bot_modifier.py --action enable_skill --value "skill-name-1,skill-name-2"
# 禁用技能(从已启用列表中移除)
scripts/bot_modifier.py --action disable_skill --value "skill-name-to-remove"
# 删除已上传的技能
scripts/bot_modifier.py --action delete_skill --value "skill-name"
```
### 环境变量操作
```bash
# 读取当前环境变量
scripts/bot_modifier.py --action get_env
# 修改环境变量JSON 格式)
scripts/bot_modifier.py --action set_env --value '{"API_KEY": "xxx", "SECRET": "yyy"}'
```
## Script Usage
### bot_modifier.py
主脚本,通过 HTTP API 与服务端交互。
```bash
scripts/bot_modifier.py [OPTIONS]
```
**Options:**
| Option | Required | Description | Default |
|--------|----------|-------------|---------|
| `--action` | Yes | 操作类型(见下方列表) | - |
| `--value` | Depends | 操作值(提示词内容/技能名/环境变量 JSON | - |
| `--name` | For add_mcp | MCP 服务器名称 | - |
| `--mcp-type` | For add_mcp | MCP 服务器类型 (sse/streamable-http) | sse |
| `--config` | For add_mcp | MCP 服务器配置 JSON | - |
| `--mcp-id` | For delete_mcp | MCP 服务器 ID | - |
| `--file` | For upload_skill | Skill zip 文件路径 | - |
**Available Actions:**
| Action | Description |
|--------|-------------|
| `get_prompt` | 读取系统提示词 |
| `set_prompt` | 修改系统提示词(需要 --value |
| `get_info` | 读取 bot 基本信息(名称、头像、描述、建议问题) |
| `set_name` | 修改 bot 标题名称(需要 --value |
| `set_avatar` | 设置头像 URL需要 --value |
| `set_description` | 设置描述(需要 --value |
| `set_suggestions` | 设置建议问题(需要 --valueJSON 数组) |
| `list_mcp` | 列出 MCP 服务器 |
| `add_mcp` | 添加 MCP 服务器(需要 --name, --config |
| `delete_mcp` | 删除 MCP 服务器(需要 --mcp-id |
| `list_skills` | 列出所有技能 |
| `upload_skill` | 上传技能 zip需要 --file |
| `enable_skill` | 启用技能(需要 --value逗号分隔技能名 |
| `disable_skill` | 禁用技能(需要 --value技能名 |
| `delete_skill` | 删除已上传技能(需要 --value |
| `get_env` | 读取环境变量 |
| `set_env` | 修改环境变量(需要 --valueJSON 格式) |
## Common Workflows
### 工作流 1: 查看并修改 Bot 配置
```bash
# 1. 先查看当前配置
scripts/bot_modifier.py --action get_prompt
scripts/bot_modifier.py --action get_info
scripts/bot_modifier.py --action get_env
scripts/bot_modifier.py --action list_mcp
scripts/bot_modifier.py --action list_skills
# 2. 修改需要的配置
scripts/bot_modifier.py --action set_prompt --value "新的提示词内容"
```
### 工作流 2: 添加新 MCP 服务器并配置环境变量
```bash
# 1. 添加 MCP 服务器
scripts/bot_modifier.py --action add_mcp --name "jina-search" --mcp-type "sse" --config '{"url": "https://mcp.jina.ai/sse"}'
# 2. 配置需要的环境变量
scripts/bot_modifier.py --action set_env --value '{"JINA_API_KEY": "jina_xxx"}'
```
### 工作流 3: 上传并启用新技能
```bash
# 1. 上传技能包
scripts/bot_modifier.py --action upload_skill --file /path/to/my-skill.zip
# 2. 启用技能
scripts/bot_modifier.py --action enable_skill --value "my-skill"
# 3. 配置技能所需的环境变量
scripts/bot_modifier.py --action set_env --value '{"SKILL_API_KEY": "xxx"}'
```