@jesonliu/lark-claudecode-bridge 1.3.7 → 1.4.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.
Files changed (49) hide show
  1. package/README.md +17 -0
  2. package/assets/web/js/main.js +2 -1
  3. package/assets/web/js/pages/memory.js +561 -0
  4. package/config.example.yaml +34 -0
  5. package/dist/config.d.ts +3 -0
  6. package/dist/config.js +133 -1
  7. package/dist/config.js.map +1 -1
  8. package/dist/executor/claude-executor.d.ts +26 -3
  9. package/dist/executor/claude-executor.js +718 -293
  10. package/dist/executor/claude-executor.js.map +1 -1
  11. package/dist/executor/notify-server.d.ts +10 -0
  12. package/dist/executor/notify-server.js +11 -0
  13. package/dist/executor/notify-server.js.map +1 -1
  14. package/dist/executor/permission-gate.d.ts +8 -1
  15. package/dist/executor/permission-gate.js +7 -3
  16. package/dist/executor/permission-gate.js.map +1 -1
  17. package/dist/gateway/card-builder.d.ts +15 -3
  18. package/dist/gateway/card-builder.js +21 -10
  19. package/dist/gateway/card-builder.js.map +1 -1
  20. package/dist/gateway/feishu-gateway.d.ts +13 -0
  21. package/dist/gateway/feishu-gateway.js +34 -2
  22. package/dist/gateway/feishu-gateway.js.map +1 -1
  23. package/dist/gateway/progress-card.d.ts +4 -2
  24. package/dist/gateway/progress-card.js +52 -25
  25. package/dist/gateway/progress-card.js.map +1 -1
  26. package/dist/index.d.ts +7 -1
  27. package/dist/index.js +225 -32
  28. package/dist/index.js.map +1 -1
  29. package/dist/memory-installer.d.ts +174 -0
  30. package/dist/memory-installer.js +1035 -0
  31. package/dist/memory-installer.js.map +1 -0
  32. package/dist/memory.d.ts +88 -0
  33. package/dist/memory.js +195 -0
  34. package/dist/memory.js.map +1 -0
  35. package/dist/security/paths.d.ts +3 -1
  36. package/dist/security/paths.js +28 -4
  37. package/dist/security/paths.js.map +1 -1
  38. package/dist/session/session-store.d.ts +15 -0
  39. package/dist/session/session-store.js +16 -0
  40. package/dist/session/session-store.js.map +1 -1
  41. package/dist/types.d.ts +56 -1
  42. package/dist/web/config-api.js +32 -0
  43. package/dist/web/config-api.js.map +1 -1
  44. package/dist/web/memory-api.d.ts +25 -0
  45. package/dist/web/memory-api.js +197 -0
  46. package/dist/web/memory-api.js.map +1 -0
  47. package/dist/web/server.js +73 -2
  48. package/dist/web/server.js.map +1 -1
  49. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-installer.js","sourceRoot":"","sources":["../src/memory-installer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ import type { MemoryConfig } from './types.js';
