@shgroup/dsh-serenity-hooks 1.35.0 → 1.36.1
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/assets/README.md +56 -0
- package/assets/serenity-voyage-preview.png +0 -0
- package/assets/serenity-voyage.html +2755 -0
- package/dsh.plugin.json +1 -1
- package/lib/client.js +14 -5
- package/lib/index.js +138 -68
- package/lib/seams/keeper.d.ts +10 -4
- package/lib/voyage-page.d.ts +45 -0
- package/package.json +4 -1
package/lib/seams/keeper.d.ts
CHANGED
|
@@ -24,7 +24,7 @@ export declare class KeeperTracker {
|
|
|
24
24
|
ack(): string;
|
|
25
25
|
get currentScore(): number;
|
|
26
26
|
}
|
|
27
|
-
export declare function reminderText(code: string
|
|
27
|
+
export declare function reminderText(code: string): string;
|
|
28
28
|
/**
|
|
29
29
|
* F2 rebuild 提示(v1.21;v1.22.1 对齐"轨迹跟踪器"概念;v1.23.0 英化 + 载体关系;
|
|
30
30
|
* v1.23.3 行动指令化——用户反馈"一直在触发为啥没执行":旧文案是状态播报式
|
|
@@ -38,15 +38,21 @@ export declare function reminderText(code: string, score: number): string;
|
|
|
38
38
|
* escalated=true(v1.23.3):连续多轮超阈值仍未 rebuild → 升级强制语气
|
|
39
39
|
* (STOP and rebuild now,持续注入直到调用 container_trajectory rebuild)。
|
|
40
40
|
*
|
|
41
|
-
* 需求①(S142
|
|
42
|
-
*
|
|
41
|
+
* 需求①(S142 用户拍板,v1.28.0):百分比比例 → K 数值——**判定**改为绝对
|
|
42
|
+
* `projectedTokens ≥ thresholdK*1000`(触发语义,未变)。
|
|
43
|
+
* 🔴 2026-09-16(S142 所有者指令,D64):**判定用 K,但注入文本里不再给任何数值**——
|
|
44
|
+
* 原文案 `Context usage at NNNK (threshold NNNK)` 属于"向 LLM 透露上下文消耗与限制",
|
|
45
|
+
* 是非必要信息(LLM 不据此决策,只占注意力)。⇒ 参数退化为仅 `escalated`。
|
|
46
|
+
* ⚠️ 触发判定与提醒行为**一字未改**(仍读 projectedTokens / thresholdK 比对;仍升级催);
|
|
47
|
+
* 变的只是**注入文本不再携带 tokensK / thresholdK**。
|
|
48
|
+
* 使用者若要查看当前占用/阈值:看面板(`rebuildThresholdK` 滑块 + 状态显示)——那是给人看的。
|
|
43
49
|
*
|
|
44
50
|
* v1.31.1 交接协议(S142 用户需求"要求 LLM 将当前手头事项写在 SESSION.md 尾部,并要求
|
|
45
51
|
* rebuild 后去读并处理"):**写侧** = 这里(两条文案都要求把 in-flight 事项写在
|
|
46
52
|
* SESSION.md 末尾的 `IN_FLIGHT_HEADING` 之下);**读侧** = rebuild 锚点(rebuild.ts)。
|
|
47
53
|
* 两侧共用 trajectory-assistant 的标题常量(单一真相源)。
|
|
48
54
|
*/
|
|
49
|
-
export declare function rebuildReminderText(
|
|
55
|
+
export declare function rebuildReminderText(escalated?: boolean): string;
|
|
50
56
|
/** 读取会话 contextPressure 投影(sessionProjections 可选服务;未装配返回 null) */
|
|
51
57
|
export declare function readContextPressure(ctx: Context, session: unknown): {
|
|
52
58
|
projectedTokens: number;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* voyage-page.ts — `/serenity/voyage`:宁静号航行动画(**ACC 层静态资产**)
|
|
3
|
+
*
|
|
4
|
+
* 作用:把「宁静号航行动画」作为 **ACC 的一部分**随包分发,并用一条 HTTP 路由把它
|
|
5
|
+
* 交给 WebUI。当前唯一消费者 = 会话头部状态胶囊展开卡片(`SafeModePanel` 的 `sp-pop`)
|
|
6
|
+
* 的**背景层**——即所有者定的定位:「宁静号的心智模型」。
|
|
7
|
+
*
|
|
8
|
+
* 资产本体:`assets/serenity-voyage.html`(单文件自包含,three.js r180 内联)。
|
|
9
|
+
* 同一份文件两种用法,靠 query 切换:
|
|
10
|
+
* - 无参数 → **全屏构图版**(标题/品牌语/航速/容器事实面板齐备),可独立打开
|
|
11
|
+
* - `?card=1` → **卡片模式**:隐藏自带 UI 层、镜头拉远、星野调暗、铭牌层关闭
|
|
12
|
+
*
|
|
13
|
+
* 为什么用「独立路由 + iframe」而不是内联进 client bundle:
|
|
14
|
+
* ① 作品自包含 830 KB(其中 704 KB 是 three.js)——内联会把整包灌进 client chunk;
|
|
15
|
+
* ② 作品自带全局 CSS/画布,内联会与卡片样式互相污染;
|
|
16
|
+
* ③ 独立路由 ⇒ **惰性加载**(只在卡片展开时请求一次)+ 可长缓存,关闭 iframe 即卸载,
|
|
17
|
+
* WebGL 上下文随之释放。
|
|
18
|
+
*
|
|
19
|
+
* 来历(R↓):作品由 **tiangong-serenity**(另一个 Serenity CCC)赠予;**本仓库只携带
|
|
20
|
+
* 构建产物**,源与构建脚本住在 CCC 侧 `AGENT_SESSIONS/…S142…/serenity-voyage-animation/`
|
|
21
|
+
* (详见 `assets/README.md`)。内容已于 S142 重播为宁静号自己的技能/公理/MSM/本体词元
|
|
22
|
+
* 与实测容器规模数字。
|
|
23
|
+
*/
|
|
24
|
+
import type { Context } from 'cordis';
|
|
25
|
+
export declare const VOYAGE_PATH = "/serenity/voyage";
|
|
26
|
+
/**
|
|
27
|
+
* 资产相对包根的路径。
|
|
28
|
+
* 🔒 它**必须**同时出现在 `package.json` 的 `files` 白名单里——否则发布包缺文件,
|
|
29
|
+
* 路由会在运行时报「资产不可用」(同 v1.26.15 那次 `files` 漏 chunk 的事故形态)。
|
|
30
|
+
* `dsh-develop pack-check` 的 `required` 已把它列为发布前硬断言。
|
|
31
|
+
*/
|
|
32
|
+
export declare const VOYAGE_ASSET = "assets/serenity-voyage.html";
|
|
33
|
+
/** 资产绝对路径(导出以便测试与 pack-check 共用同一判据来源) */
|
|
34
|
+
export declare function voyageAssetPath(): string;
|
|
35
|
+
/** 读取资产全文。读不到即抛错(由 handler 转 500,绝不静默发空页)。 */
|
|
36
|
+
export declare function loadVoyageHtml(assetPath?: string): string;
|
|
37
|
+
/** 清缓存(测试用) */
|
|
38
|
+
export declare function resetVoyageCache(): void;
|
|
39
|
+
/**
|
|
40
|
+
* 注册 `/serenity/voyage`(GET)。
|
|
41
|
+
* @param opts.assetPath 覆盖资产路径(测试用;生产不传)
|
|
42
|
+
*/
|
|
43
|
+
export declare function registerVoyageApi(ctx: Context, opts?: {
|
|
44
|
+
assetPath?: string;
|
|
45
|
+
}): void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shgroup/dsh-serenity-hooks",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.36.1",
|
|
4
4
|
"description": "宁静号 ACC harness(Native Cordis 插件)——给 DeepSeek Harness 装一个「AI 工作区」:11 个工具(container_fs/container_trajectory/dashboard/container_git/msm/praxis/handyman/localstore/container_admin/im-bridge/acc-diag)+ 机械约束(安全模式/工作区围墙/密钥守卫/对外输出守卫)+ 工作日志与原地重建 + 网页登录入口/微信桥/子角色/对外问答页/trajectory 唤醒注册表。适配 DSH 0.1.5-rc.2。",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -28,6 +28,9 @@
|
|
|
28
28
|
"lib/*.js",
|
|
29
29
|
"lib/*.d.ts",
|
|
30
30
|
"lib/**/*.d.ts",
|
|
31
|
+
"assets/serenity-voyage.html",
|
|
32
|
+
"assets/serenity-voyage-preview.png",
|
|
33
|
+
"assets/README.md",
|
|
31
34
|
"cordis.patch.yml",
|
|
32
35
|
"dsh.plugin.json",
|
|
33
36
|
"README.md"
|