chore(工作区): 全量入库 + 补齐 .gitignore(以工作区为准)

- 变更规模:新增 514 / 修改 62 / 重命名 155 / 删除 4(归档重组与文档轮次)
- .gitignore 修:`归档/**/db-cwd归一-备份-*/` —— 原规则写绝对层级(归档/db-cwd归一-…),
  目录搬进 归档/配置与备份/ 后**静默失效**,43 MB 的 DB 备份又变成未跟踪
- .gitignore 补:嵌套 git 内部数据(归档/内嵌git-20261008/、归档/skills-git-旧线-20261007/dotgit-原样移出/)
- .gitignore 补:运行态与部署副本(.workbuddy/collab/、.workbuddy/tools/、.workbuddy/.load-pending、.workbuddy/tmp-*)
- .gitignore 补:备份件(*.bak-*)
- 未跟踪文件从 2190 降到 890(其余为 归档/ 归档件与 .workbuddy/memory/ 知识文件,按口径入库)
This commit is contained in:
admin committed 2026-10-10 23:13:22 +08:00
1 parent 30b46dbd0c
commit c1b5e4d966
735 files changed
+153192 -2415

No files matched your search

@@ -0,0 +1,34 @@
# 自动化执行记录 · 手机↔桌面 WorkBuddy 通道就绪检查
> 任务:只读探测 `tmp/wb-phone` 桥通道就绪度并如实报告(⛔ 不起服务 / 不重启 / 不开端口)。
> 只登记结论与判据,不复制正文、⛔ 不登记令牌值。
## 2026-09-28 19:30(第 1 棒)
- 结果:**只差令牌**(第 2 种情况)+ **手机未连**。
- 取证(只读):
- `bridge.py --discover` → gateway port `58717`,token `无`
- `curl /api/v1/health` → `401`(gateway 在跑且要凭据)|`/` → `200`
- `netstat` → `127.0.0.1:58717` LISTENING(pid 35976)|`18899` **未监听**(桥未运行,符合预期)
- 令牌三源全空:`WB_PHONE_TOKEN` 未设 · `token.txt` 不存在 · `settings.json` **无 `gateway` 键**(⇒ `/gateway token` 从未执行过)
- `adb devices` → 设备列表为空
- 处置:仅报告 + 给下一步,未做任何变更。附「桥存活依赖用户自己开的窗口」这一已知限制。
- 副作用披露:执行 `adb devices` 时 adb server daemon(tcp:5037)自行启动,属该命令固有行为,未人为常驻。
- 下次可复用:本棒判据链(discover → health 401 → token 三源 → adb)稳定,可直接照跑。
## 2026-09-28 20:30(第 2 棒 · 用户敲了 `/gateway token`)
- **结论:仍未就绪,但卡点已查清 —— 不是「令牌没生成」,而是「令牌无法被 WorkBuddy 进程树之外的进程拿到」。**
- 用户敲的 `/gateway token` **未落盘**:`settings.json` 仍无 `gateway` 键(复核过)。
- 🔴 **根因(WorkBuddy 自身源码注释,决定性)**:`/api/v1/*` 曾是**未鉴权本地 RCE**;修复方式 = workbuddy-server 进程内**惰性生成一个随机 secret(32B base64url,单例)**,仅作为 `CODEBUDDY_GATEWAY_PASSWORD` 注入**自己的子进程 env**,`CODEBUDDY_GATEWAY_AUTH=password`,且**刻意不落盘**。
⇒ ① 令牌**只在进程树内** ② 🔴 **env 优先级高于 `settings.gateway.password`** ⇒ 即便 `/gateway token` 写成功也会被忽略。
⇒ 实测作用域:该变量 **User=空 / Machine=空 / 仅 Process**。
- 🔴 **桥的设计前提不成立**:用户从资源管理器双击 `start-phone.cmd` ⇒ 不在 WorkBuddy 进程树内 ⇒ 永远拿不到令牌 ⇒ 恒 401。README §三 的 A/B 两条路都走不通。
- ✅ **同时确认通道本身是好的**(用进程树内的令牌实测,未打印令牌值):
- `/api/v1/sessions/live` → **200**,返回 `{sessionId: 3a46cebb…, writerOccupied: true}` —— **正是桌面当前活跃会话**(= 本会话)⇒「操作现有会话」成立。
- `/api/v1/sessions?cwd=*` → **200**,`data.sessions[]` 字段名 = **`id` / `name`** ⇒ README §六① 可收敛。
- 错误令牌 → **401**(对照组,证明鉴权生效)。
- gateway 宿主 = `WorkBuddy.exe`;端口**每次重启都变**(50753 → 59914 → 60473 → 58717 → 52954)。
- 处置:**只报告,未改任何文件**(除清理自己产的临时件)。已删 `_env_scope.txt`(曾捕获明文令牌)。
- 未验证项:桥**拿到令牌后能否真正连通**(本轮为只读棒,未起桥)。
- 下次复用判据链:`--discover` → `health` 401 → `env|grep CODEBUDDY_GATEWAY` → 带 `Bearer` 测 `live` → `adb devices`。