@jesonliu/lark-claudecode-bridge 1.0.5 → 1.2.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 (56) hide show
  1. package/README.md +6 -4
  2. package/assets/web/css/main.css +46 -0
  3. package/assets/web/index.html +1 -0
  4. package/assets/web/js/pages/apps.js +118 -6
  5. package/assets/web/js/pages/claude.js +4 -7
  6. package/assets/web/js/pages/larkcli-device.js +169 -63
  7. package/assets/web/js/pages/overview.js +86 -27
  8. package/assets/web/js/pages/permissions.js +45 -10
  9. package/assets/web/js/ui.js +167 -0
  10. package/config.example.yaml +20 -2
  11. package/dist/config-defaults.js +2 -1
  12. package/dist/config-defaults.js.map +1 -1
  13. package/dist/config.d.ts +4 -2
  14. package/dist/config.js +80 -5
  15. package/dist/config.js.map +1 -1
  16. package/dist/executor/claude-executor.d.ts +3 -0
  17. package/dist/executor/claude-executor.js +3 -0
  18. package/dist/executor/claude-executor.js.map +1 -1
  19. package/dist/executor/notify-server.d.ts +4 -18
  20. package/dist/executor/notify-server.js +6 -74
  21. package/dist/executor/notify-server.js.map +1 -1
  22. package/dist/executor/permission-gate.d.ts +10 -0
  23. package/dist/executor/permission-gate.js +24 -7
  24. package/dist/executor/permission-gate.js.map +1 -1
  25. package/dist/gateway/card-builder.d.ts +30 -19
  26. package/dist/gateway/card-builder.js +63 -46
  27. package/dist/gateway/card-builder.js.map +1 -1
  28. package/dist/gateway/diff-card.d.ts +1 -2
  29. package/dist/gateway/diff-card.js +2 -3
  30. package/dist/gateway/diff-card.js.map +1 -1
  31. package/dist/gateway/feishu-gateway.d.ts +2 -2
  32. package/dist/gateway/feishu-gateway.js +35 -5
  33. package/dist/gateway/feishu-gateway.js.map +1 -1
  34. package/dist/gateway/progress-card.d.ts +15 -5
  35. package/dist/gateway/progress-card.js +29 -14
  36. package/dist/gateway/progress-card.js.map +1 -1
  37. package/dist/index.js +198 -94
  38. package/dist/index.js.map +1 -1
  39. package/dist/lark-cli-manager.d.ts +102 -1
  40. package/dist/lark-cli-manager.js +353 -12
  41. package/dist/lark-cli-manager.js.map +1 -1
  42. package/dist/notify-sop.d.ts +1 -1
  43. package/dist/notify-sop.js +21 -26
  44. package/dist/notify-sop.js.map +1 -1
  45. package/dist/session/commands.d.ts +20 -2
  46. package/dist/session/commands.js +58 -17
  47. package/dist/session/commands.js.map +1 -1
  48. package/dist/types.d.ts +27 -7
  49. package/dist/web/autostart.d.ts +49 -0
  50. package/dist/web/autostart.js +250 -0
  51. package/dist/web/autostart.js.map +1 -0
  52. package/dist/web/config-api.js +14 -2
  53. package/dist/web/config-api.js.map +1 -1
  54. package/dist/web/server.js +54 -2
  55. package/dist/web/server.js.map +1 -1
  56. package/package.json +1 -1
@@ -1,33 +1,28 @@
1
- // 飞书推送规范化 SOP 提示词(#11 软约束):注入到 app.appendSystemPrompt 末尾,
2
- // 让 Claude 在飞书桥接会话里自觉遵守推送规范。代码侧 notify-server 还有硬兜底
3
- // (send_text 超行数 / 连续多张自动转 send_file)双保险
1
+ // 飞书推送规范化 SOP 提示词(软约束):注入到 app.appendSystemPrompt 末尾,
2
+ // 让 Claude 在飞书桥接会话里自觉遵守推送规范。
4
3
  //
