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:
1 parent
30b46dbd0c
commit
c1b5e4d966
735 files changed
+153192
-2415
No files matched your search
@@ -204,7 +204,7 @@
|
||||
|
||||
## 06:50–07:15 会话 `a2665dd3`:接管「参考决策方法逐条判断处理」会话的任务(**只读 + 配置修复**)
|
||||
|
||||
- **起因**:用户改了工作区路径(`D:\AI技能\aliyun-dsh-server` → `E:\ProgramData\AI技能\aliyun-dsh-server`,D: 旧路径已不存在),要求继续上一会话的任务。
|
||||
- **起因**:用户改了工作区路径(`D:\AI技能\aliyun-dsh-server` → `E:\ProgramData\AIProject\ai1net-dsh-server`,D: 旧路径已不存在),要求继续上一会话的任务。
|
||||
|
||||
### 一、目标会话身份已查明
|
||||
| 项 | 值 |
|
||||
@@ -221,7 +221,7 @@
|
||||
### 二、✅ 修复一个阻断级问题:hooks 路径仍指 D:(本次实测确诊)
|
||||
- 现象:任何 **Write/Edit 都被拒**,错误 = `D:\miniconda3\python.exe: can't open file 'D:\AI技能\...\lock-guard-hook.py'`(D: 已不存在)。
|
||||
- 根因:`~/.workbuddy/settings.json` 的 hooks 两条 command 都是**绝对路径**,工作区搬迁后失配。
|
||||
- 修法(**只改路径串,未动结构**):`sed -i 's#D:/AI技能/aliyun-dsh-server#E:/ProgramData/AI技能/aliyun-dsh-server#g'`;备份 `settings.json.bak-pathfix-0655`。
|
||||
- 修法(**只改路径串,未动结构**):`sed -i 's#D:/AI技能/aliyun-dsh-server#E:/ProgramData/AIProject/ai1net-dsh-server#g'`;备份 `settings.json.bak-pathfix-0655`。
|
||||
- 校验:JSON 顶层键 5 个(`sandbox/claw/enabledPlugins/autoLaunchDesired/hooks`)、`hooks` = `PreToolUse` + `SessionStart` 均在;写探针文件成功。
|
||||
- ⛔ **【该结论已被 09-13 07:05 实测推翻——见本文件下方「hooks 语义定论」:hook 命令实为「会话启动时快照」;当时"改完就能写"是被一支临时目录联接掩盖的假象】**
|
||||
- **当时的★结论(修正 09-12 的悬案)**:**hooks 配置是"每次调用现读",不是启动快照** —— 改完**立即生效、无需重启**;同时 `.workbuddy/lock-hook.log` 有 `SessionStart` / `PreToolUse-deny` 行 ⇒ **桌面版确实加载 hooks**(首次正面证据)。
|
||||
@@ -269,7 +269,7 @@
|
||||
- 环境坑:playwright 装在托管工作区;ESM 不认 `NODE_PATH` → 用 `createRequire`;自带 chromium 版本对不上(期望 1210 / 本机 1234)→ 改 `channel:'chrome'`;**脚本里给 Node 传 bash 风格 `/e/...` 路径会在当前盘根建 `E:\e\...`**(已删)。
|
||||
|
||||
### 二、hooks 语义定论(**含一次自我纠错**)
|
||||
- 起点:工作区一搬,`settings.json` 里 hooks 的**绝对路径失配** → hook 报错 → 本机**所有会话** Write/Edit 全被拒(fail-closed)。为不把活断在手上,先建 `D:/AI技能 → E:/ProgramData/AI技能` **目录联接**救急,同时**误以为 hooks 是「启动时快照」**。
|
||||
- 起点:工作区一搬,`settings.json` 里 hooks 的**绝对路径失配** → hook 报错 → 本机**所有会话** Write/Edit 全被拒(fail-closed)。为不把活断在手上,先建 `D:/AI技能 → E:/ProgramData/AIProject` **目录联接**救急,同时**误以为 hooks 是「启动时快照」**。
|
||||
- **实测结论(2026-09-13 07:05,决定性)**:**hook 命令是「会话启动时快照」**。证据链:本会话 **06:47 启动**(当时配置里仍是 D: 路径)→ **06:55 把配置改成 E:** → **07:05 拆掉目录联接后,Write/Edit 报的仍是旧路径 `D:/AI技能/...`** ⇒ **改配置对已在跑的会话无效**。
|
||||
- ⚠️ **纠错**:中途(07:0x)我曾写成「hooks 每次调用现读、无需重启」,并据此宣布「目录联接多余」——**错**。真相是**联接在 06:53–07:05 期间存在**,把"改完就能写"伪装成了现读;同机另一会话(`a2665dd3`)独立得出同一错论,可见**这就是该误判的成因**。
|
||||
- **正确处置**:改完 hook 路径 → **完全重启 WorkBuddy**(关窗 ≠ 退出)或**新开会话**。**应急兜底**:本钩子**不拦 Bash**(有意留的安全阀)⇒ 本次余下的文件写入即走 shell 完成。
|
||||
|
||||
Reference in new issue
Block a user