@shgroup/dsh-serenity-hooks 1.34.2 → 1.36.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/README.md CHANGED
@@ -77,11 +77,11 @@ dsh plugin --profile web add link:$(pwd)/hooks/dsh-serenity-hooks
77
77
  | `praxis` | 按需给 AI 注入三套"做事方法":输出自检(eap)、设计对齐(neat)、认知连续性(cce) | 要它把话说清楚 / 先对齐再动手时 |
78
78
  | `handyman` | 杂工:派一个便宜模型的助手干活。**默认模式(foreground)**= 一次串行委派、拿回结果;**background 模式**= 循环干活直到完成(完成码校验 / 轮次上限 / 自动重启 / 进度文件),也可一次派多个并行 | 大批量、重复性的活(扫描几十个技能、逐用例回归) |
79
79
  | `localstore` | 存密钥和配置(凭据、偏好两个命名空间) | API key、密码集中放一处,不进 git |
80
- | `container_admin` | 机务舱:管理子角色、管理小工具注册表、查看全部配置,以及**定时自动巡航**(autopilot:状态 / 初始化 / 生成先验偏见) | 定义"子角色"、注册新小工具、开自动巡航时 |
80
+ | `container_admin` | 机务舱:管理子角色、管理小工具注册表、查看全部配置 | 定义"子角色"、注册新小工具、改配置时 |
81
81
  | `im-bridge` | 给 IM 联系人发消息(目前是微信):发文本、发文件、查已配置联系人、查通道状态。每次成功发送自动进工作区的消息记录 | 想让 AI 主动给家人/同事发消息(见 §6.6)。**只在工作区配了微信桥时才出现**,且只能发本工作区的消息 |
82
- | `acc-diag` | ACC 运行态诊断:一次调用出全报告——当前有多少会话活着、各自属于哪个工作区、自动巡航的到点判断与 agent 定位、唤醒登记表的每一条、以及"这一轮为什么没被唤起"的条件链 | **ACC 维护者专用**。**默认对所有工作区隐藏**,只有在工作区配置里点名(`exclusiveTools`)才出现 |
82
+ | `acc-diag` | ACC 运行态诊断:一次调用出全报告——当前有多少会话活着、各自属于哪个工作区、唤醒时钟的武装态与 tick 次数、唤醒登记表的每一条(含状态 / 投递结果 / 补跑窗口) | **ACC 维护者专用**。**默认对所有工作区隐藏**,只有在工作区配置里点名(`exclusiveTools`)才出现 |
83
83
 
84
- > **改过名**(旧名已彻底停用,没有兼容别名):下面每组的箭头链是**逐个发布版本**的名字,**末项才是今名**——`cc_fs` → `container_fs` · `cc_git` → `container_git` · `session`+`session_rebuild` → `logbook`(v1.30/1.31)→ `trajectory`(v1.32)→ **`container_trajectory`**(v1.34,今名) · `acc_kit` → `dashboard` · `acc_msm` → `msm`(执行)+ `container_admin`(管理)· `eap`/`neat`/`cce` → `praxis` · `skiff_admin` → `container_admin role` · `autopilot-trajectory` → `trajectory`(v1.32)→ **`container_trajectory`**(v1.34,今名;其自动巡航面现归 `container_admin`)。老会话里看到旧名,**一律取所在那一组的末项**。
84
+ > **改过名**(旧名已彻底停用,没有兼容别名):下面每组的箭头链是**逐个发布版本**的名字,**末项才是今名**——`cc_fs` → `container_fs` · `cc_git` → `container_git` · `session`+`session_rebuild` → `logbook`(v1.30/1.31)→ `trajectory`(v1.32)→ **`container_trajectory`**(v1.34,今名) · `acc_kit` → `dashboard` · `acc_msm` → `msm`(执行)+ `container_admin`(管理)· `eap`/`neat`/`cce` → `praxis` · `skiff_admin` → `container_admin role` · `autopilot-trajectory` → `trajectory`(v1.32)→ **`container_trajectory`**(v1.34,今名)。老会话里看到旧名,**一律取所在那一组的末项**。
85
85
 
86
86
  ### 3.2 机械约束(AI 绕不过去)
87
87
 
