@jesonliu/lark-claudecode-bridge 1.3.5 → 1.3.7
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 +14 -1
- package/assets/web/js/pages/plugins.js +91 -56
- package/config.example.yaml +36 -11
- package/dist/config.js +80 -13
- package/dist/config.js.map +1 -1
- package/dist/executor/claude-executor.d.ts +8 -1
- package/dist/executor/claude-executor.js +47 -5
- package/dist/executor/claude-executor.js.map +1 -1
- package/dist/executor/notify-server.js +1 -1
- package/dist/executor/notify-server.js.map +1 -1
- package/dist/executor/permission-gate.d.ts +31 -0
- package/dist/executor/permission-gate.js +49 -0
- package/dist/executor/permission-gate.js.map +1 -1
- package/dist/executor/plugin-manager.d.ts +2 -2
- package/dist/executor/plugin-manager.js +9 -3
- package/dist/executor/plugin-manager.js.map +1 -1
- package/dist/gateway/feishu-gateway.d.ts +23 -2
- package/dist/gateway/feishu-gateway.js +71 -6
- package/dist/gateway/feishu-gateway.js.map +1 -1
- package/dist/gateway/progress-card.d.ts +9 -3
- package/dist/gateway/progress-card.js +17 -4
- package/dist/gateway/progress-card.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.js +81 -13
- package/dist/index.js.map +1 -1
- package/dist/notify-sop.d.ts +1 -1
- package/dist/notify-sop.js +3 -3
- package/dist/notify-sop.js.map +1 -1
- package/dist/security/audit.d.ts +43 -0
- package/dist/security/audit.js +46 -0
- package/dist/security/audit.js.map +1 -0
- package/dist/security/paths.d.ts +39 -0
- package/dist/security/paths.js +216 -0
- package/dist/security/paths.js.map +1 -0
- package/dist/security/redact.d.ts +59 -0
- package/dist/security/redact.js +151 -0
- package/dist/security/redact.js.map +1 -0
- package/dist/types.d.ts +29 -5
- package/dist/web/server.js +1 -1
- package/dist/web/server.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -196,7 +196,20 @@ MCP server 配置(`.mcp.json` / `~/.claude.json` / 插件 `plugin.json` 的 `m
|
|
|
196
196
|
本机 Claude Code 是共用资源:白名单用户可通过确认卡片让它在你电脑执行任意命令。
|
|
197
197
|
请只批准信任的人;工作区白名单、用户白名单、写操作确认三道闸不要关闭。
|
|
198
198
|
|
|
199
|
-
**隐私提醒**:对话全文(含代码、文件路径)明文落盘于 `~/.lark-claudecode-bridge/transcripts
|
|
199
|
+
**隐私提醒**:对话全文(含代码、文件路径)明文落盘于 `~/.lark-claudecode-bridge/transcripts/`(机器人输出的敏感形字符串已脱敏后落盘);`config.yaml` 中的 `app_secret` 与 `apps[].env` 值同样为明文。请自行控制该目录与文件的访问权限,并按需配置 `transcripts.retention_days` 保留期。
|
|
200
|
+
|
|
201
|
+
### 安保红线(分身机器人 deputy)
|
|
202
|
+
|
|
203
|
+
权限模型为「双轴」:**权限轴**(`allowed_skills` / `allowed_plugins` / `allowed_workspaces`,全部可选,未配置 = 全给)管「能办哪些事」;**红线轴**(不占配置、恒定生效)管「任何分身、任何调用者都绝对不发生的事」:
|
|
204
|
+
|
|
205
|
+
- **R1 读红线**:`security.redzone.read` 黑名单内的路径(bridge 自身配置与 transcripts、lark-cli token、`~/.ssh`、`credentials*`、`.env`、`*.pem` 等,内置默认见 `config.example.yaml`),分身一律拒绝访问,统一回复「没有权限」且不解释保护对象
|
|
206
|
+
- **R2 写红线**:分身写/改/删仅限已分配工作区(未配置工作区白名单 = 全部已配置工作区),工作区外一律只读
|
|
207
|
+
- **R3 出站脱敏**:全部机器人(含主机器人)发往飞书的每张卡片、流式正文、最终回复必经出站脱敏网关——`sk-` key、Bearer、JWT、PEM 块、`password=` 键值对、≥32 位 hex 等统一替换为 `******`;凭证类文件(`.pem/.key/.enc/credentials`)一律不允许发送到聊天。命中事件全量落盘 `~/.lark-claudecode-bridge/security/audit-<appId>.jsonl`
|
|
208
|
+
- **R4 私人面拒绝**:分身设计上不承载主人私人数据面(邮件/私聊/通讯录),私人面工具对分身不存在(「不可被说服的能力缺失」);主人私事请走主机器人
|
|
209
|
+
- **Bash 三态**:`bash_mode: off`(不提供 Bash,R1/R2 成为完备硬约束的推荐形态)/ `confirm`(缺省,危险命令与红区特征弹卡或拒绝)/ `trusted`(放行;红区探测仍生效,真正安全需 OS 层沙箱)
|
|
210
|
+
- **金丝雀**:在敏感位置预埋假密钥(如 `sk-canary-xxx`),任何金丝雀出现在对外消息中即触发脱敏 + 实时告警——这是验证防线存活的手段,建议部署后立即埋设
|
|
211
|
+
|
|
212
|
+
已知边界:Bash 命令串的红区探测是 best-effort(命令替换/编码可绕过),进程内控制对 CLI 漏洞与恶意插件无能为力;要对抗这些需 OS 层沙箱(独立账号 + NTFS ACL),见方案文档「批次 3」。
|
|
200
213
|
|
|
201
214
|
## 已知限制
|
|
202
215
|
|
|
@@ -9,9 +9,10 @@ async function renderPlugins(el) {
|
|
|
9
9
|
el.innerHTML = `
|
|
10
10
|
<div class="card">
|
|
11
11
|
<h3>Claude Code 插件 <button class="btn sm" id="plCheckUpdate" style="margin-left:8px">检查更新</button></h3>
|
|
12
|
-
<div class="desc">两处目录的已启用插件都会自动加载(managed 托管目录优先):本机 <code>~/.claude</code>(来源「本机」,与本机 claude CLI 共用)与 bridge 托管目录 <code id="pluginDir">…</code>。装好后下一条消息自动加载。飞书端同样可用 <code>/plugin install xxx@marketplace</code
|
|
12
|
+
<div class="desc">两处目录的已启用插件都会自动加载(managed 托管目录优先):本机 <code>~/.claude</code>(来源「本机」,与本机 claude CLI 共用)与 bridge 托管目录 <code id="pluginDir">…</code>。装好后下一条消息自动加载。飞书端同样可用 <code>/plugin install xxx@marketplace</code>(仅管理员)。打开页面在后台自动检查远程市场新版本(不阻塞列表,5 分钟内不重复;只检测不升级,升级点单行「更新」)。</div>
|
|
13
|
+
<div class="hint" id="plSyncNote" hidden style="margin:6px 0"></div>
|
|
13
14
|
<table><thead><tr><th>插件</th><th>市场</th><th>来源</th><th>版本</th><th style="width:90px">状态</th><th style="width:250px">操作</th></tr></thead>
|
|
14
|
-
<tbody id="plBody"><tr><td colspan="6" class="hint"
|
|
15
|
+
<tbody id="plBody"><tr><td colspan="6" class="hint">加载中…</td></tr></tbody></table>
|
|
15
16
|
</div>
|
|
16
17
|
<div class="card">
|
|
17
18
|
<h3>安装 / 市场</h3>
|
|
@@ -54,62 +55,94 @@ async function renderPlugins(el) {
|
|
|
54
55
|
'marketplace-add': '添加中…', 'marketplace-remove': '移除中…', enable: '处理中…', disable: '处理中…',
|
|
55
56
|
};
|
|
56
57
|
const opNames = { install: '安装', uninstall: '卸载', update: '更新', 'update-all': '全部更新', 'marketplace-add': '添加市场', 'marketplace-remove': '移除市场', enable: '启用', disable: '停用' };
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
/** 远程刷新信息条:后台检查远程市场索引的状态提示(非阻断、非报错样式;空串隐藏) */
|
|
59
|
+
const setSyncNote = (text) => {
|
|
60
|
+
const note = $('#plSyncNote');
|
|
61
|
+
if (!note) return;
|
|
62
|
+
note.textContent = text || '';
|
|
63
|
+
note.hidden = !text;
|
|
64
|
+
};
|
|
65
|
+
/** 渲染已装插件表(本地秒出与后台刷新完成两条路径共用;入参 /api/plugins 响应) */
|
|
66
|
+
const renderList = (r) => {
|
|
67
|
+
installed = r.plugins || [];
|
|
68
|
+
$('#pluginDir').textContent = r.configDir;
|
|
69
|
+
const body = $('#plBody');
|
|
70
|
+
if (!body) return; // 页面已切走(后台刷新回调晚于切页)
|
|
71
|
+
if (!installed.length) {
|
|
72
|
+
body.innerHTML = '<tr><td colspan="6" class="hint">尚未安装任何插件</td></tr>';
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
body.innerHTML = installed.map((p) => `
|
|
76
|
+
<tr>
|
|
77
|
+
<td><b>${esc(p.name)}</b></td>
|
|
78
|
+
<td>${esc(p.marketplace || '-')}</td>
|
|
79
|
+
<td>${p.source === 'bridge' ? '<span class="tag warn">bridge 托管</span>' : '<span class="tag off">本机 ~/.claude</span>'}</td>
|
|
80
|
+
<td class="hint">${esc(p.version || '-')}${p.latestVersion ? ` <span class="tag warn">→ ${esc(p.latestVersion)}</span>` : ''}</td>
|
|
81
|
+
<td>${p.enabled ? '<span class="tag ok">已启用</span>' : '<span class="tag off">未启用</span>'}</td>
|
|
82
|
+
<td>
|
|
83
|
+
<button class="btn sm" data-op="update" data-arg="${esc(p.key)}" data-dir="${p.source}">更新</button>
|
|
84
|
+
<button class="btn sm" data-op="${p.enabled ? 'disable' : 'enable'}" data-arg="${esc(p.key)}" data-dir="${p.source}">${p.enabled ? '停用' : '启用'}</button>
|
|
85
|
+
<button class="btn sm danger" data-op="uninstall" data-arg="${esc(p.key)}" data-dir="${p.source}">卸载</button>
|
|
86
|
+
</td>
|
|
87
|
+
</tr>`).join('');
|
|
88
|
+
body.querySelectorAll('button[data-op]').forEach((b) => b.onclick = async () => {
|
|
89
|
+
const { op, arg, dir } = b.dataset;
|
|
90
|
+
// 影响性操作先二次确认(启用/安装/市场添加为新增类,无需确认)
|
|
91
|
+
if (op === 'disable' && !(await confirmDialog({
|
|
92
|
+
title: '停用插件',
|
|
93
|
+
message: `确定停用插件 <code>${esc(arg)}</code> 吗?停用后下一条消息不再加载该插件,可随时再启用。`,
|
|
94
|
+
confirmText: '停用',
|
|
95
|
+
}))) return;
|
|
96
|
+
if (op === 'update' && !(await confirmDialog({
|
|
97
|
+
title: '更新插件',
|
|
98
|
+
message: `确定更新插件 <code>${esc(arg)}</code> 吗?更新后下一条消息按新版本加载。`,
|
|
99
|
+
confirmText: '更新',
|
|
100
|
+
}))) return;
|
|
101
|
+
if (op === 'uninstall' && !(await confirmDialog({
|
|
102
|
+
title: '卸载插件',
|
|
103
|
+
message: `确定卸载插件 <code>${esc(arg)}</code> 吗?卸载后需重新安装才能恢复,进行中的会话不受影响。`,
|
|
104
|
+
danger: true,
|
|
105
|
+
confirmText: '卸载',
|
|
106
|
+
}))) return;
|
|
107
|
+
// 慢操作走进度弹框;亚秒级启停走轻量 act(弹框一闪而过反而干扰)
|
|
108
|
+
if (op === 'enable' || op === 'disable') act(op, arg, dir, b);
|
|
109
|
+
else runOpDialog(op, arg, dir, b);
|
|
110
|
+
});
|
|
111
|
+
};
|
|
112
|
+
// 列表本地秒出:不带 refresh(纯本地文件读取,无远程市场索引等待)
|
|
113
|
+
const loadLocal = async () => {
|
|
60
114
|
try {
|
|
61
|
-
|
|
62
|
-
if (r.refreshWarning) toast(`远程市场索引刷新失败(版本号可能滞后):${r.refreshWarning}`, true);
|
|
63
|
-
installed = r.plugins || [];
|
|
64
|
-
$('#pluginDir').textContent = r.configDir;
|
|
65
|
-
const body = $('#plBody');
|
|
66
|
-
if (!installed.length) {
|
|
67
|
-
body.innerHTML = '<tr><td colspan="6" class="hint">尚未安装任何插件</td></tr>';
|
|
68
|
-
return true;
|
|
69
|
-
}
|
|
70
|
-
body.innerHTML = installed.map((p) => `
|
|
71
|
-
<tr>
|
|
72
|
-
<td><b>${esc(p.name)}</b></td>
|
|
73
|
-
<td>${esc(p.marketplace || '-')}</td>
|
|
74
|
-
<td>${p.source === 'bridge' ? '<span class="tag warn">bridge 托管</span>' : '<span class="tag off">本机 ~/.claude</span>'}</td>
|
|
75
|
-
<td class="hint">${esc(p.version || '-')}${p.latestVersion ? ` <span class="tag warn">→ ${esc(p.latestVersion)}</span>` : ''}</td>
|
|
76
|
-
<td>${p.enabled ? '<span class="tag ok">已启用</span>' : '<span class="tag off">未启用</span>'}</td>
|
|
77
|
-
<td>
|
|
78
|
-
<button class="btn sm" data-op="update" data-arg="${esc(p.key)}" data-dir="${p.source}">更新</button>
|
|
79
|
-
<button class="btn sm" data-op="${p.enabled ? 'disable' : 'enable'}" data-arg="${esc(p.key)}" data-dir="${p.source}">${p.enabled ? '停用' : '启用'}</button>
|
|
80
|
-
<button class="btn sm danger" data-op="uninstall" data-arg="${esc(p.key)}" data-dir="${p.source}">卸载</button>
|
|
81
|
-
</td>
|
|
82
|
-
</tr>`).join('');
|
|
83
|
-
body.querySelectorAll('button[data-op]').forEach((b) => b.onclick = async () => {
|
|
84
|
-
const { op, arg, dir } = b.dataset;
|
|
85
|
-
// 影响性操作先二次确认(启用/安装/市场添加为新增类,无需确认)
|
|
86
|
-
if (op === 'disable' && !(await confirmDialog({
|
|
87
|
-
title: '停用插件',
|
|
88
|
-
message: `确定停用插件 <code>${esc(arg)}</code> 吗?停用后下一条消息不再加载该插件,可随时再启用。`,
|
|
89
|
-
confirmText: '停用',
|
|
90
|
-
}))) return;
|
|
91
|
-
if (op === 'update' && !(await confirmDialog({
|
|
92
|
-
title: '更新插件',
|
|
93
|
-
message: `确定更新插件 <code>${esc(arg)}</code> 吗?更新后下一条消息按新版本加载。`,
|
|
94
|
-
confirmText: '更新',
|
|
95
|
-
}))) return;
|
|
96
|
-
if (op === 'uninstall' && !(await confirmDialog({
|
|
97
|
-
title: '卸载插件',
|
|
98
|
-
message: `确定卸载插件 <code>${esc(arg)}</code> 吗?卸载后需重新安装才能恢复,进行中的会话不受影响。`,
|
|
99
|
-
danger: true,
|
|
100
|
-
confirmText: '卸载',
|
|
101
|
-
}))) return;
|
|
102
|
-
// 慢操作走进度弹框;亚秒级启停走轻量 act(弹框一闪而过反而干扰)
|
|
103
|
-
if (op === 'enable' || op === 'disable') act(op, arg, dir, b);
|
|
104
|
-
else runOpDialog(op, arg, dir, b);
|
|
105
|
-
});
|
|
115
|
+
renderList(await api('GET', '/api/plugins'));
|
|
106
116
|
return true;
|
|
107
117
|
} catch (e) {
|
|
108
118
|
installed = [];
|
|
109
|
-
$('#plBody')
|
|
119
|
+
const body = $('#plBody');
|
|
120
|
+
if (body) body.innerHTML = `<tr><td colspan="6" class="hint">加载失败:${esc(e.message)}</td></tr>`;
|
|
110
121
|
return false;
|
|
111
122
|
}
|
|
112
123
|
};
|
|
124
|
+
// 后台刷新远程市场索引(force=true 绕过 5 分钟节流,手动「检查更新」用):不阻塞列表,
|
|
125
|
+
// 完成后仅更新版本号列(只拉最新版本号不升级插件本体);失败降级为信息条温和提示
|
|
126
|
+
// (后端本就返回本地数据 + refreshWarning),不再弹红色 toast。切页后放弃渲染
|
|
127
|
+
const refreshRemote = async (force) => {
|
|
128
|
+
setSyncNote('🔄 后台检查远程市场新版本中…(不影响浏览)');
|
|
129
|
+
try {
|
|
130
|
+
const r = await api('GET', `/api/plugins?refresh=1${force ? '&force=1' : ''}`);
|
|
131
|
+
if (!$('#plBody')) return !r.refreshWarning;
|
|
132
|
+
renderList(r);
|
|
133
|
+
if (r.refreshWarning) {
|
|
134
|
+
setSyncNote('远程市场索引刷新失败,列表为本地缓存数据(网络或市场源异常,不影响本地使用)');
|
|
135
|
+
} else {
|
|
136
|
+
const n = installed.filter((p) => p.latestVersion).length;
|
|
137
|
+
setSyncNote(n ? `${n} 个插件有新版本(见列表「→ 版本」标注,逐个点「更新」升级)` : '');
|
|
138
|
+
}
|
|
139
|
+
return !r.refreshWarning;
|
|
140
|
+
} catch (e) {
|
|
141
|
+
if ($('#plBody')) setSyncNote(`远程市场索引刷新失败,列表为本地缓存数据(${e.message})`);
|
|
142
|
+
return false;
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
|
|
113
146
|
/** 轻量操作(enable/disable 亚秒级):按钮瞬时 loading + toast,不弹框 */
|
|
114
147
|
const act = async (op, arg, dir, btn) => {
|
|
115
148
|
const pageBtns = el.querySelectorAll('button');
|
|
@@ -119,7 +152,7 @@ async function renderPlugins(el) {
|
|
|
119
152
|
try {
|
|
120
153
|
const r = await api('POST', '/api/plugins/action', { op, arg, ...(dir ? { dir } : {}) });
|
|
121
154
|
report(r.ok ? `✅ ${op} 完成` : `❌ ${op} 失败`, r.text);
|
|
122
|
-
await
|
|
155
|
+
await loadLocal();
|
|
123
156
|
toast(r.ok ? `${opNames[op] || op}完成,下一条消息生效` : `${opNames[op] || op}失败:${r.text.slice(0, 120)}`, !r.ok);
|
|
124
157
|
} catch (e) {
|
|
125
158
|
report(`❌ ${op} 失败`, e.message);
|
|
@@ -182,7 +215,7 @@ async function renderPlugins(el) {
|
|
|
182
215
|
pageBtns.forEach((b) => { b.disabled = true; });
|
|
183
216
|
if (btn) btn.textContent = busyText[op] || '处理中…';
|
|
184
217
|
report(`执行中:${op} ${arg}${dir ? `(${dirLabel})` : ''}`, '…(安装/更新可能需要拉取仓库,请稍候)');
|
|
185
|
-
const close = async () => { mask.remove(); await Promise.all([
|
|
218
|
+
const close = async () => { mask.remove(); await Promise.all([loadLocal(), loadAvailable()]); };
|
|
186
219
|
try {
|
|
187
220
|
let allOk = true;
|
|
188
221
|
const lines = [];
|
|
@@ -292,8 +325,8 @@ async function renderPlugins(el) {
|
|
|
292
325
|
btn.disabled = true;
|
|
293
326
|
btn.textContent = '检查中…';
|
|
294
327
|
try {
|
|
295
|
-
const ok = await
|
|
296
|
-
if (!ok) return; //
|
|
328
|
+
const ok = await refreshRemote(true);
|
|
329
|
+
if (!ok) return; // 刷新失败已在信息条提示,不再误报「全部最新」
|
|
297
330
|
const n = installed.filter((p) => p.latestVersion).length;
|
|
298
331
|
toast(n ? `${n} 个插件有新版本(见列表「→ 版本」标注,逐个点「更新」升级)` : '已检查:所有插件均为最新版本');
|
|
299
332
|
} finally {
|
|
@@ -319,7 +352,9 @@ async function renderPlugins(el) {
|
|
|
319
352
|
}))) return;
|
|
320
353
|
runOpDialog('update-all', '', $('#plMarketDir').value, $('#plDoMarketUpdate'));
|
|
321
354
|
};
|
|
322
|
-
|
|
355
|
+
// 列表本地秒出;远程市场索引后台检查不阻塞(切页后回调自动放弃渲染)
|
|
356
|
+
await Promise.all([loadLocal(), loadAvailable()]);
|
|
357
|
+
void refreshRemote(false);
|
|
323
358
|
}
|
|
324
359
|
|
|
325
360
|
export const page = {
|
package/config.example.yaml
CHANGED
|
@@ -46,17 +46,22 @@ apps:
|
|
|
46
46
|
# - name: 素材收集 # 再添一个机器人:复制上面的结构即可(会话池独立,配置共享 ~/.claude)
|
|
47
47
|
# app_id: cli_yyyy
|
|
48
48
|
# app_secret: yyyy
|
|
49
|
-
# - name: SQL 审核分身 # 分身机器人(role: deputy
|
|
50
|
-
# app_id: cli_zzzz #
|
|
51
|
-
# app_secret: zzzz #
|
|
52
|
-
# role: deputy # /
|
|
53
|
-
#
|
|
54
|
-
#
|
|
55
|
-
#
|
|
56
|
-
#
|
|
57
|
-
#
|
|
58
|
-
#
|
|
59
|
-
# -
|
|
49
|
+
# - name: SQL 审核分身 # 分身机器人(role: deputy):艾特即用(无需配对),供他人使用。
|
|
50
|
+
# app_id: cli_zzzz # 权限轴(白单):下列白名单全部可选——未配置 = 全给;配置了才按名单收窄。
|
|
51
|
+
# app_secret: zzzz # 安保红线轴(恒定生效、不占配置):R1 红区读黑名单 / R2 工作区外只写禁 /
|
|
52
|
+
# role: deputy # R3 出站脱敏 / Bash 三态,见下方 security 段与 bash_mode。
|
|
53
|
+
# # 管理命令(/ws use、/model-profile、/plugin 变更类)在分身里一律拒绝。
|
|
54
|
+
# bash_mode: confirm # Bash 可用性:off=不提供 Bash(R1/R2 成为完备硬约束的推荐形态);
|
|
55
|
+
# # confirm=危险命令/红区特征拦截或弹卡(缺省);trusted=放行不打扰
|
|
56
|
+
# # (红区探测仍生效;要真正安全需 OS 层沙箱,见方案 §7)。
|
|
57
|
+
# allowed_skills: # 可选:技能白名单——未列出的技能对模型不可见且被 Skill 工具拒绝;
|
|
58
|
+
# - sql-review # 未配置 = 全部技能。SDK 语义为「上下文过滤器非沙箱」:技能文件仍可被
|
|
59
|
+
# - sql-optimize # Read/Bash 读到,硬隔离由红区读黑名单(security.redzone.read)承担
|
|
60
|
+
# allowed_workspaces: # 可选:工作区白名单——配置后任务锁定在第一个允许的工作区(本示例
|
|
61
|
+
# - demo # 须替换为 workspaces 列表内的真实工作区),写操作仅限这些工作区;
|
|
62
|
+
# # 未配置 = 全部已配置工作区(工作区外一律只读,R2 恒定)
|
|
63
|
+
# allowed_plugins: # 可选:插件白名单(按 name 过滤自动发现);未配置 = 全部加载
|
|
64
|
+
# - db-tools # (显式 plugins 始终保留)
|
|
60
65
|
workspaces: # 工作区白名单:名字 + 路径(所有机器人共享列表,当前使用哪个 per-app 隔离)
|
|
61
66
|
- name: demo
|
|
62
67
|
path: F:\workspace\demo
|
|
@@ -90,6 +95,26 @@ concurrency: 3 # 全局并发上限(未单独配置的 app 沿
|
|
|
90
95
|
# # allow_all_tools 开启时本表是唯一的安全网,删条目前请三思
|
|
91
96
|
# - 'rm\s+-rf'
|
|
92
97
|
# - 'sudo\s'
|
|
98
|
+
# security: # 安保段(红线轴;整块可选,全部恒定生效、不占分身配置)。改后热生效
|
|
99
|
+
# redzone: # R1 读黑名单(对 deputy 硬拦截;主机器人不消费,出站脱敏兜底)。
|
|
100
|
+
# # 支持 ~/ 展开、** 跨层级、* 段内通配;配置即整体替换内置默认
|
|
101
|
+
# read:
|
|
102
|
+
# - '~/.lark-claudecode-bridge/**' # bridge 自身配置(app_secret)/ transcripts
|
|
103
|
+
# - '~/.lark-cli/**' # lark-cli 用户授权 token
|
|
104
|
+
# - '~/.claude/**' # CLI 登录态 / OAuth
|
|
105
|
+
# - '~/.ssh/**'
|
|
106
|
+
# - '~/.aws/**'
|
|
107
|
+
# - '~/.gnupg/**'
|
|
108
|
+
# - '~/AppData/Local/Google/**' # 浏览器资料(Cookies / Login Data)
|
|
109
|
+
# - '**/credentials*'
|
|
110
|
+
# - '**/.env'
|
|
111
|
+
# - '**/*.pem'
|
|
112
|
+
# - '**/*.key'
|
|
113
|
+
# - '**/*.enc'
|
|
114
|
+
# redact_patterns: # R3 出站脱敏自定义正则(追加在内置规则后;内置已覆盖 sk-/Bearer/
|
|
115
|
+
# - '内部工号\d{6,}' # JWT/PEM/password= 键值对/≥32位 hex 等;命中统一替换为 ******)
|
|
116
|
+
# canary_patterns: # 金丝雀:出站文本命中 = 防线被穿透,脱敏之外触发告警到当前聊天
|
|
117
|
+
# - 'sk-canary-'
|
|
93
118
|
# server: # Web 配置页(随 lcb start 常驻,浏览器打开 http://127.0.0.1:17317 随时改配置;
|
|
94
119
|
# # 也可 lcb ui 单独启动。整块可选,缺省 enabled/127.0.0.1/17317)
|
|
95
120
|
# enabled: true # false = 不启动配置页
|
package/dist/config.js
CHANGED
|
@@ -176,6 +176,62 @@ function normalizePermissions(doc) {
|
|
|
176
176
|
...(dangerous !== undefined ? { dangerousCommands } : {}),
|
|
177
177
|
};
|
|
178
178
|
}
|
|
179
|
+
/**
|
|
180
|
+
* 安保段归一化(整体可选;方案 v3 红线轴):redzone.read 为 glob 模式串数组(运行期编译,
|
|
181
|
+
* 空数组 = 关闭 R1——显式关闭是主人的权利,但分身误配为空会失去红区保护,warn 提示);
|
|
182
|
+
* redact_patterns 为自定义脱敏正则源串(此处预编译校验,非法条目 warn 跳过——运行期再失败
|
|
183
|
+
* 会静默漏规则,配置期提示一次);canary_patterns 为金丝雀标记串。
|
|
184
|
+
*/
|
|
185
|
+
function normalizeSecurity(doc) {
|
|
186
|
+
const raw = doc.security;
|
|
187
|
+
if (raw === undefined || raw === null)
|
|
188
|
+
return undefined;
|
|
189
|
+
if (typeof raw !== 'object')
|
|
190
|
+
throw new Error('security 必须为对象(含 redzone / redact_patterns / canary_patterns),请检查 config.yaml');
|
|
191
|
+
const s = raw;
|
|
192
|
+
const out = {};
|
|
193
|
+
if (s.redzone !== undefined && s.redzone !== null) {
|
|
194
|
+
if (typeof s.redzone !== 'object')
|
|
195
|
+
throw new Error('security.redzone 必须为对象(含 read 数组),请检查 config.yaml');
|
|
196
|
+
const read = s.redzone.read;
|
|
197
|
+
if (read !== undefined && read !== null) {
|
|
198
|
+
if (!Array.isArray(read) || read.some((x) => typeof x !== 'string' || !x.trim())) {
|
|
199
|
+
throw new Error('security.redzone.read 必须为非空字符串数组(glob 模式,支持 ~ / ** / *),请检查 config.yaml');
|
|
200
|
+
}
|
|
201
|
+
const list = read.map((x) => x.trim()).filter(Boolean);
|
|
202
|
+
out.redzone = { read: list };
|
|
203
|
+
if (list.length === 0)
|
|
204
|
+
console.warn('[配置] security.redzone.read 为空数组:R1 读红线已关闭(分身将可读取全盘),请确认是否预期');
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
const redact = s.redact_patterns;
|
|
208
|
+
if (redact !== undefined && redact !== null) {
|
|
209
|
+
if (!Array.isArray(redact))
|
|
210
|
+
throw new Error('security.redact_patterns 必须为正则字符串数组,请检查 config.yaml');
|
|
211
|
+
const compiled = [];
|
|
212
|
+
redact.forEach((x, i) => {
|
|
213
|
+
if (typeof x !== 'string' || !x.trim())
|
|
214
|
+
throw new Error(`security.redact_patterns[${i}] 必须为非空正则字符串,请检查 config.yaml`);
|
|
215
|
+
try {
|
|
216
|
+
new RegExp(x); // 预编译校验(运行期 compileCustomRules 会再兜一层)
|
|
217
|
+
compiled.push(x);
|
|
218
|
+
}
|
|
219
|
+
catch (e) {
|
|
220
|
+
console.warn(`[配置] security.redact_patterns[${i}] 不是合法正则("${x.slice(0, 40)}"),已忽略:${e.message}`);
|
|
221
|
+
}
|
|
222
|
+
});
|
|
223
|
+
if (compiled.length)
|
|
224
|
+
out.redactPatterns = compiled;
|
|
225
|
+
}
|
|
226
|
+
const canary = s.canary_patterns;
|
|
227
|
+
if (canary !== undefined && canary !== null) {
|
|
228
|
+
if (!Array.isArray(canary) || canary.some((x) => typeof x !== 'string' || !x.trim())) {
|
|
229
|
+
throw new Error('security.canary_patterns 必须为非空字符串数组,请检查 config.yaml');
|
|
230
|
+
}
|
|
231
|
+
out.canaryPatterns = canary.map((x) => x.trim()).filter(Boolean);
|
|
232
|
+
}
|
|
233
|
+
return Object.keys(out).length ? out : undefined;
|
|
234
|
+
}
|
|
179
235
|
/** Web 配置页服务器段(整体可选):host 缺省 127.0.0.1、port 硬校验(非法值会让 server 起不来) */
|
|
180
236
|
function normalizeServer(doc) {
|
|
181
237
|
const raw = doc.server;
|
|
@@ -431,9 +487,9 @@ function normalizeApps(doc, workspaceNames) {
|
|
|
431
487
|
+ `(共享本机模型设置/登录态/MCP/skills/插件,仅会话池隔离),该配置项将被忽略`);
|
|
432
488
|
}
|
|
433
489
|
// 角色模型:primary(缺省)主机器人——全技能/全插件/全工作区,配对码准入;
|
|
434
|
-
// deputy
|
|
435
|
-
//
|
|
436
|
-
//
|
|
490
|
+
// deputy 分身——艾特即用供他人使用。权限轴语义(方案 v3):白单未配置 = 全给
|
|
491
|
+
// (技能全开/插件全开/工作区=全部已配置工作区),安保由红线轴(security 红区 +
|
|
492
|
+
// R2 工作区外写拦截 + Bash 三态 + 出站脱敏)恒定承担,不依赖白单收窄
|
|
437
493
|
let role = 'primary';
|
|
438
494
|
if (raw.role !== undefined && raw.role !== null) {
|
|
439
495
|
if (raw.role !== 'primary' && raw.role !== 'deputy') {
|
|
@@ -441,26 +497,34 @@ function normalizeApps(doc, workspaceNames) {
|
|
|
441
497
|
}
|
|
442
498
|
role = raw.role;
|
|
443
499
|
}
|
|
500
|
+
// Bash 三态:仅 deputy 消费(主机器人 Bash 永远可用,行为由全局 permissions 管)
|
|
501
|
+
let bashMode;
|
|
502
|
+
if (raw.bash_mode !== undefined && raw.bash_mode !== null) {
|
|
503
|
+
if (raw.bash_mode !== 'off' && raw.bash_mode !== 'confirm' && raw.bash_mode !== 'trusted') {
|
|
504
|
+
throw new Error(`${where} 的 bash_mode 必须为 off / confirm / trusted(当前值:${String(raw.bash_mode)}),请检查 config.yaml`);
|
|
505
|
+
}
|
|
506
|
+
if (role !== 'deputy') {
|
|
507
|
+
console.warn(`[配置] ${where} 非 deputy 角色,bash_mode 不生效(主机器人 Bash 由全局 permissions 约束),已忽略`);
|
|
508
|
+
}
|
|
509
|
+
else {
|
|
510
|
+
bashMode = raw.bash_mode;
|
|
511
|
+
}
|
|
512
|
+
}
|
|
444
513
|
let allowedSkills;
|
|
445
514
|
let allowedPlugins;
|
|
446
515
|
let allowedWorkspaces;
|
|
447
516
|
if (role === 'deputy') {
|
|
517
|
+
// 白单全部可选:未配置 = 全给(权限轴)。配置了才按白名单收窄;工作区名单仍校验拼写
|
|
448
518
|
allowedSkills = normalizeStringArray(raw.allowed_skills, `${where} 的 allowed_skills`);
|
|
449
|
-
allowedWorkspaces = normalizeStringArray(raw.allowed_workspaces, `${where} 的 allowed_workspaces`);
|
|
450
519
|
allowedPlugins = normalizeStringArray(raw.allowed_plugins, `${where} 的 allowed_plugins`);
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
}
|
|
454
|
-
if (!allowedWorkspaces?.length) {
|
|
455
|
-
throw new Error(`${where} 为 deputy(分身)角色,必须配置 allowed_workspaces(工作区锁定,非空数组)——分身任务将锁定在第一个允许的工作区运行`);
|
|
456
|
-
}
|
|
457
|
-
const unknownWs = allowedWorkspaces.filter((w) => !workspaceNames.includes(w));
|
|
520
|
+
allowedWorkspaces = normalizeStringArray(raw.allowed_workspaces, `${where} 的 allowed_workspaces`);
|
|
521
|
+
const unknownWs = (allowedWorkspaces ?? []).filter((w) => !workspaceNames.includes(w));
|
|
458
522
|
if (unknownWs.length) {
|
|
459
523
|
throw new Error(`${where} 的 allowed_workspaces 含未在 workspaces 列表中定义的工作区:${unknownWs.join('、')}`);
|
|
460
524
|
}
|
|
461
525
|
}
|
|
462
|
-
else if (raw.allowed_skills !== undefined || raw.allowed_plugins !== undefined || raw.allowed_workspaces !== undefined) {
|
|
463
|
-
console.warn(`[配置] ${where} 非 deputy 角色,allowed_skills / allowed_plugins / allowed_workspaces 不生效(仅分身角色支持能力限定),已忽略`);
|
|
526
|
+
else if (raw.allowed_skills !== undefined || raw.allowed_plugins !== undefined || raw.allowed_workspaces !== undefined || bashMode !== undefined) {
|
|
527
|
+
console.warn(`[配置] ${where} 非 deputy 角色,allowed_skills / allowed_plugins / allowed_workspaces / bash_mode 不生效(仅分身角色支持能力限定),已忽略`);
|
|
464
528
|
}
|
|
465
529
|
return {
|
|
466
530
|
name,
|
|
@@ -478,6 +542,7 @@ function normalizeApps(doc, workspaceNames) {
|
|
|
478
542
|
profile: typeof raw.profile === 'string' && raw.profile.trim() ? raw.profile.trim() : undefined,
|
|
479
543
|
profileModel: typeof raw.profile_model === 'string' && raw.profile_model.trim() ? raw.profile_model.trim() : undefined,
|
|
480
544
|
role,
|
|
545
|
+
bashMode,
|
|
481
546
|
allowedSkills,
|
|
482
547
|
allowedPlugins,
|
|
483
548
|
allowedWorkspaces,
|
|
@@ -542,6 +607,7 @@ export function parseConfigText(raw, pathForError = CONFIG_PATH) {
|
|
|
542
607
|
transcripts: Number.isFinite(retentionDays) && retentionDays > 0 ? { retentionDays } : undefined,
|
|
543
608
|
// 权限白名单:未配置的字段由消费侧(permission-gate)回退内置默认
|
|
544
609
|
...section(normalizePermissions(doc), 'permissions'),
|
|
610
|
+
...section(normalizeSecurity(doc), 'security'),
|
|
545
611
|
...section(server, 'server'),
|
|
546
612
|
...section(claude, 'claude'),
|
|
547
613
|
...section(slashCommands, 'slashCommands'),
|
|
@@ -565,6 +631,7 @@ export function sameApps(a, b) {
|
|
|
565
631
|
&& x.concurrency === y.concurrency
|
|
566
632
|
&& x.appendSystemPrompt === y.appendSystemPrompt
|
|
567
633
|
&& x.role === y.role
|
|
634
|
+
&& x.bashMode === y.bashMode
|
|
568
635
|
&& JSON.stringify(x.allowedSkills) === JSON.stringify(y.allowedSkills)
|
|
569
636
|
&& JSON.stringify(x.allowedPlugins) === JSON.stringify(y.allowedPlugins)
|
|
570
637
|
&& JSON.stringify(x.allowedWorkspaces) === JSON.stringify(y.allowedWorkspaces);
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,9 @@ export interface RunTaskOptions {
|
|
|
18
18
|
signal?: AbortSignal;
|
|
19
19
|
/** per-app 环境变量:至少含 CLAUDE_CONFIG_DIR(~/.claude,全部机器人共享);可追加 settings.json 里没有的键 */
|
|
20
20
|
env?: Record<string, string | undefined>;
|
|
21
|
-
/** per-app
|
|
21
|
+
/** per-app 人格补充:经 extraArgs['append-system-prompt'] 以 CLI 命令行参数注入。
|
|
22
|
+
* 不走 SDK options.appendSystemPrompt——实测(方案 §1.2 A/B)该字段被 CLI 2.1.x 静默丢弃
|
|
23
|
+
* (SDK 经 initialize 控制通道下发,CLI 不消费),命令行参数是唯一生效通道 */
|
|
22
24
|
appendSystemPrompt?: string;
|
|
23
25
|
/** 通道级模型覆盖(/model 命令设置),直通 Options.model;未设 = 跟随 ~/.claude/settings.json 的 model */
|
|
24
26
|
model?: string;
|
|
@@ -45,6 +47,11 @@ export interface RunTaskOptions {
|
|
|
45
47
|
/** 技能白名单(分身机器人):非空时透传 SDK Options.skills——未列出的技能对模型不可见
|
|
46
48
|
* 且被 Skill 工具拒绝(官方语义为「上下文过滤器非沙箱」);缺省不传 = CLI 默认全量技能 */
|
|
47
49
|
allowedSkills?: string[];
|
|
50
|
+
/** 计划批准后是否升级 CLI 权限模式到 acceptEdits(缺省 true,主机器人既有行为)。
|
|
51
|
+
* 分身必须传 false:acceptEdits 下 CLI 自动批准写操作、canUseTool 不再被调用,
|
|
52
|
+
* 宿主侧 R1 红区/R2 写边界随之失效——分身的写操作必须每笔过安全闸(gate 侧有
|
|
53
|
+
* allow-session 记忆兜住确认摩擦,安全性不因批准计划而降级) */
|
|
54
|
+
planApproveEscalates?: boolean;
|
|
48
55
|
/** query 创建后回调:暴露 mcpServerStatus 窄句柄(wiring 存入 activeQueries,/mcp 命令实时拉取用)。
|
|
49
56
|
* 句柄仅在该 query 存活期间有效,任务结束后调用会 reject——调用方须自行 catch */
|
|
50
57
|
onQuery?(handle: {
|