5
- // 文本精简版(避免占太多 context window);决策规则、文案模板、禁止清单的完整版见
6
- // docs/feishu-notify-sop-v1.0.md。这里仅取「落地侧靠硬兜底兜不住的」规则
4
+ // v2(本轮优化):旧版「>50 行/连续 4 张自动转 send_file 单文件」硬兜底已移除——
5
+ // send_text 永远多卡发送,规范改为纯内容分类引导(只推用户需要查看的内容)。
6
+ // 旧版完整规则见 docs/feishu-notify-sop-v1.0.md(存档)。
7
7
  export const FEISHU_NOTIFY_SOP_PROMPT = `【飞书推送规范(lcb-notify 三件套:send_text / send_image / send_file)】
8
8
 
9
- 发送前必查决策规则:
10
- - **长方案/长说明/最终报告:直接完整写进最终回复正文**——桥接器会把超长回复自动收起为
11
- 「查看完整内容」按钮(md 文件)并附带「确认方案/按意见修改」引导,你无须也无法控制
12
- 该呈现;严禁为长内容主动拆多张 send_text 或改 send_file 发附件
13
- - send_text 仅用于任务中途的简短通知/阶段性结果(单张 ≤ 50 行)
14
- - 关键改动 1-10 个:send_file 单发,每张附一句话说明
15
- - 辅助改动 10-30 个:合并为 1 份 Markdown 再 send_file
16
- - 任意场景 > 30 个文件:不发送,主卡片只列本地路径
17
- - 源码全文:不论多少都不发送(除非用户明确点名)
18
- - plan 文件:本地落 ~/.lark-claudecode-bridge/claude/plans/ 即可,不主动 push
19
- - 子代理(Explore / Plan 等):回报走子代理卡片,主卡片不复述
9
+ 推送前先分类——只推「用户确实需要查看」的内容:
20
10
 
21
- 禁止清单:
22
- - 为长方案/长报告主动 send_text 拆多卡或 send_file 发附件(直接写最终回复正文)
23
- - send_text 整段 Explore / Plan 报告(子代理卡片承载)
24
- - send_file 源码全文 / send_file > 10 个文件(合并 Markdown)
25
- - 主卡片复述 plan 文件内容(plan 落盘即可)
26
- - 主卡片连续推 ≥ 3 张 send_text(合并或改 send_file)
11
+ 【应该推送】
12
+ - 用户明确要求查看的内容("发我看看"、"给我文案")
13
+ - 阶段性成果定稿:文案终稿、方案成稿、数据表格、结论清单
14
+ - 需要用户确认/决策的中间产物:二选一方案、命名/参数确认
15
+ - 关键风险与异常:任务无法继续的报错、需要用户介入的发现
16
+ - 图片类产出(send_image 逐张带编号说明)
27
17
 
28
- 硬兜底(桥接器侧强制,违反会自动改路,静默转文件不发提示):
29
- - 单次 send_text 内容 > 50 行 → 自动落 ~/.lark-claudecode-bridge/notify/changes-<ts>.md 并 send_file 该附件
30
- - 单任务连续 send_text ≥ 4 张 → 第 4 张起自动转 send_file(防刷屏)
18
+ 【不应推送】
19
+ - 过程叙述("我正在读取文件…"、"接下来我将…")
20
+ - 思考/推理内容、计划罗列(plan 有专门通道)
21
+ - 工具调用细节与日志(进度卡已承载)
22
+ - 与进度卡重复的状态信息
23
+ - 长报告全文——直接写进最终回复正文,桥接器收尾会自动分多张卡片完整发出
24
+ - 源码全文(除非用户点名)
31
25
 
32
- 以上兜底触发后无需向用户解释或重发同样内容——文件已送达,继续推进任务即可。`;
26
+ send_file 严限:仅用户明确要求文件本体、或二进制类无法卡片化(zip 等)时使用;
27
+ 文本类内容一律 send_text(自动 ~3000 字/块分多卡,无长度限制)。`;
33
28
  //# sourceMappingURL=notify-sop.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"notify-sop.js","sourceRoot":"","sources":["../src/notify-sop.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,oDAAoD;AACpD,yCAAyC;AACzC,EAAE;AACF,kDAAkD;AAClD,qDAAqD;AACrD,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;uCAyBD,CAAC"}
1
+ {"version":3,"file":"notify-sop.js","sourceRoot":"","sources":["../src/notify-sop.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,6BAA6B;AAC7B,EAAE;AACF,qDAAqD;AACrD,6CAA6C;AAC7C,8CAA8C;AAC9C,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;0CAoBE,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { BridgeConfig, SessionInventory } from '../types.js';
1
+ import type { BridgeConfig, SessionInventory, Workspace } from '../types.js';
2
2
  import type { SessionStore } from './session-store.js';
3
3
  /**
4
4
  * bridge 本地命令首 token 清单(去 / 后比对)。单一来源:commands.ts 的 switch、
@@ -21,8 +21,11 @@ export interface CommandContext {
21
21
  config: BridgeConfig;
22
22
  /** 本机器人显示名:多机器人同群/多会话时 /status 需要辨认对谁说话 */
23
23
  appName: string;
24
- /** member 不能 /ws use 切换工作区(spec 权限分级) */
24
+ /** member 不能 /ws use 切换工作区(spec 权限分级);分身机器人(deputy)恒 false——
25
+ * 管理面(工作区/模型档案/插件)全局共享,分身用户不该触碰,admin 本人在分身里同样不放行 */
25
26
  isAdmin: boolean;
27
+ /** 分身机器人标记:工作区已锁定(allowed_workspaces),/ws use、/reload-plugins 等直接拒绝 */
28
+ isDeputy?: boolean;
26
29
  currentWorkspace(): string;
27
30
  stopCurrentTask(): boolean;
28
31
  /** 本 app 当前工作区最近一次会话的加载清单(SDK init 消息缓存);尚无会话时 undefined */
@@ -45,7 +48,22 @@ export interface CommandResult {
45
48
  /** 本次命令改写了 currentSessionId(/new、/resume <n>、/ws use)——wiring 据此 bump
46
49
  * pointerGen,让运行中/收尾窗口内任务的迟到归档不回写指针(覆盖用户选择的老 bug) */
47
50
  pointerTouched?: boolean;
51
+ /** 交互卡片(裸 /ws):有值时 wiring 走 sendCardTo 发送并按 cardRequestId 注册挂起项,不发 reply */
52
+ card?: unknown;
53
+ cardRequestId?: string;
48
54
  }
55
+ /**
56
+ * 切换工作区落盘语义(/ws use 文本命令与 /ws 卡片按钮回调共用,防两处漂移):
57
+ * 保留历史会话记录与通道级 model/planMode 偏好,但清除续接指针——旧会话的上下文
58
+ * 绑定原工作区目录,跨工作区自动续接容易答非所问
59
+ */
60
+ export declare function applyWorkspaceSwitch(store: SessionStore, key: string, target: Workspace): void;
61
+ /** 工作区清单 markdown(/ws list 与 /ws 卡片发送失败的降级文本共用,防两处漂移);
62
+ * currentName 有值时当前项打 ← 标记,缺省输出与旧版 /ws list 字节级一致 */
63
+ export declare function workspaceListMarkdown(workspaces: Array<{
64
+ name: string;
65
+ path: string;
66
+ }>, currentName?: string): string;
49
67
  /**
50
68
  * 斜杠命令处理。非 / 开头的文本返回 { handled: false, taskText } 交给任务链路;
51
69
  * 本地命令之外的 / 开头消息也返回 { handled: false, taskText } 原文透传——
@@ -1,7 +1,9 @@
1
+ import { randomUUID } from 'node:crypto';
1
2
  import { formatBeijingTime } from '../util/beijing-time.js';
2
3
  import { handlePluginCommand } from './plugin-command.js';
3
4
  import { handleModelProfileCommand } from './model-profile-command.js';
4
5
  import { invalidatePluginCache } from '../executor/plugin-discovery.js';
6
+ import { buildWorkspaceCard } from '../gateway/card-builder.js';
5
7
  /**
6
8
  * bridge 本地命令首 token 清单(去 / 后比对)。单一来源:commands.ts 的 switch、
7
9
  * triggers.ts 的 RESERVED、index.ts 的透传说明均以此为准——本地命令永远优先,
@@ -19,7 +21,7 @@ export const SLASH_COMMAND_META = {
19
21
  resume: { description: '列出/恢复历史会话(支持翻页)', icon: 'update-ai_outlined' },
20
22
  stop: { description: '停止当前任务', icon: 'clear_outlined' },
21
23
  status: { description: '查看当前状态', icon: 'diagnosis-ai_outlined' },
22
- ws: { description: '切换工作区(/ws list 列出)', icon: 'folder_outlined' },
24
+ ws: { description: '查看/切换工作区(/ws 出卡片,点击即切换)', icon: 'folder_outlined' },
23
25
  model: { description: '查看/切换模型', icon: 'ai-style_outlined' },
24
26
  'model-profile': { description: '查看/切换厂商档案(切换需管理员)', icon: 'switch-tracking_outlined' },
25
27
  plan: { description: '切换计划模式开关;[/plan 模式切换]、[/plan on 开启]、[/plan off 关闭]', icon: 'plan_outlined' },
@@ -36,8 +38,9 @@ const HELP = `**可用命令**
36
38
  /resume page <页码> — 翻看更早的历史会话