@@ -264,19 +264,17 @@ DSH 一个进程可以同时带多个工作区,每个工作区各自对接自
264
264
  - **只给答案**:响应里只有 answer / answer_html / sessionId——内部轨迹、工具结果、机制信息都不出去
265
265
  - 默认只监听 127.0.0.1;要给别人用,怎么暴露(隧道/反代/端口映射)由你决定
266
266
 
267
- ### 6.5 轨迹与自主巡航(trajectory)
267
+ ### 6.5 轨迹与定时唤醒(trajectory)
268
268
 
269
- `trajectory`(轨迹)是一等概念:一个工作区里可以有任意多条轨迹并行;**autopilot(自主巡航)是它的一个子集**——"周期自唤醒"的特例(开关与控制归 `container_admin autopilot`)。
269
+ `trajectory`(轨迹)是一等概念:一个工作区里可以有任意多条轨迹并行。
270
270
 
271
- **自主巡航**:让工作区**到点自己醒过来干活**,全程在你眼前发生(前台注入,随时可介入):
271
+ **定时唤醒**:用 `container_trajectory wake-later` 登记一条"唤醒" = 未来某时刻 + 一条消息——可以给自己预约,也可以唤醒别的轨迹;落在工作区内的 `AGENT_SESSIONS/wake-registry.json`(可读可审计),到点由中心调度器投递,**不阻塞、不等待、也不回执**。
272
272
 
273
- - **什么时候醒**:工作区开关打开 + 全局开关打开(默认关,只在你想跑的机器上开)+ 目标会话存在(目录带 `--auto` 后缀)+ 到了间隔(支持小数,最密约 36 秒)+ 不在避开的高峰窗口(默认北京时间 8~18 点)+ 偏见脚本就绪
274
- - **醒了先看什么**:先看你自己写的"焦点"(`topPrompt`,每轮最先注入,防跑偏),再看随机生成的"偏见内容"(你写的脚本,负责探索方向)
275
- - **多个工作区各自独立**:每个工作区自己的间隔/会话/焦点/窗口,互不干扰
276
- - **有审计**:每次唤醒都记一笔,面板里能看到最近几次;失败会指数退避重试
277
- - **还能预约未来某一刻**:用 `container_trajectory wake-later` 登记一条"唤醒"= 未来某时刻 + 一条消息——可以给自己预约,也可以唤醒别的轨迹;落在工作区内的 `AGENT_SESSIONS/wake-registry.json`(可读可审计),到点由中心调度器投递,不阻塞、不等待、也不回执
273
+ - **目标没打开也能唤醒**:会话不在内存里时先把它载入再投递(**冷唤醒**);载入不了则条目留在登记表里并记下原因,**不静默丢弃**
274
+ - **"周期"归工作区自己**:要一轮接一轮,就由**收到唤醒的那条轨迹**在每轮结束时再排一次下一轮——ACC 只提供"到点投递一条消息"这个原语,不替工作区决定节拍(焦点、节拍、偏见都由工作区自定;任意条轨迹并行、互不干扰)
278
275
  - **轨迹可以自带 skill**:在它的 `SESSION.md` 顶部 frontmatter 写 `skills: [名字, …]`,这条轨迹**被绑定期间**的每个请求都会注入这些 skill 的全文(适合把某个领域的做事方法直接挂在轨迹上);skill 名来自工作区数据,**先过安全校验才会用于拼路径**,找不到会在提示里明说"缺失"而**不静默跳过**
279
- - 没有"每天最多唤醒几次"的限制——频率只由间隔和窗口决定
276
+
277
+ > ⚠️ **历史(v1.35.0 起已退场)**:ACC 曾自带一套"**周期自唤醒 autopilot**"——插件内时钟 + 工作区配置里的 `topPrompt`/偏见脚本 + 面板「周期自唤醒」开关 + `container_admin autopilot` 三动作(status/init/generate-bias)。**v1.35.0 起整段删除**。理由:它相对 `wake-later` 只多两样——"周期节拍"与"提示词注入",而这两样**工作区自己就能做**(见上);且 `wake-later` 反而更强(**支持冷会话唤醒**,而 autopilot 要求目标会话已在内存里)。老会话 / 老文档里看到 `container_admin autopilot`、`autopilot-trajectory`、`--auto` 目录后缀、`[Autopilot Trajectory · 唤起]` 等字样,**均按本条理解**:那是已删除的机制。
280
278
 
