@liangjie559567/ultrapower 5.4.8 → 5.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/bridge/codex-server.cjs +1 -0
- package/bridge/gemini-server.cjs +4 -2
- package/bridge/mcp-server.cjs +75 -4
- package/bridge/team-bridge.cjs +400 -55
- package/dist/features/rate-limit-wait/daemon.d.ts.map +1 -1
- package/dist/features/rate-limit-wait/daemon.js +39 -6
- package/dist/features/rate-limit-wait/daemon.js.map +1 -1
- package/dist/hooks/__tests__/bridge-security.test.js +94 -1
- package/dist/hooks/__tests__/bridge-security.test.js.map +1 -1
- package/dist/hooks/bridge-normalize.d.ts.map +1 -1
- package/dist/hooks/bridge-normalize.js +5 -2
- package/dist/hooks/bridge-normalize.js.map +1 -1
- package/dist/hooks/subagent-tracker/__tests__/syncSleep.test.d.ts +10 -0
- package/dist/hooks/subagent-tracker/__tests__/syncSleep.test.d.ts.map +1 -0
- package/dist/hooks/subagent-tracker/__tests__/syncSleep.test.js +112 -0
- package/dist/hooks/subagent-tracker/__tests__/syncSleep.test.js.map +1 -0
- package/dist/hooks/subagent-tracker/index.d.ts.map +1 -1
- package/dist/hooks/subagent-tracker/index.js +37 -5
- package/dist/hooks/subagent-tracker/index.js.map +1 -1
- package/dist/lib/__tests__/atomic-write.test.d.ts +2 -0
- package/dist/lib/__tests__/atomic-write.test.d.ts.map +1 -0
- package/dist/lib/__tests__/atomic-write.test.js +197 -0
- package/dist/lib/__tests__/atomic-write.test.js.map +1 -0
- package/dist/mcp/__tests__/gemini-yolo-env.test.d.ts +2 -0
- package/dist/mcp/__tests__/gemini-yolo-env.test.d.ts.map +1 -0
- package/dist/mcp/__tests__/gemini-yolo-env.test.js +274 -0
- package/dist/mcp/__tests__/gemini-yolo-env.test.js.map +1 -0
- package/dist/mcp/gemini-core.d.ts +1 -0
- package/dist/mcp/gemini-core.d.ts.map +1 -1
- package/dist/mcp/gemini-core.js +11 -2
- package/dist/mcp/gemini-core.js.map +1 -1
- package/dist/notifications/__tests__/sleepMs.test.d.ts +10 -0
- package/dist/notifications/__tests__/sleepMs.test.d.ts.map +1 -0
- package/dist/notifications/__tests__/sleepMs.test.js +117 -0
- package/dist/notifications/__tests__/sleepMs.test.js.map +1 -0
- package/dist/notifications/session-registry.d.ts.map +1 -1
- package/dist/notifications/session-registry.js +35 -2
- package/dist/notifications/session-registry.js.map +1 -1
- package/dist/team/mcp-team-bridge.d.ts.map +1 -1
- package/dist/team/mcp-team-bridge.js +2 -1
- package/dist/team/mcp-team-bridge.js.map +1 -1
- package/dist/tools/__tests__/state-tools.test.js +76 -0
- package/dist/tools/__tests__/state-tools.test.js.map +1 -1
- package/dist/tools/lsp/__tests__/client-timer-buffer.test.d.ts +11 -0
- package/dist/tools/lsp/__tests__/client-timer-buffer.test.d.ts.map +1 -0
- package/dist/tools/lsp/__tests__/client-timer-buffer.test.js +222 -0
- package/dist/tools/lsp/__tests__/client-timer-buffer.test.js.map +1 -0
- package/dist/tools/lsp/__tests__/command-exists.test.d.ts +2 -0
- package/dist/tools/lsp/__tests__/command-exists.test.d.ts.map +1 -0
- package/dist/tools/lsp/__tests__/command-exists.test.js +104 -0
- package/dist/tools/lsp/__tests__/command-exists.test.js.map +1 -0
- package/dist/tools/lsp/client.d.ts.map +1 -1
- package/dist/tools/lsp/client.js +15 -0
- package/dist/tools/lsp/client.js.map +1 -1
- package/dist/tools/lsp/servers.d.ts +7 -1
- package/dist/tools/lsp/servers.d.ts.map +1 -1
- package/dist/tools/lsp/servers.js +14 -3
- package/dist/tools/lsp/servers.js.map +1 -1
- package/dist/tools/state-tools.d.ts +9 -8
- package/dist/tools/state-tools.d.ts.map +1 -1
- package/dist/tools/state-tools.js +44 -1
- package/dist/tools/state-tools.js.map +1 -1
- package/docs/reviews/draft-prd-ultrapower-pain-fix/review_tech.md +219 -0
- package/docs/reviews/draft_prd_pain_points/review_domain.md +215 -0
- package/docs/reviews/ultrapower-full-bugfix-plan/review_product.md +135 -0
- package/docs/reviews/ultrapower-pain-points/review_critic.md +181 -0
- package/docs/reviews/ultrapower-pain-points/review_ux.md +167 -0
- package/package.json +1 -1
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
# UX Review: ultrapower 项目全面痛点修复计划
|
|
2
|
+
|
|
3
|
+
> 评审人:UX Director (axiom-ux-director)
|
|
4
|
+
> 评审日期:2026-03-01
|
|
5
|
+
> PRD 版本:Draft v1(生成时间 2026-03-01)
|
|
6
|
+
> 产品版本:ultrapower v5.4.8
|
|
7
|
+
> PRD 文件:`.omc/axiom/draft_prd_pain_points.md`
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 1. Flow Analysis (流程分析)
|
|
12
|
+
|
|
13
|
+
### 用户旅程识别
|
|
14
|
+
|
|
15
|
+
本 PRD 所描述的修复工作直接影响三类用户的日常工作流:
|
|
16
|
+
|
|
17
|
+
| 用户类型 | 受影响的核心场景 | PRD 现有覆盖 |
|
|
18
|
+
|---------|----------------|------------|
|
|
19
|
+
| Windows 日常用户 | 导出工作流、auto-update、路径操作 | P1-1~P1-4 有覆盖,但缺少用户感知层设计 |
|
|
20
|
+
| AI 辅助工作流用户 | 调用 skills/agents、查询状态 | P2-1~P2-4 覆盖命名空间,但无迁移提示方案 |
|
|
21
|
+
| 贡献者/高级用户 | 依赖文档与实现一致性 | P2-5~P2-7 覆盖文档漂移,但修复后的用户通知机制未定义 |
|
|
22
|
+
|
|
23
|
+
### 流程问题逐项分析
|
|
24
|
+
|
|
25
|
+
**Step 1 - 用户触发 skill,系统静默失败(P0-5 prompt-injection 静默失败)**
|
|
26
|
+
|
|
27
|
+
用户调用 agent role 时,若文件系统扫描失败,系统返回空数组并拒绝所有合法 role,
|
|
28
|
+
用户看到的是"无可用 role"这一令人困惑的状态,而非明确的错误说明。
|
|
29
|
+
PRD 修复方案仅提到输出 `console.warn`,这对终端用户不可见。
|
|
30
|
+
|
|
31
|
+
**Step 2 - 用户调用旧命名空间命令,触发无响应或报错(P2-1~P2-2)**
|
|
32
|
+
|
|
33
|
+
6 个 skills 和 3 个 commands 仍使用 `superpowers:` 旧命名空间。
|
|
34
|
+
当 AI 执行这些 skill 时,找不到对应 skill,用户只会看到静默失败或
|
|
35
|
+
模糊的"skill not found"信息,无法知道命名空间已迁移。
|
|
36
|
+
PRD 的修复方案是批量替换,但未定义过渡期用户提示。
|
|
37
|
+
|
|
38
|
+
**Step 3 - Windows 用户调用 ax-export,功能完全不可用(P1-4)**
|
|
39
|
+
|
|
40
|
+
Windows 用户(本产品主运行环境)调用 `/ultrapower:ax-export` 时,
|
|
41
|
+
依赖 `/tmp` 目录和 `zip` 命令,两者在 Windows 均不存在。
|
|
42
|
+
用户面对的是功能"无声死亡"——没有友好的"此功能在 Windows 下需要 PowerShell"提示。
|
|
43
|
+
|
|
44
|
+
**Step 4 - 用户查询状态(ax-status),系统读取不存在的文件(P2-4)**
|
|
45
|
+
|
|
46
|
+
`/ultrapower:ax-status` Step 1 尝试读取 `.omc/state/axiom-context.json`,
|
|
47
|
+
该文件不存在。用户会看到空结果或错误,误以为系统未初始化或状态丢失。
|
|
48
|
+
这是用户最高频的状态查询场景,确认动作失败直接破坏信任感。
|
|
49
|
+
|
|
50
|
+
**Step 5 - session-recovery 误报成功(P1-8)**
|
|
51
|
+
|
|
52
|
+
`recoverToolResultMissing` 函数仅返回 `true` 而无实际恢复。
|
|
53
|
+
用户会收到"恢复成功"的隐性信号(调用方不报错),随后发现工作上下文实际丢失,
|
|
54
|
+
引发困惑和对系统可靠性的怀疑。这是情感体验破坏最严重的缺陷之一。
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## 2. UI/Visual Feedback (视觉反馈)
|
|
59
|
+
|
|
60
|
+
### 错误提示组件(当前状态:大量静默失败)
|
|
61
|
+
|
|
62
|
+
- **P0-5 prompt-injection 静默失败**:扫描失败时返回空数组,无任何用户可见提示。
|
|
63
|
+
改进点:需要在 CLI 输出层(而非仅 `console.warn`)提供可见的 fallback 说明,
|
|
64
|
+
格式建议:`[ultrapower] 警告:角色列表加载失败,已使用默认角色列表。`
|
|
65
|
+
- **P1-8 session-recovery 误报**:`return true` 对用户产生成功假象。
|
|
66
|
+
改进点:应明确区分"恢复成功"和"恢复跳过(未实现)"两种状态的用户反馈。
|
|
67
|
+
|
|
68
|
+
### 命名空间迁移提示组件(当前状态:无任何迁移引导)
|
|
69
|
+
|
|
70
|
+
- **P2-1~P2-2 旧命名空间**:修复后旧命令失效,但 PRD 未定义用户如何得知迁移。
|
|
71
|
+
改进点:应在旧命令的 Skill 文档顶部添加废弃声明标记;
|
|
72
|
+
或在 hook 层对 `superpowers:` 命名空间添加拦截,
|
|
73
|
+
输出友好迁移提示:`[ultrapower] 提示:此命令已迁移至 /ultrapower:xxx,请更新您的工作流。`
|
|
74
|
+
|
|
75
|
+
### 平台感知提示组件(当前状态:无平台检测提示)
|
|
76
|
+
|
|
77
|
+
- **P1-4 ax-export Windows 不可用**:无任何错误或引导说明。
|
|
78
|
+
改进点:skill 加载时进行平台检测,Windows 下提示替代方案,
|
|
79
|
+
格式建议:`[ultrapower] ax-export:当前平台为 Windows,将使用 PowerShell Compress-Archive 替代 zip。`
|
|
80
|
+
|
|
81
|
+
### 文档版本一致性组件(当前状态:版本漂移 5.2.2 vs 5.4.8)
|
|
82
|
+
|
|
83
|
+
- **P2-5 AGENTS.md 版本滞后**:用户参考 AGENTS.md 时看到 v5.2.2,
|
|
84
|
+
与实际安装版本 v5.4.8 不符,产生"文档是否过时"的困惑。
|
|
85
|
+
改进点:版本号应作为 release skill 的强制检查项,避免人工遗漏。
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## 3. Usability Score (1-10)
|
|
90
|
+
|
|
91
|
+
**当前 PRD 的 UX 覆盖评分:5 / 10**
|
|
92
|
+
|
|
93
|
+
| 维度 | 得分 | 理由 |
|
|
94
|
+
|------|------|------|
|
|
95
|
+
| 效率(Efficiency) | 5/10 | 命名空间修复(P2-1~P2-2)和路径修复(P1-4)将减少用户操作失败,但修复后无引导的迁移设计会产生新的摩擦。 |
|
|
96
|
+
| 清晰度(Clarity) | 4/10 | 静默失败问题(P0-5、P1-8)是最大的清晰度杀手。PRD 修复方案偏技术层,未充分设计用户可见的反馈层。 |
|
|
97
|
+
| 学习曲线(Learning Curve) | 5/10 | ax-status 读取错误文件(P2-4)直接破坏新用户的上手体验。文档版本漂移(P2-5)让用户无法信任参考资料。 |
|
|
98
|
+
| 视觉层级(Visual Hierarchy) | 6/10 | Batch 1 优先修复安全问题、Batch 2 修复 Windows 兼容性的排序对用户影响优先级判断是合理的。 |
|
|
99
|
+
| 系统反馈(Feedback) | 4/10 | PRD 中多处"静默失败"问题(P0-5、P1-8、P1-9)的修复方案停留在技术层面,缺少对用户可见反馈的规范设计。 |
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Conclusion (结论)
|
|
104
|
+
|
|
105
|
+
**评审结论:Optimizable(可优化)**
|
|
106
|
+
|
|
107
|
+
PRD 的技术优先级分层(P0/P1/P2/P3)准确、分批计划合理,
|
|
108
|
+
显示出清晰的工程系统思维。118 个问题的全面扫描覆盖也令人肯定。
|
|
109
|
+
但从用户体验角度审视,当前草稿存在一个系统性盲区:
|
|
110
|
+
**技术修复方案设计得足够精准,但用户可见的反馈层几乎被完整遗漏**。
|
|
111
|
+
修复代码不等于修复体验,尤其是静默失败类问题,若仅修复底层逻辑而不设计用户侧提示,
|
|
112
|
+
用户的实际感知改善将低于预期。
|
|
113
|
+
|
|
114
|
+
### Top 3 亟待改进
|
|
115
|
+
|
|
116
|
+
**1. 静默失败必须设计用户可见的错误反馈(最高优先级)**
|
|
117
|
+
|
|
118
|
+
P0-5(prompt-injection 空数组)和 P1-8(session-recovery 误报 true)是两个典型案例,
|
|
119
|
+
代表了本 PRD 中"技术修复有了,用户提示没有"的系统性问题。
|
|
120
|
+
建议在 PRD 中增加统一规范:**所有静默失败修复项,必须同步定义用户可见的错误/降级提示文案**,
|
|
121
|
+
格式、等级(警告/错误/信息)和展示位置(CLI 输出、HUD 状态栏)均需明确。
|
|
122
|
+
|
|
123
|
+
**2. 命名空间迁移必须包含用户引导方案(高优先级)**
|
|
124
|
+
|
|
125
|
+
P2-1~P2-2 的"批量替换 superpowers: → ultrapower:"仅修复了文件内容,
|
|
126
|
+
但没有考虑:已有用户记忆中的旧命令如何被引导更新?
|
|
127
|
+
建议在 Batch 3 的执行计划中补充:
|
|
128
|
+
(a) 在旧命名空间的 skill/command 文档中添加废弃声明;
|
|
129
|
+
(b) 在 hook 层对 `superpowers:` 调用添加友好拦截提示,而非静默失败。
|
|
130
|
+
|
|
131
|
+
**3. Windows 平台缺陷修复需验收用户视角的体验闭环(高优先级)**
|
|
132
|
+
|
|
133
|
+
P1-4(ax-export 使用 /tmp 和 zip)的修复目标是"改用 os.tmpdir() 并提供 PowerShell 替代",
|
|
134
|
+
但验收标准(第十二节)仅描述了技术验证条件,
|
|
135
|
+
缺少从用户角度的验收:Windows 用户调用 ax-export 时能否收到清晰的平台说明?
|
|
136
|
+
功能是否能够端到端完成并给出成功/失败的明确反馈?
|
|
137
|
+
建议在验收标准中补充:**P1-x Windows 修复项,须在 Windows 11 真实环境中完整演示用户交互流程**。
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## 附:遗漏的用户可感知体验问题
|
|
142
|
+
|
|
143
|
+
以下问题在当前 PRD 中未被明确覆盖,建议评估是否纳入后续批次:
|
|
144
|
+
|
|
145
|
+
**D-UX-遗漏-01:ax-status 失败后的恢复引导缺失**
|
|
146
|
+
P2-4 修复了 ax-status 读取错误路径,但未定义当 `.omc/axiom/active_context.md`
|
|
147
|
+
本身内容异常时,用户如何被引导执行修复(例如提示 `/ultrapower:ax-draft` 重新初始化)。
|
|
148
|
+
|
|
149
|
+
**D-UX-遗漏-02:MCP job-management 阻塞对用户的感知**
|
|
150
|
+
P1-10 描述 handleWaitForJob 阻塞事件循环,但未说明阻塞期间用户侧的体验:
|
|
151
|
+
是界面无响应?还是 MCP 工具不可用?用户如何判断系统是正常运行还是卡死?
|
|
152
|
+
|
|
153
|
+
**D-UX-遗漏-03:AGENTS.md 版本漂移的主动通知机制**
|
|
154
|
+
P2-5 修复版本号本身,但未建立机制确保未来不再漂移。
|
|
155
|
+
建议将 AGENTS.md 版本同步纳入 release skill 的自动化检查清单,
|
|
156
|
+
而非依赖人工记忆,从根本上消除此类漂移对用户的困扰。
|
|
157
|
+
|
|
158
|
+
**D-UX-遗漏-04:P3 拼写错误("preceeding")的用户影响**
|
|
159
|
+
P3 中提到 session-recovery.ts 有"preceeding"拼写错误。
|
|
160
|
+
虽被归入代码质量,但若该文字暴露在用户可见的错误消息中,
|
|
161
|
+
则应提升为 P2 的体验问题处理。PRD 未区分"内部注释"和"用户可见文本"的拼写错误。
|
|
162
|
+
|
|
163
|
+
**D-UX-遗漏-05:delegation-enforcer 死区对 AI 辅助工作流的影响**
|
|
164
|
+
P1-9 描述 delegation-enforcer 集成测试整体跳过、功能从未生效。
|
|
165
|
+
用户在使用依赖该 enforcer 执行的工作流时,委派行为不符合预期,
|
|
166
|
+
但系统不报错——这是一个对 AI 辅助工作流质量有直接影响的隐形 bug,
|
|
167
|
+
其用户影响可能远大于 P1 的评级。
|