37
39
  /stop — 停止当前任务
38
40
  /status — 查看当前状态
39
- /ws list — 列出工作区
40
- /ws use <名字> — 切换工作区
41
+ /ws — 工作区卡片:列出全部工作区,点击即切换
42
+ /ws list — 列出工作区(文本)
43
+ /ws use <名字> — 切换工作区(文本)
41
44
  /model — 查看/切换模型(/model <名字> 切换,/model reset 恢复默认)
42
45
  /model-profile — 查看/切换厂商档案(/model-profile <名字> 切换,管理员)
43
46
  /plan — 切换计划模式(先出方案、批准后再执行;/plan on 开启,/plan off 关闭)
@@ -57,6 +60,28 @@ const RESUME_PAGE_SIZE = 20;
57
60
  function tail(items) {
58
61
  return items.length > 30 ? `${items.slice(0, 30).join('、')} …等 ${items.length} 个` : items.join('、');
59
62
  }
63
+ /**
64
+ * 切换工作区落盘语义(/ws use 文本命令与 /ws 卡片按钮回调共用,防两处漂移):
65
+ * 保留历史会话记录与通道级 model/planMode 偏好,但清除续接指针——旧会话的上下文
66
+ * 绑定原工作区目录,跨工作区自动续接容易答非所问
67
+ */
68
+ export function applyWorkspaceSwitch(store, key, target) {
69
+ const st = store.getChannelState(key);
70
+ store.setChannelState(key, {
71
+ workspaceName: target.name,
72
+ sessions: st?.sessions ?? [],
73
+ ...(st?.model ? { model: st.model } : {}),
74
+ ...(st?.planMode ? { planMode: st.planMode } : {}),
75
+ });
76
+ store.setCurrentSession(key, null, target.name);
77
+ }
78
+ /** 工作区清单 markdown(/ws list 与 /ws 卡片发送失败的降级文本共用,防两处漂移);
79
+ * currentName 有值时当前项打 ← 标记,缺省输出与旧版 /ws list 字节级一致 */
80
+ export function workspaceListMarkdown(workspaces, currentName) {
81
+ return workspaces
82
+ .map((w) => `- **${w.name}** \`${w.path}\`${w.name === currentName ? ' ← 当前' : ''}`)
83
+ .join('\n');
84
+ }
60
85
  /** 清单类回复共用的头部(工作区 + 加载时间) */