2
+ /** 记忆插件名(§6.9 自动注入目标;与 ~/.claude 侧 installed_plugins.json 键
3
+ * "openviking-memory@openviking" 的 @ 前段一致——discoverPlugins 的 name 口径) */
4
+ export declare const MEMORY_PLUGIN_NAME = "openviking-memory";
5
+ /** 记忆服务缺省端点(dev 模式回环默认;embedded 模式由 B3 分配后回写 config) */
6
+ export declare const DEFAULT_MEMORY_ENDPOINT = "http://127.0.0.1:1933";
7
+ /** memory 段的生效端点(remote 显式配置 > 缺省回环)。参数放宽为 Pick——渲染客户端接入配置
8
+ * (ovcli.conf 骨架)等场景只有 endpoint/account 子集,只读 endpoint 的纯函数不该要求全段 */
9
+ export declare function memoryEndpoint(memory: Pick<MemoryConfig, 'endpoint'>): string;
10
+ /**
11
+ * memory.enabled 时的 ns env 下发(§6.4/§6.6)——返回值由调用方以「保留既有值」方式并入
12
+ * taskEnv(apps[].env 手配 OPENVIKING_* = 专家覆盖口,优先级最高)。键语义:
13
+ * - OPENVIKING_ACCOUNT:账号轴(全局),缺省 lcb
14
+ * - OPENVIKING_USER:用户轴 = {appId}-{userId},**每条消息拼装**(群聊按人隔离;
15
+ * deputy 的 appId 天然不同于主 bot——「分身有自己的记忆、永不读主人记忆」的实现点)
16
+ * - OPENVIKING_API_KEY:连接 key。api_key 模式 = 该 bot 的独立 user key(userKeys 缓存,
17
+ * root key 永不下发子进程);dev 模式无 key(身份经 header 隔离)
18
+ * - OPENVIKING_MEMORY_ENABLED:'1' 强制启用通道——插件 isPluginEnabled() 的第 1 优先级判据
19
+ * (插件 scripts/config.mjs),使启用不依赖 ~/.openviking/ 下任何文件(全新机器零手工的关键;
20
+ * 与 ACCOUNT 同级、不依赖 userId)。实测教训:LCB 原先只下发身份三键,插件启用判定根本不看,
21
+ * 全新机器 ~/.openviking 不存在 → 9 个 hook 全部静默秒退
22
+ * - OPENVIKING_URL:memoryEndpoint(memory)——embedded = 受管服务实际端口(findFreePort 可能
23
+ * 分到 1934+,插件缺省连 127.0.0.1:1933 会错连)、remote = 外部端点。它同时是插件
24
+ * CREDENTIAL_ENV_VARS 成员:任一凭证 env 存在 → 凭证链 unpinned → env 层恒压过
25
+ * ovcli.conf/ov.conf,文件通道(哪怕 user-managed)永远劫持不了 LCB 会话的连接
26
+ * 纯函数 exported 便于单测;userId 为空串时不产出 OPENVIKING_USER(防御非消息触发的任务路径)。
27
+ */
28
+ export declare function memoryEnvFor(memory: MemoryConfig, appId: string, userId: string,
29
+ /** 启动时 Admin API 签发的 per-bot user key(api_key 模式);缺失/未签发则跳过 key 下发 */
30
+ userKeys?: ReadonlyMap<string, string>): Record<string, string>;
31
+ /** 探活结果:healthy + 服务端自报版本/鉴权模式(B2 配置页状态灯数据源;B3 受管进程崩溃检测) */
32
+ export interface MemoryHealth {
33
+ healthy: boolean;
34
+ /** /health 返回的 version 字段(成功时必有;探活失败缺省) */
35
+ version?: string;
36
+ /** /health 返回的 auth_mode("dev" / "api_key");决定身份隔离走 header 还是 user key */
37
+ authMode?: string;
38
+ /** 失败分类(配置页据此给「下一步动作」而非笼统「服务异常」):
39
+ * not-running=连接被拒(端口无监听,服务进程未运行——已装可拉起)
40
+ * unreachable=端点不可达/域名解析失败;timeout=探活超时;auth=401/403(key 不匹配)
41
+ * http-error=其他非 2xx;unhealthy=2xx 但服务自报异常;error=未分类异常 */
42
+ reason?: 'not-running' | 'unreachable' | 'timeout' | 'auth' | 'http-error' | 'unhealthy' | 'error';
43
+ /** 失败原因(用户可读,进状态灯 tooltip / 日志) */
44
+ detail?: string;
45
+ }
46
+ /**
47
+ * OpenViking server 探活(GET {endpoint}/health):B1 启动检查、B2 状态区状态灯、B3 受管进程
48
+ * 崩溃检测共用。短超时(缺省 2s)——探活走消息处理路径时不能拖住任务。Node 18+ 原生 fetch;
49
+ * 失败(网络/超时/非 200/JSON 异常)一律收敛为 { healthy: false, detail },不抛出。
50
+ */
51
+ export declare function probeMemoryHealth(endpoint: string, timeoutMs?: number): Promise<MemoryHealth>;
52
+ /** BridgeDeps.memory 最小接口(§6.6):探活供启动/状态页;namespacesFor 供 B2 ns 矩阵;
53
+ * userKeys 供 env 下发取 per-bot key(dev 模式为空 Map——身份走 header) */
54
+ export interface MemoryProvider {
55
+ isHealthy(): Promise<MemoryHealth>;
56
+ /** 某 bot 的 ns 映射(account/user 前缀;peer 轴按 workspace 运行期派生,不在此暴露) */
57
+ namespacesFor(appId: string): {
58
+ account: string;
59
+ userPrefix: string;
60
+ };
61
+ /** 启动/热重载时 Admin API 签发的 per-bot user key(appId → key);未签发/未启用为空 */
62
+ userKeys(): ReadonlyMap<string, string>;
63
+ }
64
+ /** 生产实现:全部现读 config.memory 与共享 key 缓存(同一 config 引用被热重载 mutate,改段即生效) */
65
+ export declare function createMemoryProvider(config: BridgeConfigLike, userKeys: ReadonlyMap<string, string>): MemoryProvider;
66
+ /** createMemoryProvider 只需 config 的 memory 段(结构子集,避免循环 import BridgeConfig) */
67
+ interface BridgeConfigLike {
68
+ memory?: MemoryConfig;
69
+ }
70
+ /** 单个 bot 的 user key 签发/跳过结果 */
71
+ export interface MemoryKeyOutcome {
72
+ appId: string;
73
+ /** 签发成功(api_key 模式);dev 模式为 undefined(skipped 带原因) */
74
+ userKey?: string;
75
+ skipped?: string;
76
+ error?: string;
77
+ }
78
+ /**
79
+ * 为每个 bot 签发独立 user key(§6.7 第 5 步;api_key 模式)。
80
+ * - dev 模式:整体跳过——身份隔离由 OPENVIKING_USER → X-OpenViking-User header 承担,
81
+ * Admin API 在 dev 模式被服务端禁用(403),跳过是唯一正解而非降级
82
+ * - api_key 模式:X-API-Key 携带 root key(memory.api_key,只在本函数与配置盘间流转),
83
+ * POST /api/v1/admin/accounts/{account}/users 签发;seed = sha256(appId+rootKey) 确定性
84
+ * ——同 seed 重签同值,LCB 重启无须持久化 key 存储
85
+ * - 失败不抛出(逐 bot 记 error):记忆不可用不应阻断机器人服务,与插件发现的容错基调一致
86
+ */
87
+ export declare function ensureMemoryUserKeys(memory: MemoryConfig, appIds: string[], timeoutMs?: number): Promise<Map<string, MemoryKeyOutcome>>;
88
+ export {};
package/dist/memory.js ADDED
@@ -0,0 +1,195 @@
1
+ // 长期记忆(OpenViking)集成 · B1 配置通道(生命周期方案 §6,docs/LCB会话生命周期与长期记忆整合方案-v2.3.md)。
2
+ // 职责收敛在「配置 → env 下发 / 插件注入」的纯计算 + 最小 HTTP(探活 / user key 签发)——弱耦合
3
+ // 验收:LCB 对 OpenViking 零 SDK 依赖、零 import,全部交互只有 HTTP 与环境变量。B3 嵌入式
4
+ // 安装器(uv / 受管子进程 / ov.conf 渲染)在此文件基础上扩展,不动本层语义。
5
+ //
6
+ // OpenViking 0.5.0 身份体系(源码探查 + 实测确认):
7
+ // - env 三键由 openviking_sdk 转为请求 header:OPENVIKING_API_KEY → X-API-Key、
8
+ // OPENVIKING_ACCOUNT → X-OpenViking-Account、OPENVIKING_USER → X-OpenViking-User
9
+ // - auth_mode=dev(单机默认):key 不校验,身份完全由 Account/User header 决定——env 下发
10
+ // OPENVIKING_USER 即得 ns 隔离,无须任何 key(仅限回环监听的本机场景)
11
+ // - auth_mode=api_key(root_api_key 配置后):Account/User header 被服务端剥除,身份由
12
+ // X-API-Key 自带(key = base64url(account).base64url(user).base64url(secret),不可伪造);
13
+ // user key 经 Admin API 签发(POST /api/v1/admin/accounts/{account}/users,X-API-Key 携带
14
+ // root key,seed 参数可得确定性 key——同 seed 重签同值,LCB 无须持久化存储 key)
15
+ import { createHash } from 'node:crypto';
16
+ /** 记忆插件名(§6.9 自动注入目标;与 ~/.claude 侧 installed_plugins.json 键
17
+ * "openviking-memory@openviking" 的 @ 前段一致——discoverPlugins 的 name 口径) */
18
+ export const MEMORY_PLUGIN_NAME = 'openviking-memory';
19
+ /** 记忆服务缺省端点(dev 模式回环默认;embedded 模式由 B3 分配后回写 config) */
20
+ export const DEFAULT_MEMORY_ENDPOINT = 'http://127.0.0.1:1933';
21
+ /** memory 段的生效端点(remote 显式配置 > 缺省回环)。参数放宽为 Pick——渲染客户端接入配置
22
+ * (ovcli.conf 骨架)等场景只有 endpoint/account 子集,只读 endpoint 的纯函数不该要求全段 */
23
+ export function memoryEndpoint(memory) {
24
+ return memory.endpoint?.trim() || DEFAULT_MEMORY_ENDPOINT;
25
+ }
26
+ /**
27
+ * memory.enabled 时的 ns env 下发(§6.4/§6.6)——返回值由调用方以「保留既有值」方式并入
28
+ * taskEnv(apps[].env 手配 OPENVIKING_* = 专家覆盖口,优先级最高)。键语义:
29
+ * - OPENVIKING_ACCOUNT:账号轴(全局),缺省 lcb
30
+ * - OPENVIKING_USER:用户轴 = {appId}-{userId},**每条消息拼装**(群聊按人隔离;
31
+ * deputy 的 appId 天然不同于主 bot——「分身有自己的记忆、永不读主人记忆」的实现点)
32
+ * - OPENVIKING_API_KEY:连接 key。api_key 模式 = 该 bot 的独立 user key(userKeys 缓存,
33
+ * root key 永不下发子进程);dev 模式无 key(身份经 header 隔离)
34
+ * - OPENVIKING_MEMORY_ENABLED:'1' 强制启用通道——插件 isPluginEnabled() 的第 1 优先级判据
35
+ * (插件 scripts/config.mjs),使启用不依赖 ~/.openviking/ 下任何文件(全新机器零手工的关键;
36
+ * 与 ACCOUNT 同级、不依赖 userId)。实测教训:LCB 原先只下发身份三键,插件启用判定根本不看,
37
+ * 全新机器 ~/.openviking 不存在 → 9 个 hook 全部静默秒退
38
+ * - OPENVIKING_URL:memoryEndpoint(memory)——embedded = 受管服务实际端口(findFreePort 可能
39
+ * 分到 1934+,插件缺省连 127.0.0.1:1933 会错连)、remote = 外部端点。它同时是插件
40
+ * CREDENTIAL_ENV_VARS 成员:任一凭证 env 存在 → 凭证链 unpinned → env 层恒压过
41
+ * ovcli.conf/ov.conf,文件通道(哪怕 user-managed)永远劫持不了 LCB 会话的连接
42
+ * 纯函数 exported 便于单测;userId 为空串时不产出 OPENVIKING_USER(防御非消息触发的任务路径)。
43
+ */
44
+ export function memoryEnvFor(memory, appId, userId,
45
+ /** 启动时 Admin API 签发的 per-bot user key(api_key 模式);缺失/未签发则跳过 key 下发 */
46
+ userKeys) {
47
+ const env = {
48
+ OPENVIKING_ACCOUNT: memory.account ?? 'lcb',
49
+ OPENVIKING_MEMORY_ENABLED: '1',
50
+ OPENVIKING_URL: memoryEndpoint(memory),
51
+ };
52
+ if (userId)
53
+ env.OPENVIKING_USER = `${appId}-${userId}`;
54
+ const key = userKeys?.get(appId);
55
+ if (key)
56
+ env.OPENVIKING_API_KEY = key;
57
+ return env;
58
+ }
59
+ /**
60
+ * OpenViking server 探活(GET {endpoint}/health):B1 启动检查、B2 状态区状态灯、B3 受管进程
61
+ * 崩溃检测共用。短超时(缺省 2s)——探活走消息处理路径时不能拖住任务。Node 18+ 原生 fetch;
62
+ * 失败(网络/超时/非 200/JSON 异常)一律收敛为 { healthy: false, detail },不抛出。
63
+ */
64
+ export async function probeMemoryHealth(endpoint, timeoutMs = 2000) {
65
+ const url = `${endpoint.replace(/\/+$/, '')}/health`;
66
+ // host/port 仅用于失败文案定位(如「127.0.0.1:1933 无进程监听」);URL 非法时留空
67
+ const { hostname, port } = (() => { try {
68
+ return new URL(url);
69
+ }
70
+ catch {
71
+ return { hostname: '', port: '' };
72
+ } })();
73
+ const at = hostname ? `${hostname}:${port || '1933'}` : url;
74
+ const controller = new AbortController();
75
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
76
+ try {
77
+ const res = await fetch(url, { signal: controller.signal });
78
+ if (!res.ok) {
79
+ // 401/403 单列:api_key 模式 key 不匹配与服务未运行是完全不同的处置路径
80
+ if (res.status === 401 || res.status === 403) {
81
+ return { healthy: false, reason: 'auth', detail: `HTTP ${res.status}(鉴权失败:服务为 api_key 模式时检查 memory.api_key / root key 是否匹配)` };
82
+ }
83
+ return { healthy: false, reason: 'http-error', detail: `HTTP ${res.status}` };
84
+ }
85
+ const body = (await res.json());
86
+ // 服务端语义:status=ok(0.5.0 实测);healthy 字段兼容未来版本
87
+ const ok = body.status === 'ok' || body.healthy === true;
88
+ return ok
89
+ ? {
90
+ healthy: true,
91
+ ...(typeof body.version === 'string' ? { version: body.version } : {}),
92
+ ...(typeof body.auth_mode === 'string' ? { authMode: body.auth_mode } : {}),
93
+ }
94
+ : { healthy: false, reason: 'unhealthy', detail: `服务进程在但自报异常:${JSON.stringify(body)}` };
95
+ }
96
+ catch (e) {
97
+ // Node 18+ 原生 fetch(undici)连接层失败一律抛 TypeError: fetch failed,真实 errno 藏在
98
+ // e.cause.code——不读 cause 时用户只能看到「fetch failed」,无法区分「服务没跑」与「网络问题」
99
+ const err = e;
100
+ const code = err?.cause?.code ?? e?.code;
101
+ if (e instanceof Error && e.name === 'AbortError') {
102
+ return { healthy: false, reason: 'timeout', detail: `探活超时(>${timeoutMs}ms)——服务无响应` };
103
+ }
104
+ if (code === 'ECONNREFUSED') {
105
+ return { healthy: false, reason: 'not-running', detail: `连接被拒绝:${at} 无进程监听,服务未运行` };
106
+ }
107
+ if (code === 'ENOTFOUND' || code === 'EAI_AGAIN') {
108
+ return { healthy: false, reason: 'unreachable', detail: `域名无法解析:${hostname || url}` };
109
+ }
110
+ if (code === 'ETIMEDOUT' || code === 'ECONNRESET') {
111
+ return { healthy: false, reason: 'timeout', detail: `连接${code === 'ECONNRESET' ? '被重置' : '超时'}(${at})` };
112
+ }
113
+ if (code === 'EHOSTUNREACH' || code === 'ENETUNREACH') {
114
+ return { healthy: false, reason: 'unreachable', detail: `网络不可达:${hostname || url}` };
115
+ }
116
+ const detail = e instanceof Error
117
+ ? (e.message === 'fetch failed' && err.cause?.message ? `网络错误:${err.cause.message}` : e.message)
118
+ : String(e);
119
+ return { healthy: false, reason: 'error', detail };
120
+ }
121
+ finally {
122
+ clearTimeout(timer);
123
+ }
124
+ }
125
+ /** 生产实现:全部现读 config.memory 与共享 key 缓存(同一 config 引用被热重载 mutate,改段即生效) */
126
+ export function createMemoryProvider(config, userKeys) {
127
+ return {
128
+ isHealthy: () => (config.memory?.enabled
129
+ ? probeMemoryHealth(memoryEndpoint(config.memory))
130
+ : Promise.resolve({ healthy: false, detail: 'memory 段未开启' })),
131
+ namespacesFor: (appId) => ({
132
+ account: config.memory?.account ?? 'lcb',
133
+ userPrefix: `${appId}-`,
134
+ }),
135
+ userKeys: () => userKeys,
136
+ };
137
+ }
138
+ /**
139
+ * 为每个 bot 签发独立 user key(§6.7 第 5 步;api_key 模式)。
140
+ * - dev 模式:整体跳过——身份隔离由 OPENVIKING_USER → X-OpenViking-User header 承担,
141
+ * Admin API 在 dev 模式被服务端禁用(403),跳过是唯一正解而非降级
142
+ * - api_key 模式:X-API-Key 携带 root key(memory.api_key,只在本函数与配置盘间流转),
143
+ * POST /api/v1/admin/accounts/{account}/users 签发;seed = sha256(appId+rootKey) 确定性
144
+ * ——同 seed 重签同值,LCB 重启无须持久化 key 存储
145
+ * - 失败不抛出(逐 bot 记 error):记忆不可用不应阻断机器人服务,与插件发现的容错基调一致
146
+ */
147
+ export async function ensureMemoryUserKeys(memory, appIds, timeoutMs = 5000) {
148
+ const out = new Map();
149
+ const health = await probeMemoryHealth(memoryEndpoint(memory), timeoutMs);
150
+ if (!health.healthy) {
151
+ for (const appId of appIds) {
152
+ out.set(appId, { appId, skipped: `服务不可达(${health.detail ?? '未知原因'}),身份隔离依赖 OPENVIKING_USER header` });
153
+ }
154
+ return out;
155
+ }
156
+ if (health.authMode !== 'api_key') {
157
+ for (const appId of appIds) {
158
+ out.set(appId, { appId, skipped: `服务为 ${health.authMode ?? 'unknown'} 模式:身份经 X-OpenViking-User header 隔离,无需 user key(多租户部署请在 ov.conf 配 root_api_key 启用 api_key 模式)` });
159
+ }
160
+ return out;
161
+ }
162
+ const account = memory.account ?? 'lcb';
163
+ const rootKey = memory.apiKey;
164
+ if (!rootKey) {
165
+ for (const appId of appIds) {
166
+ out.set(appId, { appId, error: '服务为 api_key 模式但 memory.api_key(root key)未配置:无法签发 user key,请先在 memory 段配置 root key' });
167
+ }
168
+ return out;
169
+ }
170
+ for (const appId of appIds) {
171
+ try {
172
+ // seed 确定性:sha256(appId + rootKey) 前 32 位。root key 轮换 → seed 变 → 新 key(旧 key
173
+ // 失效),属预期安全行为;同 root key 下重签幂等
174
+ const seed = createHash('sha256').update(`${appId}:${rootKey}`).digest('hex').slice(0, 32);
175
+ const res = await fetch(`${memoryEndpoint(memory).replace(/\/+$/, '')}/api/v1/admin/accounts/${encodeURIComponent(account)}/users`, {
176
+ method: 'POST',
177
+ headers: { 'Content-Type': 'application/json', 'X-API-Key': rootKey },
178
+ body: JSON.stringify({ user_id: appId, role: 'user', seed }),
179
+ signal: AbortSignal.timeout(timeoutMs),
180
+ });
181
+ const body = (await res.json().catch(() => ({})));
182
+ if (res.ok && body.result?.user_key) {
183
+ out.set(appId, { appId, userKey: body.result.user_key });
184
+ }
185
+ else {
186
+ out.set(appId, { appId, error: `签发失败:HTTP ${res.status}${body.message ? `(${body.message})` : ''}` });
187
+ }
188
+ }
189
+ catch (e) {
190
+ out.set(appId, { appId, error: `签发异常:${e instanceof Error ? e.message : String(e)}` });
191
+ }
192
+ }
193
+ return out;
194
+ }
195
+ //# sourceMappingURL=memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"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"}
@@ -32,8 +32,10 @@ export declare const WRITE_TOOLS: ReadonlySet<string>;
32
32
  * - 把命令文本中的 `~/` 引用展开后,检查是否包含任一红区模式的「字面前缀」(模式首个通配符之前
33
33
  * 的字面部分,如 `~/.ssh/**` → `<home>/.ssh/`);
