191 lines
6.5 KiB
Markdown
191 lines
6.5 KiB
Markdown
---
|
||
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` | 设置建议问题(需要 --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"}'
|
||
```
|