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,64 @@
# 主会话文案 · 切换到本工作区自己的程序副本(2026-10-03)
> **怎么用**:下面那段是**一份模板**,复制后把三处 `〈区名〉` / `〈工作区路径〉` 换掉,
> 分别发给「会话协作测试1」和「会话协作测试2」的主会话即可。
> 替换示例:〈区名〉=`会话协作测试1`;〈工作区路径〉=`E:/ProgramData/AIProject/会话协作测试1`。
---
## 可直接复制的文案
```
本工作区的会话协作机制刚改完,需要你按新方式确认一次运行状态。本轮只做这一件事,做完即停。
【改了什么】
1. 程序改为各工作区独立:每个工作区有自己的程序副本,放在本工作区的 .workbuddy/collab/ 下。
技能目录里那份只是"源",本工作区不该再跑它。
2. 看板共用一份:看板只有一份(在本工作区 ai1net-dsh-server 上),其它工作区的目标与运行状态
在那一格里查看即可,本工作区不用起自己的看板。
【请你做这四步】
1. 读 .workbuddy/collab/logs/supervise-heartbeat.json,看两样:
- 在不在跑:pid 活着,且心跳距今 < 90 秒;
- 跑的是哪份:JSON 里的 argv0 字段,它应当指向
〈工作区路径〉/.workbuddy/collab/collabd.py
2. 如果 argv0 不是上面这个路径(说明现在跑的是技能目录那份),先把它停掉:
taskkill /F /PID <心跳文件里的 pid>
3. 再用后台任务起本工作区自己那份,输出重定向到文件(⛔ 别让它往会话里打日志):
COLLABD_CONFIG="〈工作区路径〉/.workbuddy/collab/collabd.config.json" python "〈工作区路径〉/.workbuddy/collab/collabd.py" --supervise >> "〈工作区路径〉/.workbuddy/collab/logs/supervise.out.log" 2>&1
4. 等约 15 秒再读一次心跳,确认 argv0 已变成 〈工作区路径〉/.workbuddy/collab/collabd.py,
并把结果告诉我(新的 pid、argv0 路径、心跳是否在 90 秒内)。
【硬约束】
- 只读上面点到的那几个文件,⛔ 不要在工作区里到处翻(无边界地找资料会被判成"重复执行、要求人工确认")。
- 本轮只做上面这一件事,做完即停;⛔ 不新建周期排期、不循环等待。
```
---
## 替换清单(三处)
1. 〔区名〕→ 会话协作测试1 / 会话协作测试2
2. 〔工作区路径〕→ `E:/ProgramData/AIProject/会话协作测试1` / `E:/ProgramData/AIProject/会话协作测试2`
3. 两处都出现,共四处替换(步骤 1 与步骤 3 各一处)
## 发送前的现读数(2026-10-03 17:33)
1. 会话协作测试1:pid 49224,心跳新鲜,但**没有** `argv0` 字段 ⇒ 跑的还是技能目录那份,需要切换。
2. 会话协作测试2:pid 15876,同上,需要切换。
3. ai1net-dsh-server(本工作区):pid 19424,`argv0` 已指向本区副本 ⇒ 已切换完成。
## 为什么会这样(发过去之前先知道)
1. 之前三个工作区跑的是**同一份程序文件**(靠环境变量区分工作区)⇒ 改一处代码,所有工作区同时变。
2. 现在改成"技能目录=源,每个工作区=自己的副本"⇒ 某个区的代码坏了,不影响别的区。
3. **代价**:以后改完代码要把副本分发到各区(`deploy_code.py`),漏了不报错、只表现为"某个区行为不对",
所以判据统一用"看心跳里的 `argv0` 指向哪份文件"。
## 附:一个要更正的认知
1. 之前记的"一次性会话起的常驻只活 5 分钟"**不准确**(是那次的现象,不是规律)。
2. 准确说法:**常驻跟着发起它的那个会话** —— 那个会话结束它就停。
14:42 起的那次 5 分钟就停(发起它的会话很快结束了);16:53 起的这两个到 17:33 仍活 40 分钟
(因为那个主会话还在跑)。
3. 推论:想让常驻长期在线,要么让那个会话长期不关,要么另配一个脱离会话的载体。