61
86
  function inventoryHeader(inv) {
62
87
  return `<font color='grey'>工作区 ${inv.workspace} · ${formatBeijingTime(inv.loadedAt)} 加载</font>`;
@@ -84,7 +109,14 @@ export async function handleCommand(text, ctx) {
84
109
  // 仅清除「当前续接指针」,历史会话列表保留(/resume 仍可切回)——
85
110
  // 旧版清空整个 sessions 导致开新会话后历史「消失」,列表永远积累不起来
86
111
  store.setCurrentSession(key, null, st?.workspaceName || ws);
87
- return { handled: true, pointerTouched: true, reply: `✅ 已开启新会话(工作区:${ws})。历史会话未清空,/resume 可随时切回` };
112
+ // 完整路径一并展示(任务将在此目录执行);store 里的名字可能不在清单
113
+ // (清单被改/被删)→ find 落空不带路径,不硬抛
114
+ const wsPath = ctx.config.workspaces.find((w) => w.name === ws)?.path;
115
+ return {
116
+ handled: true,
117
+ pointerTouched: true,
118
+ reply: `✅ 已开启新会话(工作区:${ws}${wsPath ? `,路径 ${wsPath}` : ''})。历史会话未清空,/resume 可随时切回`,
119
+ };
88
120
  }
89
121
  case 'resume': {
90
122
  const sessions = store.listSessions(key); // 内部新→旧(sessions[0] 最新)
@@ -158,29 +190,36 @@ export async function handleCommand(text, ctx) {
158
190
  }
159
191
  case 'ws': {
160
192
  const sub = args[0];
193
+ if (!sub) {
194
+ // 分身机器人工作区恒锁定(allowed_workspaces),卡片上全是点了必拒的按钮,不如直接回文本
195
+ if (ctx.isDeputy) {
196
+ return { handled: true, reply: `⛔ 分身机器人已锁定工作区:**${ctx.currentWorkspace()}**(allowed_workspaces),不可切换。` };
197
+ }
198
+ // 裸 /ws:卡片列出全部工作区,点击工作区名直接切换。
199
+ // 权限校验放回调时点(admin 可切、member 看卡被拒),与 /ws use 的语义一致
200
+ const requestId = randomUUID();
201
+ return {
202
+ handled: true,
203
+ cardRequestId: requestId,
204
+ card: buildWorkspaceCard({ requestId, workspaces: ctx.config.workspaces, currentName: ctx.currentWorkspace() }, ctx.config.card?.width ?? 'default'),
205
+ };
206
+ }
161
207
  if (sub === 'list') {
162
- const list = ctx.config.workspaces.map((w) => `- **${w.name}** \`${w.path}\``).join('\n');
208
+ const list = workspaceListMarkdown(ctx.config.workspaces, ctx.currentWorkspace());
163
209
  return { handled: true, reply: `**工作区列表**\n${list}` };
164
210
  }
165
211
  if (sub === 'use') {
212
+ if (ctx.isDeputy)
213
+ return { handled: true, reply: '⛔ 分身机器人已锁定工作区(allowed_workspaces),不可切换;如需变更请修改 config.yaml' };
166
214
  if (!ctx.isAdmin)
167
215
  return { handled: true, reply: '⛔ 切换工作区仅管理员可用' };
168
216
  const target = ctx.config.workspaces.find((w) => w.name === args[1]);
169
217
  if (!target)
170
- return { handled: true, reply: `工作区 "${args[1] ?? ''}" 不存在,/ws list 查看` };
171
- const st = store.getChannelState(key);
172
- // 切换工作区保留历史会话记录与通道级模型偏好,但清除续接指针——
173
- // 旧会话的上下文绑定原工作区目录,跨工作区自动续接容易答非所问
174
- store.setChannelState(key, {
175
- workspaceName: target.name,
176
- sessions: st?.sessions ?? [],
177
- ...(st?.model ? { model: st.model } : {}),
178
- ...(st?.planMode ? { planMode: st.planMode } : {}),
179
- });
180
- store.setCurrentSession(key, null, target.name);
218
+ return { handled: true, reply: `工作区 "${args[1] ?? ''}" 不存在,/ws 查看` };
219
+ applyWorkspaceSwitch(store, key, target);
181
220
  return { handled: true, pointerTouched: true, reply: `✅ 已切换工作区:**${target.name}**(${target.path})。已自动开启新会话(/resume 可切回历史)` };
182
221
  }
183
- return { handled: true, reply: '用法:/ws list | /ws use <名字>' };
222
+ return { handled: true, reply: '用法:/ws(卡片切换)| /ws list | /ws use <名字>' };
184
223
  }
185
224
  case 'model': {
186
225
  const st = store.getChannelState(key);
@@ -272,6 +311,8 @@ export async function handleCommand(text, ctx) {
272
311
  case 'reload-plugins': {
273
312
  // 终端 /reload-plugins 的 bridge 等价物:插件由每任务启动时现扫描加载(mtime 缓存),
274
313
  // 清缓存即「重载」——下一条消息重新发现并传入 SDK(managed 模式双目录都清)
314
+ if (ctx.isDeputy)
315
+ return { handled: true, reply: '⛔ 分身机器人不支持该命令(插件由分身配置 allowed_plugins / plugins 限定)' };
275
316
  const dirs = ctx.claudeConfigDir ? [ctx.claudeConfigDir, ...(ctx.userClaudeDir && ctx.userClaudeDir !== ctx.claudeConfigDir ? [ctx.userClaudeDir] : [])] : [];
276
317
  if (dirs.length === 0)
277
318
  return { handled: true, reply: '⛔ 当前部署未注入 Claude 配置目录,无法重载' };
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/session/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/session/commands.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -30,6 +30,18 @@ export interface FeishuAppConfig {
30
30
  * 通常无须配置:~/.claude 已启用的 marketplace 插件由 plugin-discovery 自动加载;
31
31
  * 显式配置用于开发期直指源码目录(同名时优先于自动发现) */
32
32
  plugins?: PluginRef[];
33
+ /** 机器人角色:primary(缺省,主机器人——全技能/全插件/全工作区,配对码准入);
34
+ * deputy(分身——按用途限定能力,艾特即用,供他人使用)。存量配置未配 role 行为不变 */
35
+ role?: 'primary' | 'deputy';
36
+ /** deputy 专用:技能白名单(必填,透传 SDK Options.skills)——未列出的技能对模型不可见
37
+ * 且被 Skill 工具拒绝。注意 SDK 官方语义是「上下文过滤器非沙箱」:技能文件仍在磁盘、
38
+ * 可被 Read/Bash 读到,硬隔离需配合工具级限制(本期按用户决策不做) */
39
+ allowedSkills?: string[];
40
+ /** deputy 专用:插件白名单(可选)——自动发现的插件按 name 过滤,未列出的剔除;
41
+ * 显式 app.plugins 始终保留(开发期直指源码目录的场景) */
42
+ allowedPlugins?: string[];
43
+ /** deputy 专用:工作区锁定(必填)——任务强制运行在首个允许的工作区,/ws 切换被拒 */
44
+ allowedWorkspaces?: string[];
33
45
  }
34
46
  /** 工作区:name + path。旧版 type(code-dev/generic)已废弃(#6)——计划模式改为
35
47
  * 通道级 /plan 命令切换,diff 收尾改为 git 仓库自动判定;旧配置携带 type 仅 warn 忽略 */
@@ -38,10 +50,13 @@ export interface Workspace {
38
50
  path: string;
39
51
  }
40
52
  /** 权限白名单配置:字段可选——未配置的字段回退内置默认(读工具 + Bash + 危险命令表,见 permission-gate)。
41
- * allowTools 配置即整体替换内置默认(不与默认合并);dangerousCommands 为 Bash 危险命令正则(命中弹确认卡) */
53
+ * allowTools 配置即整体替换内置默认(不与默认合并);dangerousCommands 为 Bash 危险命令正则(命中弹确认卡);
54
+ * allowAllTools 为「全部工具免确认」开关,缺省开——开启后除命中 dangerousCommands 的 Bash 外一律直通,
55
+ * 关闭则回落 allowTools 白名单语义 */
42
56
  export interface PermissionsConfig {
43
57
  allowTools?: string[];
44
58
  dangerousCommands?: RegExp[];
59
+ allowAllTools?: boolean;
45
60
  }
46
61
  /** Web 配置页服务器(lcb start / lcb ui 内嵌,node:http 零依赖):enabled/host/port 均为启动时读取,改动需重启 */
47
62
  export interface ServerConfig {
@@ -127,6 +142,11 @@ export interface BridgeConfig {
127
142
  session?: SessionConfig;
128
143
  /** 卡片展示;缺省 width=default(飞书默认宽度) */
129
144
  card?: CardConfig;
145
+ /** 开机自启意图记录(整体可选):仅保存用户的开关选择,实际注册状态以 OS 查询为权威
146
+ * (概览页 GET /api/autostart 现查 Startup 文件夹/launchd/systemd) */
147
+ autostart?: {
148
+ enabled?: boolean;
149
+ };
130
150
  }
131
151
  /** 卡片展示配置(整体可选) */
132
152
  export interface CardConfig {
@@ -169,9 +189,9 @@ export interface RejectedMessage {
169
189
  }
170
190
  /** 卡片回调决策:allow/deny/allow-session 为写工具确认卡;plan-* 为计划确认卡(feedback = 按意见修改时的用户输入);
171
191
  * plan-view-file = 计划「查看完整方案」按钮触发,原文 md 直接 send_file 而非塞入卡片正文;
172
- * qa-* 为提问卡;view-output-file/output-* 为长回复收起卡(0.20.0:>2000 字回复的
173
- * 查看全文 / 确认方案 / 按意见修改引导,后两者点击即发起新一轮任务) */
174
- export type CardDecision = 'allow' | 'deny' | 'allow-session' | 'plan-approve' | 'plan-revise' | 'plan-reject' | 'plan-view-file' | 'qa-pick' | 'qa-submit' | 'view-output-file' | 'output-confirm' | 'output-revise';
192
+ * qa-* 为提问卡;output-* 为结论尾卡(完整回复多卡的最后一张:确认方案 / 按意见修改
193
+ * 引导,点击即发起新一轮任务) */
194
+ export type CardDecision = 'allow' | 'deny' | 'allow-session' | 'plan-approve' | 'plan-revise' | 'plan-reject' | 'plan-view-file' | 'qa-pick' | 'qa-submit' | 'output-confirm' | 'output-revise' | 'ws-switch';
175
195
  export interface CardActionValue {
176
196
  requestId: string;
177
197
  decision: CardDecision;
@@ -180,10 +200,10 @@ export interface CardActionValue {
180
200
  qIndex?: number;
181
201
  option?: string;
182
202
  /** form 容器提交时回传的全部输入项(name → 值):qa_form 的 custom_N、
183
- * plan_form/output_form 的 feedback 均在此(0.20.0 泛化,取代只解析 feedback 单键) */
203
+ * plan_form/result_form 的 feedback 均在此(0.20.0 泛化,取代只解析 feedback 单键) */
184
204
  formValue?: Record<string, string>;
185
- /** view-output-file:落盘的完整回复文件路径(白名单校验 outputs 目录前缀后才发送) */
186
- filePath?: string;
205
+ /** ws-switch:目标工作区名(/ws 工作区卡片的切换按钮) */
206
+ ws?: string;
187
207
  }
188
208
  export interface CardActionEvent {
189
209
  value: CardActionValue;
@@ -0,0 +1,49 @@
1
+ /** Windows 旧版 schtasks 任务名(仅迁移清理用:ONLOGON 触发器需管理员,已改用 Startup 文件夹) */
2
+ export declare const AUTOSTART_TASK_NAME = "LarkClaudeCodeBridge";
3
+ /** Windows Startup 文件夹启动器文件名 */
4
+ export declare const AUTOSTART_STARTUP_VBS = "lark-claudecode-bridge.vbs";
5
+ /** 任务管理器「启动应用」对 Startup 文件夹项的禁用标志键(值名 = 启动器文件名) */
6
+ export declare const AUTOSTART_APPROVED_KEY = "HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\StartupApproved\\StartupFolder";
7
+ /** macOS LaunchAgent Label(= plist 文件名去后缀) */
8
+ export declare const AUTOSTART_LABEL = "com.lark-claudecode-bridge";
9
+ /** Linux systemd 用户服务单元名 */
10
+ export declare const AUTOSTART_UNIT = "lark-claudecode-bridge.service";
11
+ type ExecFileFn = (file: string, args: string[], cb: (err: Error | null, stdout: string | Buffer, stderr: string | Buffer) => void) => void;
12
+ export interface AutostartDeps {
13
+ platform?: NodeJS.Platform;
14
+ execFileFn?: ExecFileFn;
15
+ configDir?: string;
16
+ homeDir?: string;
17
+ /** Windows %APPDATA%(Startup 文件夹根);缺省 env APPDATA,缺失再按 homeDir 标准布局推导 */
18
+ appDataDir?: string;
19
+ /** dist/bin/lcb.js 绝对路径;缺省视为入口不可用(tsx 源码模式)→ supported:false */
20
+ entryPath?: string;
21
+ /** node 可执行文件;缺省 process.execPath */
22
+ nodePath?: string;
23
+ uid?: number;
24
+ }
25
+ export interface AutostartStatus {
26
+ /** dist 入口可用且平台受支持(tsx 源码模式 false,页面按钮禁用) */
27
+ supported: boolean;
28
+ /** OS 层已注册(权威判定,非 config 意图) */
29
+ enabled: boolean;
30
+ platform: NodeJS.Platform;
31
+ /** 人类可读实现方式 / 异常原因(页面 hint 展示) */
32
+ detail?: string;
33
+ /** 生成的启动器文件路径(展示用) */
34
+ registeredPath?: string;
35
+ /** 已注册但启动器内容与当前安装不符(换 Node 等)→ 提示关闭再开启 */
36
+ stale?: boolean;
37
+ }
38
+ /**
39
+ * 期望启动器内容(纯函数,注册写盘与 stale 比对共用单源)。
40
+ * Windows = wscript VBS(隐藏窗口不闪控制台);macOS = launchd plist;Linux = systemd unit。
41
+ * KeepAlive=false / Restart=on-failure 刻意偏离 deploy/ 模板(true/always):配置页有「停止」
42
+ * 按钮,守护拉起会跟用户手动停止互相打架;崩溃不自愈由 PID 探活 + 页面手动启动兜底。
43
+ */
44
+ export declare function buildAutostartLauncher(platform: NodeJS.Platform, nodePath: string, entry: string, configDir: string): string;
45
+ /** 查询 OS 层注册状态(enabled 权威判定 + stale 比对) */
46
+ export declare function getAutostartStatus(deps?: AutostartDeps): Promise<AutostartStatus>;
47
+ /** 注册 / 注销开机自启。OS 操作失败抛错(stderr 首行摘要);调用方(server)失败时不回写 config 意图 */
48
+ export declare function setAutostartEnabled(enabled: boolean, deps?: AutostartDeps): Promise<AutostartStatus>;
49
+ export {};