用户技能无法使用bug

Bug 报告:dashiai-ppt 等用户技能已安装但未被注入运行时可用技能列表

字段 内容
报告编号 TRAE-SKILL-20260714-001
报告日期 2026-07-14 (Asia/Shanghai)
报告人 用户(通过 AI 助手生成)
影响版本 TRAE SOLO CN(Node.js v22.16.0 运行环境)
受影响技能 dashiai-pptexammmx-cli(共 3 个)
严重等级 High — 已安装功能完全不可用,无 workaround
类型 Bug
状态 Open

1. 问题描述

核心问题: 用户在 TRAE 的"技能市场 → 已安装"面板中确认 dashiai-ppt 技能已安装且开关处于开启状态(绿色),但在 AI 助手运行时,该技能未被注入到 <available_skills> 列表中,导致 AI 无法通过 Skill 工具调用它。

同一面板中的其他用户技能(如 security-best-practicestheme-factory 等)则被正常注入,功能完全可用。


2. 复现步骤

  1. 在 TRAE 中打开"技能市场",切换到"已安装"标签页
  2. 确认 dashiai-ppt 技能存在且开关为绿色(已启用)
  3. 在 AI 对话中发送指令:Use Skill: dashiai-ppt
  4. 观察 AI 助手的行为

预期行为: AI 助手通过 Skill 工具激活 dashiai-ppt 技能,加载该技能的指令文件,并按其定义执行 PPT 创建流程。

实际行为: AI 助手无法找到 dashiai-ppt,返回"该技能不在当前可用技能列表中"。用户即使明确指示 Use Skill: dashiai-ppt,系统仍无法调用。


3. 证据与对比分析

3.1 截图证据

用户提供的截图(2026-07-14)清晰显示 dashiai-ppt 位于"已安装"列表中,分类为"来自用户",开关状态为绿色(ON)。

3.2 技能注入对比表

将截图中可见的已安装技能与运行时 <available_skills> 列表逐项比对:

技能名称 截图显示已安装 运行时可用列表 状态
security-best-practices 正常
theme-factory 正常
c-drive-cleaner 正常
darwin-skill 正常
dashiai-ppt 异常
document-pro 正常
exam 异常
gongkao-interview-question 正常
humanizer-zh 正常
ima-skill 正常
mmx-cli 异常
neat-freak 正常

统计: 12 个已安装技能中,9 个正常注入,3 个缺失。缺失率 25%。


4. 根因分析

4.1 排除"用户操作错误"

技能开关已为绿色(ON),且在"已安装"列表中可见——用户操作完全正确。

4.2 排除"设计如此"

同为"来自用户"分类的技能,大部分被正确注入(如 security-best-practices),只有部分被遗漏。如果这是设计限制,应该全部不注入,而非"部分生效"。这种不一致性是 Bug 的典型特征。

4.3 可能的技术根因(按可能性排序)

  • 可能性 A(高):SKILL.md 元数据解析失败dashiai-pptexammmx-cli 的技能定义文件可能存在格式问题(如缺少必需字段、编码异常、特殊字符),导致系统在构建可用技能列表时跳过了它们,但未在 UI 中标记为"加载失败"。
  • 可能性 B(中):技能列表缓存未刷新 — 技能安装后,运行时的 <available_skills> 注入可能依赖缓存。如果缓存未在安装后失效重建,新安装的技能不会出现在运行时列表中。但这无法解释为何部分新安装技能(如 darwin-skill)能正常出现。
  • 可能性 C(中):名称冲突或过滤规则误杀 — 系统可能对技能名称有某种校验或过滤规则,这三个技能的名称可能触发了误判(如 dashiai-ppt 中的连字符、mmx-cli 中的缩写等)。
  • 可能性 D(低):安装不完整 — 技能在 UI 层面显示为"已安装",但底层文件可能缺失或未写入正确路径。UI 仅检查了注册状态而非文件完整性。

5. 影响

  • 功能完全不可用: 用户安装了 dashiai-ppt 但无法使用,核心需求被阻断
  • 无 Workaround: AI 助手无法绕过系统注入机制直接调用未注册的技能
  • 用户体验受损: 用户可能误以为是 AI 助手的问题或自己的操作错误,浪费时间排查
  • 批量性问题: 不只是单个技能,而是 25% 的用户安装技能受影响

6. 建议修复方案

短期修复(用户侧)

  1. 尝试在技能管理面板中关闭 dashiai-ppt 再重新打开,触发重新注册
  2. 尝试卸载后重新安装该技能
  3. 重启 TRAE 应用,强制刷新运行时技能缓存

长期修复(开发侧)

  1. 增加加载失败反馈: 当技能定义文件解析失败时,在 UI 中标记为"加载失败"并显示原因,而非静默跳过
  2. 强化缓存失效机制: 技能安装/卸载/启用/禁用操作后,强制失效运行时技能缓存并重建
  3. 增加启动时一致性校验: 应用启动时对比"UI 已安装技能"与"运行时可用技能"列表,不一致时发出警告
  4. 完善 SKILL.md 解析的容错性: 对格式问题给出明确报错而非静默跳过

7. 诊断信息

环境信息:
  操作系统: Windows
  TRAE 版本: TRAE SOLO CN
  Node.js: v22.16.0
  pptxgenjs: 4.0.1 (全局安装)

受影响技能清单:
  1. dashiai-ppt  — PPT/演示文稿创建
  2. exam         — 练习测试/闪卡/学习计划生成
  3. mmx-cli      — MiniMax AI 平台集成

正常工作的技能(对照组):
  security-best-practices, theme-factory, c-drive-cleaner,
  darwin-skill, document-pro, gongkao-interview-question,
  humanizer-zh, ima-skill, neat-freak

**报错信息或截图(如有):**
![image|596x500](upload://blc2Mkgtigde0dXlYh6T2E5DgCt.png)
![image|690x466](upload://gWBL81snAmHu60XVK5mUAle239f.png)

> 请在此处粘贴截图或日志代码

收到你非常详细的排查报告!针对 TRAE Work(原 SOLO)中部分技能已安装但未被注入运行列表的问题,这确实通常是因为 SKILL.md 元数据解析失败导致的。

根据目前的已知情况,最常见的两个原因是:

  1. 文件编码带有 BOM:技能文件带有 UTF-8 BOM(Byte Order Mark)头部,这会导致 YAML 解析器无法正确识别文件开头的 ---,从而使整个技能元数据解析失败(BOM 字符肉眼通常不可见)。
  2. 特殊字符干扰:技能的 description 等字段中如果包含了中文双引号(“ ”),嵌在 YAML 的双引号字符串内部时会提前终止字符串,导致解析失败。

这正好印证了你分析的“可能性 A”。你可以尝试用代码编辑器检查一下这几个受影响技能(如 dashiai-pptexam)的 SKILL.md 文件,移除 BOM 头部或替换中文双引号,然后重新上传安装试试看~

感谢你这么专业的分析和反馈!如果处理后还是不行,随时叫我,我们继续排查 :blush:

:paperclip: 参考文档:https://docs.trae.cn

一句话说一下你遇到的问题

手动安装的skill无法使用