--- name: 更新智能体 description: >- 安全更新现有智能体的配置、人格、原则、技能与记忆,输出可审阅 diff 并在确认后应用与提交。Use when 用户要求修改 Agent 行为、安装/卸载技能、调整配置、回滚变更或修订规则。 version: 3.0.2 type: meta risk_level: low status: enabled disable-model-invocation: true tags: - agent - update - meta metadata: author: desirecore updated_at: '2026-03-17' market: icon: >- short_desc: 安全更新智能体配置、人格、规则与技能,支持 diff 预览与版本回滚 category: productivity maintainer: name: DesireCore Official verified: true compatible_agents: [] channel: latest --- # update-agent 技能 ## L0:一句话摘要 通过自然语言对话,安全地修改 Agent 的配置、人格、规则和技能。 ## L1:概述与使用场景 ### 能力描述 update-agent 是一个**元技能(Meta-Skill)**,允许用户通过对话方式修改 Agent 的各项配置。所有修改都会生成可审阅的 diff 补丁,经用户确认后才会应用,并支持版本回滚。 ### 使用场景 - 用户想要调整 Agent 的沟通风格("说话再正式一点") - 需要添加新的行为规则("以后遇到敏感话题要先提醒我") - 安装或卸载技能包("学会写合同吧") - 批量更新多项配置("全面升级一下你的能力") ### 核心价值 - **安全可控**:所有变更需用户确认,支持回滚 - **透明可见**:变更以 diff 形式展示,清晰明了 - **版本管理**:通过 Git 管理版本,可追溯历史 ## L2:详细规范 ### 支持的更新类型 | 更新类型 | 目标文件 | 风险等级 | 示例 | | --------------- | --------------- | -------- | -------------------- | | Persona 更新 | `persona.md` | 中 | 修改沟通风格、价值观 | | Principles 更新 | `principles.md` | 高 | 添加/修改行为规则 | | Skills 安装 | `skills/` | 中 | 添加新技能包 | | Skills 卸载 | `skills/` | 低 | 移除技能包 | | Memory 更新 | `memory/` | 低 | 添加知识条目 | | Tools 配置 | `tools/` | 高 | 修改工具权限 | ### 对话流程 ``` ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ 意图识别 │ ──→ │ 变更分析 │ ──→ │ Diff 生成 │ └──────────────┘ └──────────────┘ └──────────────┘ │ ↓ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ 回执生成 │ ←── │ 变更应用 │ ←── │ 用户确认 │ └──────────────┘ └──────────────┘ └──────────────┘ ``` ### 阶段 1:意图识别 **触发条件**(任一满足): - 用户说"修改你的..."、"更新你的..."、"调整一下..." - 用户说"你以后要..."、"记住这个规则..." - 用户说"安装/卸载这个技能..." - 用户描述对当前行为的不满并期望改变 **输出**:识别更新类型和目标范围。 ### 阶段 2:变更分析 **分析维度**: | 维度 | 说明 | | -------- | ------------------------ | | 影响范围 | 影响哪些文件、哪些行为 | | 风险等级 | 低/中/高(见风险分级表) | | 依赖检查 | 是否影响其他配置 | | 冲突检测 | 是否与现有规则冲突 | **风险分级表**: | 风险等级 | 条件 | 确认要求 | | -------- | ------------------------------ | ---------------------- | | 低 | 仅影响非核心配置(如记忆条目) | 简单确认 | | 中 | 影响 persona 或普通 principles | 展示 diff 后确认 | | 高 | 影响核心 principles 或工具权限 | 详细说明 + diff + 确认 | | 受保护 | 触及受保护路径 | 阻断,需 owner 权限 | ### 阶段 3:Diff 生成 **Diff 格式示例**: ```diff # persona.md ## 沟通风格 - 友好、随和、轻松幽默 + 专业、严谨、适度幽默 ## 决策偏好 保持不变... ``` **Diff 元数据**: ```yaml diff_metadata: files_affected: 1 lines_added: 1 lines_removed: 1 risk_level: medium reversible: true estimated_impact: '沟通风格会变得更正式' ``` ### 阶段 4:用户确认 **确认界面**: ``` 变更预览 影响文件: persona.md 风险等级: 中 影响说明: 沟通风格会从"友好随和"变为"专业严谨" --- 变更内容 --- [展示 diff] ---------------- 请确认是否应用此变更? [应用] [取消] [修改] ``` **确认选项**: - **应用**:执行变更 - **取消**:放弃变更 - **修改**:进入编辑模式微调 ### 阶段 5:变更应用 通过 AgentFS 直接读写文件完成变更。**不要调用 HTTP API,不要直接操作 Git**(版本管理由后端自动处理)。 **AgentFS 根目录**:`~/.desirecore/agents//` **读取文件**:使用 `cat` 命令读取目标文件当前内容。 **写入文件**:使用文本编辑工具直接写入目标文件。写入后重新读取文件确认内容正确。 **注意**:直接写入文件后,后端文件监控会自动检测变更并触发 Git 提交,无需手动执行 git 命令。 ### 阶段 6:回执生成 创建成功后,以用户友好的方式呈现回执(不要暴露内部路径或技术细节): > 已更新「法律顾问小助手」的沟通风格。 > > **变更摘要**:沟通风格从"友好随和"调整为"专业严谨" > > 如果不满意,可以随时说"撤销刚才的修改"来回滚。 ### 特殊操作:版本回滚 **触发条件**:用户说"撤销刚才的修改"、"回滚到之前的版本"、"恢复原来的设置" **回滚流程**: 1. 在 Agent 目录下执行 `git log --oneline -10` 查看最近的版本历史 2. 使用 `git show :` 获取目标版本的文件内容,展示给用户确认 3. 用户确认后,将目标版本内容写入对应文件 4. 展示变更 diff,确认回滚成功 ```bash # 查看版本历史 cd ~/.desirecore/agents/ git log --oneline -10 # 查看某个版本的文件内容 git show :persona.md ``` ### 背景知识 > AgentFS 仓库结构与受保护路径详见 `_agentfs-background.md` 和 `_protected-paths.yaml`。 **更新操作对照表**: | 用户意图 | 目标文件 | AgentFS 路径 | | -------------- | --------------- | ---------------------------------------------- | | 修改性格/风格 | `persona.md` | `~/.desirecore/agents//persona.md` | | 修改行为规则 | `principles.md` | `~/.desirecore/agents//principles.md` | | 安装/卸载技能 | `skills/` | `~/.desirecore/agents//skills/` | | 修改工具配置 | `tools/` | `~/.desirecore/agents//tools/` | | 添加记忆 | `memory/` | `~/.desirecore/agents//memory/` | | 修改运行时配置 | `agent.json` | `~/.desirecore/agents//agent.json` | ### 错误处理 | 错误场景 | 处理方式 | | ------------------ | -------------------------------------- | | 尝试修改受保护路径 | 阻断操作,提示需要 owner 权限 | | 文件不存在 | Agent 或目标文件不存在,提示用户检查 | | 权限不足 | 文件系统权限错误,提示用户检查目录权限 | | 回滚版本不存在 | 列出可用版本,请用户重新选择 | ### 权限要求 | 操作 | 所需角色 | | --------------------------- | ------------- | | 更新 persona | owner, member | | 更新 principles(普通规则) | owner, member | | 更新 principles(安全红线) | owner | | 安装/卸载 skills | owner, member | | 修改 tools 权限 | owner | | 版本回滚 | owner | --- ## 附录:更新示例 ### Persona 修改示例 **用户输入**:"说话再正式一点,不要太随意" **操作流程**: ```bash # 1. 读取当前 persona.md cat ~/.desirecore/agents/legal-assistant/persona.md # 输出示例: # # 法律顾问小助手 # ## L0 # 专业的法律咨询助手 # ## L1 # ### Role # 法律顾问 # ### Personality # 友好、随和 # ### Communication Style # 轻松幽默 # 2. 分析需要修改的部分,生成 diff 展示给用户确认 # 3. 用户确认后,直接编辑文件,将 Personality 和 Communication Style 修改为目标值 # 4. 验证写入结果 cat ~/.desirecore/agents/legal-assistant/persona.md ``` --- ### Principles 更新示例 ### 添加新规则 **用户输入**:"以后遇到法律问题,先提醒我找专业律师" **生成的 Diff**: ```diff # principles.md ## 必须做 - 始终保持礼貌和尊重 - 不确定时主动询问 + - 遇到法律相关问题时,提醒用户咨询专业律师 ## 绝不做 ... ``` ### 修改现有规则 **用户输入**:"不要每次都提醒我,太啰嗦了" **生成的 Diff**: ```diff # principles.md ## 必须做 - - 每次回答后都提醒用户检查内容 + - 仅在重要决策时提醒用户检查内容 ```