---
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"}'
```