281
279
  ### 6.6 安全模型
282
280
 
@@ -0,0 +1,56 @@
1
+ # assets/ — ACC 层静态资产
2
+
3
+ ## serenity-voyage.html
4
+
5
+ **宁静号航行动画**——单文件自包含的三维动画(three.js r180 内联,离线可跑)。
6
+
7
+ ### 用途
8
+
9
+ 由 `src/voyage-page.ts` 经 `GET /serenity/voyage` 分发;当前唯一消费者 =
10
+ 会话头部状态胶囊**展开卡片**(`SafeModePanel` 的 `sp-pop`)的**背景层**,
11
+ 即所有者定的定位:「宁静号的心智模型」。
12
+
13
+ 同一份文件两种用法,靠 query 切换:
14
+
15
+ | URL | 形态 |
16
+ |---|---|
17
+ | `/serenity/voyage` | **全屏构图版**——标题 / 品牌语「不赶路,只航行」/ 状态胶囊 / 航速 / 容器事实面板齐备,可独立打开 |
18
+ | `/serenity/voyage?card=1` | **卡片模式**——隐藏作品自带的整层 UI 与加载页、镜头拉远、星野调暗、铭牌层关闭,只留认知星野 + 飞船,供卡片当背景 |
19
+
20
+ ### 🔴 源不在这里(R↓:包内只有产物)
21
+
22
+ 本仓库**只携带构建产物**。**源与构建脚本住在 CCC 侧**:
23
+
24
+ ```
25
+ <CCC 根>/AGENT_SESSIONS/2026-08-24--S142--dsh-serenity-plugin 长期维护/serenity-voyage-animation/
26
+ ├── build/ app.js(场景与词表)· ship.js(飞船程序化建模)· index.template.html
27
+ │ three.core.min.js + three.module.min.js(构建输入)· build.ts(构建脚本)
28
+ ├── serenity-voyage.html ← 与本目录同物(改源后重建,再拷过来)
29
+ ├── preview.png · preview-card.png 两种形态的真实渲染帧
30
+ └── provenance/S132-ORIGIN-SESSION.md 赠予方(tiangong-serenity)的原始会话记录
31
+ ```
32
+
33
+ **重建**:在该目录下 `bun build/build.ts`(脚本自定位,目录挪动不会断),产物写出后
34
+ 拷入本目录,再跑一次 `dsh-develop pack-check` 确认资产进了 tarball。
35
+
36
+ ### 来历与内容口径
37
+
38
+ - **来历**:作品由 **tiangong-serenity**(另一个 Serenity CCC)赠予,属跨容器赠品。
39
+ 它的三维建模、运镜与渲染质量是原作者的功劳;本仓库承载的是**内容重播 + 卡片模式**。
40
+ - **内容重播(S142 §12.42/§12.43)**:星空词元已从赠予方的名字换成**宁静号自己的**
41
+ 技能 / 公理 / MSM / 本体文件名(102 条,全部有出处、无自造);事实面板六个数
42
+ (仓库 19 / 技能 35 / 工具 84 / 本体 12 / 公理 56 / 会话 190)为实测快照,口径写在
43
+ `app.js` 的注释里。
44
+ - **外来内容已归零**:`tg-*` 技能名、`AX-*` 公理名、`TIANGONG` 铭牌等**全部替换**。
45
+ 该判据已被 `tests/voyage-page.test.ts` 自动化(**大小写不敏感**——上一轮正因人工
46
+ grep 用了小写而漏掉全大写的 `TIANGONG`),改动资产若带回外来内容,测试即红。
47
+
48
+ ### 版本口径
49
+
50
+ 资产内容随包版本变,而 URL 稳定 ⇒ 客户端用 `?v=<ACC 版本>` 打点(见
51
+ `SafeModePanel.tsx`),同版本长缓存、升级即失效。改资产**必须**跟一次版本号,
52
+ 否则浏览器会继续吃缓存里的旧文件。
53
+
54
+ ## serenity-voyage-preview.png
55
+
56
+ 卡片模式(340×460)的真实渲染帧,供评审用。**不参与运行时**,只是随包的可视证据。