@hupan56/wlkj 2.7.1 → 2.7.2

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.
Files changed (2) hide show
  1. package/MAC-VERIFY.md +174 -0
  2. package/package.json +3 -2
package/MAC-VERIFY.md ADDED
@@ -0,0 +1,174 @@
1
+ # macOS 验证清单 (v2.7.1)
2
+
3
+ > 给 mac 同事跑这份清单,验证工作流在 macOS × Qoder 全系列上可用。
4
+ > 跑完把结果(每条 ✓/✗ + 截图或输出)反馈回来。
5
+ > 预计耗时:15-20 分钟(含装环境)。
6
+
7
+ ## 已在 Windows 上模拟验证的项(mock sys.platform=darwin)
8
+
9
+ 这些项已用 `mock sys.platform='darwin'` 在 Windows 上验证过逻辑正确,
10
+ mac 同事只需确认真实环境跑通(不需要深入查代码):
11
+
12
+ | 验证项 | 模拟结果 | 说明 |
13
+ |--------|---------|------|
14
+ | detectPyCmd(python3 探测) | ✓ PASS | mac 上 python 不存在时正确回退 python3 |
15
+ | .repo-root 锚点 | ✓ PASS | 用 PROJECT_ROOT,从任意 cwd 跑都指向仓库根 |
16
+ | venv 路径分支 | ✓ PASS | mac 下正确指向 `bin/python`(非 Scripts/python.exe) |
17
+ | find_repo_root 4 级回退 | ✓ PASS | 纯 os.path,跨平台无硬编码分隔符 |
18
+ | _find_python_with_deps | ✓ PASS | 用 shutil.which 探测,不硬编码 mac 路径 |
19
+
20
+ ## 前置:你的 mac 环境是什么
21
+
22
+ 先跑这条,把基础信息发回来:
23
+ ```bash
24
+ sw_vers # macOS 版本
25
+ which python python3 node git brew 2>/dev/null # 已装的工具
26
+ ```
27
+
28
+ ---
29
+
30
+ ## 阶段 1:环境安装(如果 python/node 没装)
31
+
32
+ ```bash
33
+ npx @hupan56/wlkj install-env --check
34
+ ```
35
+ **预期**:列出 Node/Python/git 检测结果。缺哪个会标 `[缺失]`。
36
+
37
+ 如果缺,去掉 `--check` 自动装(用 brew):
38
+ ```bash
39
+ npx @hupan56/wlkj install-env
40
+ ```
41
+ **预期**:`[OK] Node.js 已装` / `[OK] Python 已装` / pip 依赖装上(失败会切清华镜像)。
42
+
43
+ **关键验证点**(本轮修复):
44
+ - pip 装包如果默认源失败,应该自动切"清华"镜像重试
45
+ - 如果看到 `pip 安装失败 (尝试了所有镜像)` 才算异常
46
+
47
+ **mac 专属排查(brew 装完 PATH 未更新的常见坑)**:
48
+ - `brew install python@3.12` 装完后,**当前终端的 PATH 可能还没更新**,
49
+ 导致 `python3: command not found`。
50
+ - 如果装完仍报缺失,**重开一个终端**再跑 `install-env --check`。
51
+ - 或手动验证:`which python3`(应指向 `/opt/homebrew/bin/python3` 或 `/usr/local/bin/python3`)
52
+ - 如果 `which python3` 找不到,跑:`brew link python@3.12` 或按 brew 提示加 PATH。
53
+
54
+ ---
55
+
56
+ ## 阶段 2:初始化工作流
57
+
58
+ ```bash
59
+ cd ~/your-workspace # 你放工作流的目录
60
+ npx @hupan56/wlkj init 你的名字 你的角色
61
+ ```
62
+ 角色填:`pm` / `design` / `dev` / `test` / `admin`
63
+
64
+ **预期**:
65
+ - 环境检测:`Python: [OK] Python 3.x.x (python3)` ← **mac 上应该是 python3,不是 python**
66
+ - 角色选择菜单(如果没传角色参数):列出 5 个角色让你选
67
+ - 安装完成:`安装完成! (v2.7.0)`
68
+
69
+ **关键验证点**(本轮修复):
70
+ - macOS 上用 `python3` 不报错(旧版硬编码 `python` 会 `command not found`)
71
+ - 角色不是写死的 pm(旧版所有人都是 pm)
72
+
73
+ ---
74
+
75
+ ## 阶段 3:状态检查
76
+
77
+ ```bash
78
+ npx @hupan56/wlkj status
79
+ ```
80
+ **预期**:
81
+ ```
82
+ dev: 你的名字 (角色: dev) ← 显示你的角色,不是 pm
83
+ ...
84
+ engine: 2.7.0 (最新: v2.7.0) [最新]
85
+ ```
86
+
87
+ ---
88
+
89
+ ## 阶段 4:MCP 健康检查(核心!)
90
+
91
+ ```bash
92
+ python3 .qoder/scripts/check_mcp.py
93
+ ```
94
+ **预期**:7 项检查,每项 `[OK]` 或 `[WARN]`(WARN 是可选功能没装,正常):
95
+ ```
96
+ --- 1. mcp.json 配置 ---
97
+ [OK] mcp.json 存在, 注册了 4 个 server
98
+ [OK] N 个 server 用 launcher 模式
99
+ --- 2. 仓库根定位 ---
100
+ [OK] .repo-root 锚点正确: /Users/你的名字/your-workspace
101
+ --- 3. MCP launcher ---
102
+ [OK] launcher 存在: ~/.qoderwork/mcp_launcher.py
103
+ --- 4. 知识图谱 MCP (kg) ---
104
+ [OK] kg 就绪 (python=..., 装了 duckdb)
105
+ --- 5. MySQL MCP ---
106
+ [OK/WARN] ...
107
+ --- 6. 蓝湖 MCP ---
108
+ [OK/WARN] ...
109
+ --- 7. Playwright MCP ---
110
+ [OK/WARN] ...
111
+ 所有 MCP 就绪, Qoder 全系列可正常调用。
112
+ ```
113
+
114
+ **关键验证点**(本轮修复):
115
+ - `.repo-root 锚点正确` 指向你的工作流目录(旧版可能指向错误目录)
116
+ - 末尾 `所有 MCP 就绪` 或明确列出未就绪项
117
+
118
+ ---
119
+
120
+ ## 阶段 5:QoderWork 桌面端验证
121
+
122
+ 1. 打开 QoderWork 桌面端
123
+ 2. 新建对话,输入:`/wl-status`
124
+ 3. **预期**:显示项目状态,含"当前角色: 你的角色名"
125
+
126
+ **关键验证点**:
127
+ - MCP 工具能调(说"查一下车辆代码",kg MCP 响应)
128
+ - 不出现"MCP 连接失败"黄标
129
+
130
+ ---
131
+
132
+ ## 阶段 6:性能感受(非必须,主观)
133
+
134
+ - `/wl-search 车辆`:应该 < 1 秒返回
135
+ - `/wl-prd-quick` 写个小需求:取上下文 + 出原型应该顺畅
136
+
137
+ 如果某个命令明显卡(> 5 秒),记下是哪个命令 + 大概多久。
138
+
139
+ ---
140
+
141
+ ## 反馈格式
142
+
143
+ 跑完把这份填回来:
144
+ ```
145
+ 阶段1 环境: ✓/✗ (备注)
146
+ 阶段2 init: ✓/✗ (python3 是否正常 / 角色是否正确)
147
+ 阶段3 status: ✓/✗ (角色显示对不对)
148
+ 阶段4 check_mcp: ✓/✗ (几个 OK / 几个 WARN / 有无 BAD)
149
+ 阶段5 QoderWork: ✓/✗ (MCP 是否绿 / 工具能否调)
150
+ 阶段6 性能: (主观, 卡不卡)
151
+ ```
152
+
153
+ 有 ✗ 的项,把完整命令输出贴回来,我来定位修复。
154
+
155
+ ---
156
+
157
+ ## mac 专属注意事项(Windows 上测不到的坑)
158
+
159
+ 1. **cron 全盘访问**:init 时会装周五 18:00 的定时更新(setup_weekly_cron.sh)。
160
+ macOS 默认 cron 没磁盘权限,任务会静默失败。
161
+ - 现象:`.qoder/logs/weekly-update.log` 不增长或报权限错
162
+ - 修复:系统设置 → 隐私与安全 → 完全磁盘访问 → 添加 `/usr/sbin/cron`
163
+ - 不影响日常使用,只影响每周自动更新(可手动跑 git_sync.py 替代)
164
+
165
+ 2. **brew python 的 PATH**:见阶段 1 的排查提示。brew 装完要重开终端。
166
+
167
+ 3. **lanhu venv 路径**:mac 上是 `.venv/bin/python`(非 Windows 的 `Scripts/python.exe`)。
168
+ check_mcp.py 已适配,但如果 setup_lanhu.py 没在 mac 上测过,留意这步。
169
+
170
+ 4. **文件权限**:mac 上从 git 拉的 .sh 脚本可能没执行权限。
171
+ 如果 `setup_weekly_cron.sh` 报 permission denied:`chmod +x .qoder/scripts/*.sh`
172
+
173
+ 5. **大小写敏感文件系统**:mac 默认大小写不敏感(APFS),
174
+ 如果代码里有 `Search.py` 和 `search.py` 会冲突。工作流脚本都是小写,一般无碍。
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "@hupan56/wlkj",
3
- "version": "2.7.1",
3
+ "version": "2.7.2",
4
4
  "description": "AI Product R&D Workflow - PRD/Prototype/Search/Task/Report",
5
5
  "bin": {
6
6
  "wlkj": "bin/cli.js"
7
7
  },
8
8
  "files": [
9
9
  "bin/",
10
- "templates/"
10
+ "templates/",
11
+ "MAC-VERIFY.md"
11
12
  ],
12
13
  "keywords": [
13
14
  "workflow",