34
34
  * - 纯通配开头(如双星开头再接 credentials)无稳定字面前缀,跳过——此类交给出站脱敏兜底。
35
+ * inboxRoot(入站附件豁免根)传入时:命中字面前缀后须命令串中该前缀的每一处出现都指向 inbox
36
+ * 根内才豁免该模式,任一处不指向仍命中——fail-closed,不扩大既有绕过面。
35
37
  * 命中返回模式串,未命中返回 null。
36
38
  */
37
- export declare function bashHitsRedzone(command: string, matchers: readonly PathMatcher[]): string | null;
39
+ export declare function bashHitsRedzone(command: string, matchers: readonly PathMatcher[], inboxRoot?: string): string | null;
38
40
  /** 带缓存的红区编译:同一份模式串(JSON 键)只编译一次,decide 热路径零重复开销 */
39
41
  export declare function cachedPathMatchers(sources: readonly string[]): PathMatcher[];
@@ -14,7 +14,7 @@ import { resolve, isAbsolute } from 'node:path';
14
14
  * 出站脱敏兜底)。误报取向:宁可多拦(双星加 .key 一类的密钥扩展名),分身工作区如需此类文件由主人显式调整清单。
15
15
  */
16
16
  export const DEFAULT_REDZONE_READ_SOURCES = [
17
- '~/.lark-claudecode-bridge/**', // bridge config.yaml(app_secret)/ transcripts / plans
17
+ '~/.lark-claudecode-bridge/**', // bridge config.yaml(app_secret)/ transcripts / plans;inbox 子目录被 R1 豁免(入站附件,见 GateSecurity.inboxRoot)
18
18
  '~/.lark-cli/**', // lark-cli 用户授权 token(R4 私人面互锁项)
19
19
  '~/.claude/**', // CLI 登录态 / OAuth / 本机 settings
20
20
  '~/.codex/**',
@@ -178,20 +178,44 @@ export const WRITE_TOOLS = new Set(['Write', 'Edit', 'NotebookEdit']);
178
178
  * - 把命令文本中的 `~/` 引用展开后,检查是否包含任一红区模式的「字面前缀」(模式首个通配符之前
179
179
  * 的字面部分,如 `~/.ssh/**` → `<home>/.ssh/`);
180
180
  * - 纯通配开头(如双星开头再接 credentials)无稳定字面前缀,跳过——此类交给出站脱敏兜底。
181
+ * inboxRoot(入站附件豁免根)传入时:命中字面前缀后须命令串中该前缀的每一处出现都指向 inbox
182
+ * 根内才豁免该模式,任一处不指向仍命中——fail-closed,不扩大既有绕过面。
181
183
  * 命中返回模式串,未命中返回 null。
182
184
  */
183
- export function bashHitsRedzone(command, matchers) {
185
+ export function bashHitsRedzone(command, matchers, inboxRoot) {
184
186
  if (!command)
185
187
  return null;
186
188
  const expanded = command.replace(/(^|[\s"'=;(])~([/\\])/g, (_m, pre, sep) => `${pre}${homedir()}${sep}`);
187
189
  const norm = normalizeForCompare(expanded);
190
+ const inboxNorm = inboxRoot ? normalizeForCompare(inboxRoot) : '';
188
191
  for (const m of matchers) {
189
192
  const literal = literalPrefix(m.id);
190
- if (literal && norm.includes(literal))
191
- return m.id;
193
+ if (!literal || !norm.includes(literal))
194
+ continue;
195
+ if (inboxNorm && allOccurrencesUnderInbox(norm, literal, inboxNorm))
196
+ continue; // 全部指向 inbox → 豁免该模式
197
+ return m.id;
192
198
  }
193
199
  return null;
194
200
  }
201
+ /** Bash token 断字字符集(豁免的 fail-closed 边界):inbox 根之后紧跟这些字符视为引用结束;
202
+ * 其余字符(含 : = * ? $ 等 shell 合法文件名成分)一律视为路径成分 → 不豁免回退 deny */
203
+ const BASH_TOKEN_BREAK = new Set([' ', '\t', '\n', '\r', '"', "'", '`', ';', '&', '|', '<', '>', '(', ')', ',']);
204
+ /** literal 在 norm 中的每一处出现是否都指向 inbox 根内(含根本身):
205
+ * - 出现处须完整匹配 inboxNorm 前缀(~/.ssh/inbox 一类「第一段恰好叫 inbox」的无关模式引用不会误豁免);
206
+ * - inboxNorm 之后须为 /(子路径)、串尾(根本身)或断字符;inbox2 / inbox:x 等视为不同路径 → false。
207
+ * 已知边界(与文件头 best-effort 口径一致):`inbox/../config.yaml` 回溯、命令替换编码不在字面探测
208
+ * 能力内(R1 结构化路径侧因 normalizeForCompare 走 resolve 折叠 .. 无此问题),根治靠 OS 层沙箱 */
209
+ function allOccurrencesUnderInbox(norm, literal, inboxNorm) {
210
+ for (let i = norm.indexOf(literal); i !== -1; i = norm.indexOf(literal, i + literal.length)) {
211
+ if (!norm.startsWith(inboxNorm, i))
212
+ return false;
213
+ const c = norm[i + inboxNorm.length];
214
+ if (c !== undefined && c !== '/' && !BASH_TOKEN_BREAK.has(c))
215
+ return false;
216
+ }
217
+ return true;
218
+ }
195
219
  /** 模式串首个通配符前的字面前缀(归一化;无有效字面前缀返回 '') */
196
220
  function literalPrefix(pattern) {
197
221
  const cut = pattern.replace(/\\/g, '/').split('*')[0].replace(/[?]+$/, '');
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/security/paths.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/security/paths.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,12 @@ export interface ChannelState {
24
24
  /** 通道级计划模式(/plan 命令切换,跨重启持久;/new 不清除——它是通道偏好而非会话状态)。
25
25
  * true = 任务以 plan mode 启动(模型先出计划 → 飞书卡片批准后执行);缺省 = 直接执行 */
26
26
  planMode?: boolean;
27
+ /** 最近一次任务完成时间(ISO):群聊空闲滚动(session.groupIdleResetHours)的判定基准。
28
+ * 每个任务收尾经 markActivity 刷新;缺省 = 无记录(不触发空闲滚动,首轮轮次滚动仍可生效) */
29
+ lastActiveAt?: string;
30
+ /** 当前会话累计任务轮次(每任务收尾 +1,切换续接指针时清零):群聊轮次滚动
31
+ * (session.groupMaxTurns)的判定基准。口径按飞书消息任务数计(非 CLI 主循环轮次) */
32
+ turnCount?: number;
27
33
  }
28
34
  /**
29
35
  * 通道会话存储:JSON 文件持久化,每个 channelKey 一份 ChannelState。
@@ -52,9 +58,18 @@ export declare class SessionStore {
52
58
  * /new 传 null(下个任务新开会话,历史保留);/resume <n> 传选中 sessionId。
53
59
  * null 显式落盘(JSON 保留 "currentSessionId": null)——读取端以「字段缺失 vs null」
54
60
  * 区分存量数据与用户主动 /new,不能 delete(会退化为 undefined,见 ChannelState 注释)。
61
+ * 切换指针 = 切换会话(三个调用方 /new、/resume <n>、/ws use 与群聊自动滚动同语义),
62
+ * 轮次计数随之清零——turnCount 度量的是「当前会话跑了多少任务」,换了会话从头计。
55
63
  * channel 不存在时以 defaultWorkspace 初始化后设置。
56
64
  */
57
65
  setCurrentSession(key: string, sessionId: string | null, defaultWorkspace?: string): void;
66
+ /**
67
+ * 任务收尾记一次通道活跃(生命周期方案 A3 滚动计数据源):
68
+ * lastActiveAt = 当前时间(群聊空闲滚动基准),turnCount +1(群聊轮次滚动基准)。
69
+ * 成功/出错/被停止的任务都算一轮——只要上下文被消耗就在向滚动阈值累积。
70
+ * 不动指针与会话历史(归档由 archiveSession 负责,两者先后执行互不干扰)。
71
+ */
72
+ markActivity(key: string): void;
58
73
  /**
59
74
  * 开启新会话:channel 不存在时以 defaultWorkspace 初始化;
60
75
  * 已存在时保持工作区与历史不变(历史由 /new 命令显式清空)。
@@ -53,11 +53,27 @@ export class SessionStore {
53
53
  * /new 传 null(下个任务新开会话,历史保留);/resume <n> 传选中 sessionId。
54
54
  * null 显式落盘(JSON 保留 "currentSessionId": null)——读取端以「字段缺失 vs null」
55
55
  * 区分存量数据与用户主动 /new,不能 delete(会退化为 undefined,见 ChannelState 注释)。
56
+ * 切换指针 = 切换会话(三个调用方 /new、/resume <n>、/ws use 与群聊自动滚动同语义),
57
+ * 轮次计数随之清零——turnCount 度量的是「当前会话跑了多少任务」,换了会话从头计。
56
58
  * channel 不存在时以 defaultWorkspace 初始化后设置。
57
59
  */
58
60
  setCurrentSession(key, sessionId, defaultWorkspace = '') {
59
61
  const st = this.data[key] ?? { workspaceName: defaultWorkspace, sessions: [] };
60
62
  st.currentSessionId = sessionId;
63
+ st.turnCount = 0;
64
+ this.data[key] = st;
65
+ this.save();
66
+ }
67
+ /**
68
+ * 任务收尾记一次通道活跃(生命周期方案 A3 滚动计数据源):
69
+ * lastActiveAt = 当前时间(群聊空闲滚动基准),turnCount +1(群聊轮次滚动基准)。
70
+ * 成功/出错/被停止的任务都算一轮——只要上下文被消耗就在向滚动阈值累积。
71
+ * 不动指针与会话历史(归档由 archiveSession 负责,两者先后执行互不干扰)。
72
+ */
73
+ markActivity(key) {
74
+ const st = this.data[key] ?? { workspaceName: '', sessions: [] };
75
+ st.lastActiveAt = new Date().toISOString();
76
+ st.turnCount = (st.turnCount ?? 0) + 1;
61
77
  this.data[key] = st;
62
78
  this.save();
63
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../src/session/session-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../src/session/session-store.ts"],"names":[],"mappings":"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"}