--- 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 "" ``` ### 技能操作 ```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` | 设置建议问题(需要 --value,JSON 数组) | | `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` | 修改环境变量(需要 --value,JSON 格式) | ## 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"}' ```