@jesonliu/lark-claudecode-bridge 1.3.0 → 1.3.2
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 +3 -3
- package/assets/web/css/main.css +3 -0
- package/assets/web/js/pages/apps.js +47 -7
- package/assets/web/js/pages/claude.js +30 -6
- package/config.example.yaml +14 -2
- package/dist/app-profile.d.ts +18 -0
- package/dist/app-profile.js +75 -0
- package/dist/app-profile.js.map +1 -0
- package/dist/config.d.ts +2 -1
- package/dist/config.js +25 -5
- package/dist/config.js.map +1 -1
- package/dist/executor/claude-executor.d.ts +4 -0
- package/dist/executor/claude-executor.js +9 -0
- package/dist/executor/claude-executor.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.js +127 -29
- package/dist/index.js.map +1 -1
- package/dist/notify-sop.d.ts +7 -0
- package/dist/notify-sop.js +10 -0
- package/dist/notify-sop.js.map +1 -1
- package/dist/session/commands.js +11 -1
- package/dist/session/commands.js.map +1 -1
- package/dist/session/triggers.d.ts +15 -1
- package/dist/session/triggers.js +21 -5
- package/dist/session/triggers.js.map +1 -1
- package/dist/types.d.ts +19 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -49,9 +49,9 @@ lcb start
|
|
|
49
49
|
配置页随桥接器常驻 `http://127.0.0.1:17317`(也可 `lcb ui` 单独启动,写盘后运行中的桥接器自动拾取可热字段)。共 9 个配置页签:
|
|
50
50
|
|
|
51
51
|
- **概览** —— 桥接器进程启停 / 重启 / 后台运行、版本检查与一键更新、各机器人应用运行状态。
|
|
52
|
-
- **飞书应用** —— 多机器人管理:App ID / Secret(脱敏回显)、默认工作区、并发上限、人格补充(`append_system_prompt
|
|
52
|
+
- **飞书应用** —— 多机器人管理:App ID / Secret(脱敏回显)、默认工作区、并发上限、人格补充(`append_system_prompt`)、触发词、环境变量、**机器人级厂商档案**(`profile` / `profile_model`:该机器人专用某套档案的认证与模型,未配置跟随全局,改动热生效)。
|
|
53
53
|
- **工作区** —— 工作区白名单(名称 / 路径)与全局默认工作区,改动热生效。
|
|
54
|
-
- **Claude 认证** —— inherit / managed 双模式切换、认证凭证(API Key / Auth Token / Base URL
|
|
54
|
+
- **Claude 认证** —— inherit / managed 双模式切换、认证凭证(API Key / Auth Token / Base URL)、模型、厂商档案(多套凭证一键切换;候选模型可标记 `[1m]` 1M 上下文后缀,如 `glm-5.3[1m]`)、托管环境变量。
|
|
55
55
|
- **权限** —— 全部工具免确认开关(`permissions.allow_all_tools`,缺省开)、免确认工具白名单(`permissions.allow_tools`)与危险命令黑名单,保存后热生效。
|
|
56
56
|
- **斜杠命令** —— 把内置命令(`/new` `/status` …)+ 自定义透传命令一键同步为飞书输入框斜杠指令(输入 `/` 弹面板,选中后可继续输入描述再发送)。
|
|
57
57
|
- **插件** —— Claude Code 插件清单(启停 / 卸载,本机 `~/.claude` 与托管目录带来源标记)、从 marketplace 安装、管理市场。
|
|
@@ -201,7 +201,7 @@ MCP server 配置(`.mcp.json` / `~/.claude.json` / 插件 `plugin.json` 的 `m
|
|
|
201
201
|
## 已知限制
|
|
202
202
|
|
|
203
203
|
1. **Linux 上 >10 文件不打 zip**:文件打包依赖 bsdtar 的 zip 容器支持(Windows 10+ / macOS 自带),Linux 的 GNU tar 会自动退化为逐个上传文件(功能不丢,只是消息条数多)。
|
|
204
|
-
2. **共享 ~/.claude 的副作用**:本机 user 级 hooks 也会在机器人任务里执行(含阻断型 PostToolUse hook);`apps[].env` / `claude.env` 的同名键会被生效目录 `settings.json` 的 `env` 覆盖(inherit = 本机 `~/.claude`,managed = 托管目录;见「MCP
|
|
204
|
+
2. **共享 ~/.claude 的副作用**:本机 user 级 hooks 也会在机器人任务里执行(含阻断型 PostToolUse hook);`apps[].env` / `claude.env` 的同名键会被生效目录 `settings.json` 的 `env` 覆盖(inherit = 本机 `~/.claude`,managed = 托管目录;见「MCP 环境变量」小节)。例外:机器人级厂商档案(`apps[].profile`)的认证三键经独立 settings 文件以 CLI `--settings` 参数注入(命令行层优先级最高,不受此压制);模型经 `--model` 参数路由。
|
|
205
205
|
3. **多机器人总并发 = 各应用并发之和**:N 个机器人同时满载时会同时跑 Σ(concurrency) 个 Claude Code 子进程,机器吃紧可按 app 调低。
|
|
206
206
|
4. **配置页默认仅本机可访问**(127.0.0.1):改 `server.host` 放开到局域网意味着页面可读写全部凭证,请仅在可信网络使用。
|
|
207
207
|
|
package/assets/web/css/main.css
CHANGED
|
@@ -311,6 +311,9 @@ tr.empty-row td { text-align: center; padding: 22px 10px; color: var(--muted); }
|
|
|
311
311
|
.tag.off::before { opacity: .5; }
|
|
312
312
|
.tag.warn { background: var(--warn-bg); color: var(--warn-tx); }
|
|
313
313
|
.tag.err { background: var(--err-bg); color: var(--err-tx); }
|
|
314
|
+
/* chip / 按钮内嵌徽标(模型 1M 标记等):紧凑变体,去状态圆点 */
|
|
315
|
+
.chip .tag, .btn .tag { font-size: 10px; padding: 1px 6px; gap: 0; }
|
|
316
|
+
.chip .tag::before, .btn .tag::before { display: none; }
|
|
314
317
|
|
|
315
318
|
/* ---------- 单选行 ---------- */
|
|
316
319
|
.radio-row { display: flex; gap: 22px; margin: 8px 0; }
|
|
@@ -81,7 +81,7 @@ function renderApps(el) {
|
|
|
81
81
|
};
|
|
82
82
|
$('#appsBody').innerHTML = apps.map((app, i) => `
|
|
83
83
|
<tr data-i="${i}" style="cursor:pointer">
|
|
84
|
-
<td><b>${esc(app.name || app.app_id || '(未命名)')}</b>${app.role === 'deputy' ? ' <span class="tag off">分身</span>' : ''}</td>
|
|
84
|
+
<td><b>${esc(app.name || app.app_id || '(未命名)')}</b>${app.role === 'deputy' ? ' <span class="tag off">分身</span>' : ''}${app.profile ? ` <span class="tag warn">${esc(app.profile)}</span>` : ''}</td>
|
|
85
85
|
<td><code>${esc(app.app_id || '')}</code></td>
|
|
86
86
|
<td>${esc(app.domain === 'lark' ? 'lark' : 'feishu')}</td>
|
|
87
87
|
<td>${esc(app.default_workspace || '(全局默认)')}</td>
|
|
@@ -108,6 +108,9 @@ function openAppDrawer(apps, idx, el, snap) {
|
|
|
108
108
|
const secret = app.app_secret || {};
|
|
109
109
|
const wsNames = (S.doc.workspaces || []).map((w) => w.name || '').filter(Boolean);
|
|
110
110
|
const globalDef = S.doc.defaults?.workspace || '';
|
|
111
|
+
const profiles = (S.doc.claude && S.doc.claude.profiles) || [];
|
|
112
|
+
// 当前选中档案(drawer 打开时的初值;切换 select 时刷新模型 datalist)
|
|
113
|
+
const profileByName = (n) => profiles.find((p) => p.name === n);
|
|
111
114
|
openDrawer({
|
|
112
115
|
title: `应用:${app.name || app.app_id || '(新应用)'}`,
|
|
113
116
|
snap: snap ?? snapDoc(),
|
|
@@ -138,6 +141,18 @@ function openAppDrawer(apps, idx, el, snap) {
|
|
|
138
141
|
<option value="primary" ${app.role !== 'deputy' ? 'selected' : ''}>主机器人(全权限,配对码准入)</option>
|
|
139
142
|
<option value="deputy" ${app.role === 'deputy' ? 'selected' : ''}>分身机器人(限定技能 / 插件 / 工作区,艾特即用)</option>
|
|
140
143
|
</select>
|
|
144
|
+
<h4 style="margin:18px 0 2px;font-size:13.5px">厂商档案(该机器人专用的模型厂商;改动下一条消息热生效)</h4>
|
|
145
|
+
<div class="hint" style="margin-bottom:6px">未配置 = 跟随全局(「Claude 认证」页当前生效配置)。档案须先在「Claude 认证」页创建;认证经独立 settings 文件注入(优先级高于全局),模型经 --model 参数注入。</div>
|
|
146
|
+
<div class="row" style="align-items:end">
|
|
147
|
+
<div><label>档案</label>
|
|
148
|
+
<select data-f="profile">
|
|
149
|
+
<option value="" ${!app.profile ? 'selected' : ''}>(跟随全局)</option>
|
|
150
|
+
${profiles.map((p) => `<option value="${esc(p.name)}" ${app.profile === p.name ? 'selected' : ''}>${esc(p.name)}</option>`).join('')}
|
|
151
|
+
</select></div>
|
|
152
|
+
<div id="profileModelBox" style="flex:1;${app.profile ? '' : 'display:none'}"><label>模型(从该档案候选中选择;留空 = 档案默认模型)</label>
|
|
153
|
+
<input type="text" data-f="profile_model" list="profileModelList" value="${esc(app.profile_model || '')}" placeholder="留空 = 档案默认模型">
|
|
154
|
+
<datalist id="profileModelList"></datalist></div>
|
|
155
|
+
</div>
|
|
141
156
|
<div id="deputyFields" style="${app.role === 'deputy' ? '' : 'display:none'}">
|
|
142
157
|
<div class="hint" style="margin:8px 0 2px">分身必填「允许的技能」与「允许的工作区」;未列入白名单的技能 / 插件不加载,任务锁定在第一个允许的工作区;管理命令在分身里一律不可用。改动需重启生效。</div>
|
|
143
158
|
<label>允许的技能(必填;输入关键词搜索选择,未列出的技能对模型不可见)</label>
|
|
@@ -149,14 +164,16 @@ function openAppDrawer(apps, idx, el, snap) {
|
|
|
149
164
|
</div>
|
|
150
165
|
<label>人格补充(追加到该机器人每个会话的 system prompt,多机器人差异化定位)<span class="tag warn" style="margin-left:6px">改动需重启生效</span></label>
|
|
151
166
|
<textarea data-f="append_system_prompt" placeholder="你是我的超级助手,擅长代码开发、文案编写…(回复须带「主人」称谓等要求写在这里)">${esc(app.append_system_prompt || '')}</textarea>
|
|
152
|
-
<h4 style="margin:18px 0 2px;font-size:13.5px"
|
|
153
|
-
<div class="hint" style="margin-bottom:6px">match
|
|
154
|
-
<table><thead><tr><th style="width:
|
|
167
|
+
<h4 style="margin:18px 0 2px;font-size:13.5px">触发词(命中即改写消息;rewrite 指向本地命令时由 bridge 执行、其余照旧入队;下一条消息热生效)</h4>
|
|
168
|
+
<div class="hint" style="margin-bottom:6px">match:以 <code>/</code> 开头 或 关键词 = 消息首词精确匹配;</br>rewrite:可用 <code>{text}</code>=原文全文、<code>{args}</code>=首词后的参数;</br>补充追问:命中先追问补充内容,你的下一条消息与原文合并后再改写入队(斜杠 / 等命令消息除外)。</br>PS. 可指向 bridge 本地命令(如 match=新会话、rewrite=/new,飞书菜单场景常用——bridge 本地执行,不透传给 Claude Code);本地命令原文(/stop 等)不被劫持;按序首个命中生效。</div>
|
|
169
|
+
<table><thead><tr><th style="width:38%">match</th><th>rewrite</th><th style="width:76px" title="开启后命中先追问补充内容,下一条消息与原文合并再执行(两段式触发)">追问补充</th><th style="width:44px"></th></tr></thead><tbody data-list="triggers"></tbody></table>
|
|
155
170
|
<button class="btn sm" data-add="triggers" style="margin-top:6px">+ 添加规则</button>
|
|
171
|
+
<!-- 飞书应用级插件 -->
|
|
156
172
|
<h4 style="margin:18px 0 2px;font-size:13.5px">显式插件(本地插件源码目录;同名优先于 ~/.claude 自动发现;热生效)</h4>
|
|
157
173
|
<div class="hint" style="margin-bottom:6px">须为包含 <code>.claude-plugin/plugin.json</code> 的目录;一般用户无须配置,多用于开发期直指源码。</div>
|
|
158
174
|
<table><thead><tr><th style="width:30%">name</th><th>path</th><th style="width:44px"></th></tr></thead><tbody data-list="plugins"></tbody></table>
|
|
159
175
|
<button class="btn sm" data-add="plugins" style="margin-top:6px">+ 添加插件</button>
|
|
176
|
+
|
|
160
177
|
<h4 style="margin:18px 0 2px;font-size:13.5px">环境变量(注入该机器人 Claude 子进程,覆盖本机同名值;改动需重启生效)</h4>
|
|
161
178
|
<div class="hint" style="margin-bottom:6px">~/.claude/settings.json 已配置的键会被 CLI 自身应用且优先,无须在此重复。</div>
|
|
162
179
|
<table><thead><tr><th style="width:38%">KEY</th><th>VALUE</th><th style="width:44px"></th></tr></thead><tbody data-list="env"></tbody></table>
|
|
@@ -192,6 +209,18 @@ function openAppDrawer(apps, idx, el, snap) {
|
|
|
192
209
|
else delete app.role;
|
|
193
210
|
deputyFields.style.display = roleSel.value === 'deputy' ? '' : 'none';
|
|
194
211
|
});
|
|
212
|
+
// ---- 厂商档案:切换 select 联动「模型覆盖」框显隐 + datalist(所选档案的候选模型 + 默认模型) ----
|
|
213
|
+
// 通用 [data-f] 绑定负责赋值/删键,此处只管联动展示;模型值是否在候选集内由后端运行期 warn
|
|
214
|
+
const profileSel = body.querySelector('[data-f="profile"]');
|
|
215
|
+
const profileModelBox = body.querySelector('#profileModelBox');
|
|
216
|
+
const fillProfileModels = () => {
|
|
217
|
+
const prof = profileByName(profileSel.value);
|
|
218
|
+
const list = prof ? [...(prof.models || []), ...(prof.model && !(prof.models || []).includes(prof.model) ? [prof.model] : [])] : [];
|
|
219
|
+
body.querySelector('#profileModelList').innerHTML = list.map((m) => `<option value="${esc(m)}"></option>`).join('');
|
|
220
|
+
profileModelBox.style.display = profileSel.value ? '' : 'none';
|
|
221
|
+
};
|
|
222
|
+
profileSel.addEventListener('change', fillProfileModels);
|
|
223
|
+
fillProfileModels();
|
|
195
224
|
// ---- 分身白名单(可搜索多选):onChange 实时写回 app——空数组删键,语义与旧 textarea 一致 ----
|
|
196
225
|
const mselInst = {};
|
|
197
226
|
for (const f of ['allowed_skills', 'allowed_workspaces', 'allowed_plugins']) {
|
|
@@ -221,7 +250,7 @@ function openAppDrawer(apps, idx, el, snap) {
|
|
|
221
250
|
});
|
|
222
251
|
// ---- 触发词 / 显式插件:数组行编辑,实时写回 ----
|
|
223
252
|
const LIST_DEFS = {
|
|
224
|
-
triggers: { key: 'triggers', cols: [['match', '/produce 或 关键词'], ['rewrite', '请执行内容生产流程:{args}']] },
|
|
253
|
+
triggers: { key: 'triggers', cols: [['match', '/produce 或 关键词'], ['rewrite', '请执行内容生产流程:{args}']], check: ['ask_detail', '补充'] },
|
|
225
254
|
plugins: { key: 'plugins', cols: [['name', 'my-plugin'], ['path', 'F:/dev/my-plugin']] },
|
|
226
255
|
};
|
|
227
256
|
const renderPairList = (name) => {
|
|
@@ -231,10 +260,19 @@ function openAppDrawer(apps, idx, el, snap) {
|
|
|
231
260
|
tb.innerHTML = list.map((item, i) => `
|
|
232
261
|
<tr>
|
|
233
262
|
${def.cols.map(([col, ph]) => `<td><input type="text" data-l="${i}" data-c="${col}" value="${esc(item?.[col] ?? '')}" placeholder="${esc(ph)}"></td>`).join('')}
|
|
263
|
+
${def.check ? `<td style="text-align:center;vertical-align:middle"><label class="switch" title="开启后命中先追问补充内容,下一条消息与原文合并再执行(两段式触发)"><input type="checkbox" data-l="${i}" data-ck="${def.check[0]}" ${item?.[def.check[0]] === true ? 'checked' : ''}><span class="track"></span></label></td>` : ''}
|
|
234
264
|
<td><button class="btn sm danger" data-rm="${i}">删除</button></td>
|
|
235
265
|
</tr>`).join('');
|
|
236
|
-
tb.querySelectorAll('input[data-l]').forEach((input) =>
|
|
237
|
-
|
|
266
|
+
tb.querySelectorAll('input[data-l]').forEach((input) => {
|
|
267
|
+
if (input.dataset.ck) { // 勾选列:未勾即删键,与后端「仅 true 时写入」语义一致(YAML 干净)
|
|
268
|
+
input.onchange = () => {
|
|
269
|
+
const row = app[def.key][Number(input.dataset.l)];
|
|
270
|
+
if (input.checked) row[input.dataset.ck] = true;
|
|
271
|
+
else delete row[input.dataset.ck];
|
|
272
|
+
};
|
|
273
|
+
return;
|
|
274
|
+
}
|
|
275
|
+
input.oninput = () => { app[def.key][Number(input.dataset.l)][input.dataset.c] = input.value; };
|
|
238
276
|
});
|
|
239
277
|
tb.querySelectorAll('button[data-rm]').forEach((b) => b.onclick = () => {
|
|
240
278
|
app[def.key].splice(Number(b.dataset.rm), 1);
|
|
@@ -309,6 +347,8 @@ function openAppDrawer(apps, idx, el, snap) {
|
|
|
309
347
|
if (filtered.length) app[def.key] = filtered;
|
|
310
348
|
else delete app[def.key];
|
|
311
349
|
}
|
|
350
|
+
// 档案未选时清掉残留的模型覆盖(profile_model 依附于 profile 存在)
|
|
351
|
+
if (!app.profile) delete app.profile_model;
|
|
312
352
|
if (await saveDoc()) closeDrawer();
|
|
313
353
|
};
|
|
314
354
|
},
|
|
@@ -2,6 +2,19 @@
|
|
|
2
2
|
import { S, $, esc, toast, api, snapDoc, saveDoc, cardDirty, applyDirty, refresh } from '../core.js';
|
|
3
3
|
import { openDrawer, closeDrawer, cancelDrawer, saveBarHtml, dirtyDotHtml, bindSaveBar, confirmDialog } from '../ui.js';
|
|
4
4
|
|
|
5
|
+
/** 模型名 1M 上下文标记解析(纯函数,可测):'glm-5.3[1m]' → { name:'glm-5.3', tag:'1M' };后缀大小写不敏感(后端归一为小写 [1m]) */
|
|
6
|
+
export function splitModelTag(m) {
|
|
7
|
+
const s = String(m || '');
|
|
8
|
+
const mm = s.match(/^(.*?)\s*\[1m\]$/i);
|
|
9
|
+
return mm ? { name: mm[1], tag: '1M' } : { name: s, tag: '' };
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/** 勾选 1M 时拼接官方小写后缀 [1m](Claude Code 1M 上下文模型格式);输入已带后缀时幂等 */
|
|
13
|
+
export function withModelTag(name, on) {
|
|
14
|
+
const base = splitModelTag(name).name;
|
|
15
|
+
return on ? `${base}[1m]` : base;
|
|
16
|
+
}
|
|
17
|
+
|
|
5
18
|
/** 模型拉取公共逻辑:getBody() 组请求体(凭证仅携带本次输入的明文,空则不带给后端回落磁盘值) */
|
|
6
19
|
async function pullModels(getBody, btn, datalistId) {
|
|
7
20
|
btn.disabled = true;
|
|
@@ -32,7 +45,7 @@ function renderClaude(el) {
|
|
|
32
45
|
<table>
|
|
33
46
|
<tr><td style="width:150px">认证模式</td><td>${mode === 'managed' ? 'bridge 托管(managed)' : '继承本机 ~/.claude(inherit)'}</td></tr>
|
|
34
47
|
<tr><td>BASE_URL</td><td>${cur.baseUrl ? `<code>${esc(cur.baseUrl)}</code>` : '<span class="hint">官方默认(api.anthropic.com)</span>'}</td></tr>
|
|
35
|
-
<tr><td>模型</td><td>${cur.model ? `<code>${esc(
|
|
48
|
+
<tr><td>模型</td><td>${(() => { const { name, tag } = splitModelTag(cur.model || ''); return cur.model ? `<code>${esc(name)}</code>${tag ? ' <span class="tag ok">1M 上下文</span>' : ''}` : '<span class="hint">未设置(CLI 默认)</span>'; })()}</td></tr>
|
|
36
49
|
<tr><td>Auth Token</td><td>${hint(cur.authToken)}</td></tr>
|
|
37
50
|
<tr><td>API Key</td><td>${hint(cur.apiKey)}</td></tr>
|
|
38
51
|
<tr><td>自定义环境变量</td><td>${cur.envCount ? `${cur.envCount} 个(写入托管 settings.json env 块,MCP 工具可用)` : '<span class="hint">无</span>'}</td></tr>
|
|
@@ -160,7 +173,10 @@ function renderClaude(el) {
|
|
|
160
173
|
};
|
|
161
174
|
const modelChips = (p, active, i) => {
|
|
162
175
|
const list = [...(p.models || []), ...(p.model && !(p.models || []).includes(p.model) ? [p.model] : [])];
|
|
163
|
-
return list.map((m) =>
|
|
176
|
+
return list.map((m) => {
|
|
177
|
+
const { name, tag } = splitModelTag(m);
|
|
178
|
+
return `<button class="btn sm${active && cur.model === m ? ' primary' : ''}" data-op="usemodel" data-i="${i}" data-m="${esc(m)}" title="点击切换为当前模型">${esc(name)}${tag ? ' <span class="tag ok">1M</span>' : ''}${active && cur.model === m ? ' ✓' : ''}</button>`;
|
|
179
|
+
}).join(' ')
|
|
164
180
|
|| '<span class="hint">—</span>';
|
|
165
181
|
};
|
|
166
182
|
body.innerHTML = c.profiles.map((p, i) => {
|
|
@@ -238,12 +254,14 @@ function openProfileDrawer(c, i, el, snap) {
|
|
|
238
254
|
<input type="text" id="dwPfBase" value="${esc(p.base_url || '')}" placeholder="https://relay.example.com">
|
|
239
255
|
<h4 style="margin:18px 0 4px;font-size:13.5px">候选模型(fable / opus / sonnet / haiku 等,各存一条;列表页点击即切换当前模型)</h4>
|
|
240
256
|
<div class="chips" id="dwPfModels"></div>
|
|
241
|
-
<div class="row" style="align-items:end;max-width:
|
|
257
|
+
<div class="row" style="align-items:end;max-width:640px">
|
|
242
258
|
<div style="flex:1"><input type="text" id="dwPfNewModel" list="dwPfModelList" placeholder="输入或下拉选择后点「添加」">
|
|
243
259
|
<datalist id="dwPfModelList"></datalist></div>
|
|
260
|
+
<label style="display:flex;align-items:center;gap:4px;white-space:nowrap;padding-bottom:6px"><input type="checkbox" id="dwPfModel1M"> 1M 上下文</label>
|
|
244
261
|
<div class="btn-wrap"><button class="btn" id="dwPfAddModel">添加</button></div>
|
|
245
262
|
<div class="btn-wrap"><button class="btn" id="dwPfPull">拉取模型</button></div>
|
|
246
263
|
</div>
|
|
264
|
+
<div class="hint" style="margin-top:6px">勾选「1M 上下文」添加的模型名带 <code>[1m]</code> 后缀(Claude Code 官方 1M 上下文格式,切换后写入 ANTHROPIC_MODEL);勾选前请确认厂商支持 1M 上下文。</div>
|
|
247
265
|
<div class="row" style="align-items:end;margin-top:12px;max-width:600px">
|
|
248
266
|
<div style="flex:1"><label>默认模型(点「设为当前」时使用,通常为候选之一)</label>
|
|
249
267
|
<input type="text" id="dwPfModel" list="dwPfModelsList" value="${esc(p.model || '')}" placeholder="留空 = 切换时不指定">
|
|
@@ -272,8 +290,10 @@ function openProfileDrawer(c, i, el, snap) {
|
|
|
272
290
|
if (models.length) p.models = [...models];
|
|
273
291
|
else delete p.models;
|
|
274
292
|
const box = document.getElementById('dwPfModels');
|
|
275
|
-
box.innerHTML = models.map((m, mi) =>
|
|
276
|
-
|
|
293
|
+
box.innerHTML = models.map((m, mi) => {
|
|
294
|
+
const { name, tag } = splitModelTag(m);
|
|
295
|
+
return `<span class="chip">${esc(name)}${tag ? '<span class="tag ok" style="margin-left:4px">1M</span>' : ''}<button type="button" data-rm="${mi}" title="移除">×</button></span>`;
|
|
296
|
+
}).join('')
|
|
277
297
|
|| '<span class="hint">尚无候选模型(不影响使用,可随时添加)</span>';
|
|
278
298
|
box.querySelectorAll('button[data-rm]').forEach((b) => b.onclick = () => {
|
|
279
299
|
models.splice(Number(b.dataset.rm), 1);
|
|
@@ -284,10 +304,14 @@ function openProfileDrawer(c, i, el, snap) {
|
|
|
284
304
|
syncModels();
|
|
285
305
|
const addModel = () => {
|
|
286
306
|
const inp = document.getElementById('dwPfNewModel');
|
|
307
|
+
const cb = document.getElementById('dwPfModel1M');
|
|
287
308
|
const v = inp.value.trim();
|
|
288
309
|
if (!v) return;
|
|
289
|
-
|
|
310
|
+
// 勾选 1M:拼官方 [1m] 后缀(输入已带后缀时幂等);添加后自动取消勾选
|
|
311
|
+
const full = withModelTag(v, cb.checked);
|
|
312
|
+
if (!models.includes(full)) models.push(full);
|
|
290
313
|
inp.value = '';
|
|
314
|
+
cb.checked = false;
|
|
291
315
|
syncModels();
|
|
292
316
|
};
|
|
293
317
|
document.getElementById('dwPfAddModel').onclick = addModel;
|
package/config.example.yaml
CHANGED
|
@@ -15,13 +15,19 @@ apps:
|
|
|
15
15
|
# env: # per-app 环境变量(改后下一条消息热生效;注意:生效目录 settings.json
|
|
16
16
|
# 的 env 优先级更高,此处适合放 settings.json 里没有的键)
|
|
17
17
|
# SOME_PLUGIN_KEY: xxx
|
|
18
|
-
# triggers: # 触发词映射:命中即把消息改写为 rewrite
|
|
18
|
+
# triggers: # 触发词映射:命中即把消息改写为 rewrite(按序首个命中生效)。
|
|
19
19
|
# # 通常无须配置:未命中触发词的 /xxx 消息会原文透传给 Claude Code
|
|
20
20
|
# 自动展开斜杠命令(可触发 skills / 插件命令,如 /superpowers:brainstorming);
|
|
21
21
|
# 仅在需要改写参数/附加指令时才配触发词。
|
|
22
22
|
# match 以 / 开头 = 首 token 精确匹配(/produce 命中、/produced 不命中),
|
|
23
23
|
# 否则 = 整条消息包含该关键词即命中;{text}=原文全文,{args}=去掉首 token 的剩余参数。
|
|
24
|
-
#
|
|
24
|
+
# rewrite 可指向 bridge 本地命令(/new /ws /reload-plugins 等,飞书菜单
|
|
25
|
+
# 场景常用:match=新会话, rewrite=/new)——由 bridge 本地执行,不透传给
|
|
26
|
+
# Claude Code;也可指向技能/插件命令或普通指令(照旧当任务入队)。
|
|
27
|
+
# /stop /new /help 等本地命令原文永远优先,不会被劫持。改动写盘后下一条消息即热生效。
|
|
28
|
+
# ask_detail: true = 两段式触发(配置页触发词「补充」勾选列):命中先追问
|
|
29
|
+
# 补充内容,用户下一条消息(非 / 命令)与原文合并后再改写入队——适合
|
|
30
|
+
# 「必须带参数才好执行」的技能;10 分钟无补充自动失效走原流程。
|
|
25
31
|
# - match: /produce
|
|
26
32
|
# rewrite: '调用 content-producer 插件的主技能(skills/content-producer/SKILL.md)执行内容生产流程,严格遵循其编排。任务参数:{args}'
|
|
27
33
|
# - match: 写文章
|
|
@@ -31,6 +37,12 @@ apps:
|
|
|
31
37
|
# 与自动发现同名时显式优先。插件的 MCP/hooks 随之加载。
|
|
32
38
|
# - name: content-producer
|
|
33
39
|
# path: F:/workspace/plugins/content-producer/plugin
|
|
40
|
+
# profile: GLM # 机器人级厂商档案(引用 claude.profiles[].name,档案先在「Claude 认证」
|
|
41
|
+
# # 页创建):配置后该机器人专用该档案的认证与模型,未配置跟随全局。
|
|
42
|
+
# # 认证经独立 settings 文件以 CLI --settings 注入(优先级高于生效目录
|
|
43
|
+
# # settings.json 的 env 块);改动下一条消息热生效(无须重启)
|
|
44
|
+
# profile_model: glm-5.3[1m] # 可选模型覆盖:取该档案候选模型之一(含 [1m] 1M 上下文后缀),
|
|
45
|
+
# # 留空 = 档案默认模型。优先级:通道 /model 命令 > 此处 > 档案默认 > 全局
|
|
34
46
|
# - name: 素材收集 # 再添一个机器人:复制上面的结构即可(会话池独立,配置共享 ~/.claude)
|
|
35
47
|
# app_id: cli_yyyy
|
|
36
48
|
# app_secret: yyyy
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { BridgeConfig, ClaudeProfile, FeishuAppConfig } from './types.js';
|
|
2
|
+
/** app.profile → 档案对象;未配置或档案不存在返回 undefined(调用方 warn 回退全局,不 fail) */
|
|
3
|
+
export declare function resolveAppProfile(config: BridgeConfig, app: FeishuAppConfig): ClaudeProfile | undefined;
|
|
4
|
+
/**
|
|
5
|
+
* bot 生效模型:profileModel(须在档案候选集内,否则 warn 忽略防串档案)> 档案默认 model >
|
|
6
|
+
* undefined(跟随全局)。候选集口径与 claude-profile.ts switchProfile 一致:models + 档案默认 model
|
|
7
|
+
*/
|
|
8
|
+
export declare function resolveAppProfileModel(config: BridgeConfig, app: FeishuAppConfig): string | undefined;
|
|
9
|
+
/**
|
|
10
|
+
* 生成 per-bot 档案 settings 文件(内容仅认证键),返回绝对路径。
|
|
11
|
+
* - 互斥凭证镜像 applyProfileToClaudeDoc 语义:档案用 authToken 时显式置 ANTHROPIC_API_KEY=""
|
|
12
|
+
* (反之亦然)——命令行层 env 压制生效目录 env,空串把生效目录可能残留的另一键对冲为未设,
|
|
13
|
+
* 防双键并存(CLI 对 AUTH_TOKEN/API_KEY 并存的取舍未定义,显式清空最稳)
|
|
14
|
+
* - baseUrl 未配置(官方 API)不写键:bot 档案留空 = 沿用生效目录值(不主动清除全局配的端点
|
|
15
|
+
* 属保守语义;需要纯官方端点的档案请在档案里显式配官方地址)
|
|
16
|
+
* - 内容未变不写盘:与磁盘现值比较(跨进程重启也不无谓重写,遵循 managed 热重载先比较再写的惯例)
|
|
17
|
+
*/
|
|
18
|
+
export declare function ensureProfileSettingsFile(prof: ClaudeProfile, baseDir?: string): string;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
// 机器人级厂商档案(apps[].profile / profile_model)的运行期解析与 per-bot settings 文件生成。
|
|
2
|
+
//
|
|
3
|
+
// 为什么认证不走 taskEnv 注入:生效目录 settings.json 的 env 块优先于子进程 env(CLI 官方
|
|
4
|
+
// 优先级,Step 0 实测 R1 证实)——bot 档案的 ANTHROPIC_* 若走 buildTaskEnv 会被托管/本机
|
|
5
|
+
// settings 的同名键压制。改走 CLI `--settings <file>`(命令行层,优先级最高,Step 0 实测
|
|
6
|
+
// R2 证实压制 user settings env):本模块按档案惰性生成仅含认证键的 settings 文件,
|
|
7
|
+
// executor 经 SDK options.extraArgs 注入。模型不走此通道(防两套真相):经 executor
|
|
8
|
+
// opts.model(--model 参数,同为命令行层)路由。
|
|
9
|
+
import { createHash } from 'node:crypto';
|
|
10
|
+
import { mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
11
|
+
import { join } from 'node:path';
|
|
12
|
+
import { CONFIG_DIR } from './config.js';
|
|
13
|
+
/** app.profile → 档案对象;未配置或档案不存在返回 undefined(调用方 warn 回退全局,不 fail) */
|
|
14
|
+
export function resolveAppProfile(config, app) {
|
|
15
|
+
if (!app.profile)
|
|
16
|
+
return undefined;
|
|
17
|
+
return config.claude?.profiles?.find((p) => p.name === app.profile);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* bot 生效模型:profileModel(须在档案候选集内,否则 warn 忽略防串档案)> 档案默认 model >
|
|
21
|
+
* undefined(跟随全局)。候选集口径与 claude-profile.ts switchProfile 一致:models + 档案默认 model
|
|
22
|
+
*/
|
|
23
|
+
export function resolveAppProfileModel(config, app) {
|
|
24
|
+
const prof = resolveAppProfile(config, app);
|
|
25
|
+
if (!prof)
|
|
26
|
+
return undefined;
|
|
27
|
+
const override = app.profileModel?.trim();
|
|
28
|
+
if (override) {
|
|
29
|
+
const candidates = new Set([...(prof.models ?? []), ...(prof.model ? [prof.model] : [])]);
|
|
30
|
+
if (candidates.has(override))
|
|
31
|
+
return override;
|
|
32
|
+
console.warn(`[app-profile] 机器人 ${app.name || app.appId} 的 profile_model "${override}" 不在档案 "${prof.name}" 候选模型中,已忽略(回退档案默认模型)`);
|
|
33
|
+
}
|
|
34
|
+
return prof.model;
|
|
35
|
+
}
|
|
36
|
+
/** 档案名 → 安全文件名片段:Windows 保留字符替换 + md5 短后缀防 sanitized 碰撞 */
|
|
37
|
+
function profileFileStem(name) {
|
|
38
|
+
const safe = name.replace(/[\\/:*?"<>|\s]+/g, '_').slice(0, 40) || 'profile';
|
|
39
|
+
return `${safe}-${createHash('md5').update(name).digest('hex').slice(0, 8)}`;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* 生成 per-bot 档案 settings 文件(内容仅认证键),返回绝对路径。
|
|
43
|
+
* - 互斥凭证镜像 applyProfileToClaudeDoc 语义:档案用 authToken 时显式置 ANTHROPIC_API_KEY=""
|
|
44
|
+
* (反之亦然)——命令行层 env 压制生效目录 env,空串把生效目录可能残留的另一键对冲为未设,
|
|
45
|
+
* 防双键并存(CLI 对 AUTH_TOKEN/API_KEY 并存的取舍未定义,显式清空最稳)
|
|
46
|
+
* - baseUrl 未配置(官方 API)不写键:bot 档案留空 = 沿用生效目录值(不主动清除全局配的端点
|
|
47
|
+
* 属保守语义;需要纯官方端点的档案请在档案里显式配官方地址)
|
|
48
|
+
* - 内容未变不写盘:与磁盘现值比较(跨进程重启也不无谓重写,遵循 managed 热重载先比较再写的惯例)
|
|
49
|
+
*/
|
|
50
|
+
export function ensureProfileSettingsFile(prof, baseDir = CONFIG_DIR) {
|
|
51
|
+
const dir = join(baseDir, 'claude-apps');
|
|
52
|
+
mkdirSync(dir, { recursive: true });
|
|
53
|
+
const env = {};
|
|
54
|
+
if (prof.authToken) {
|
|
55
|
+
env.ANTHROPIC_AUTH_TOKEN = prof.authToken;
|
|
56
|
+
env.ANTHROPIC_API_KEY = '';
|
|
57
|
+
}
|
|
58
|
+
else if (prof.apiKey) {
|
|
59
|
+
env.ANTHROPIC_API_KEY = prof.apiKey;
|
|
60
|
+
env.ANTHROPIC_AUTH_TOKEN = '';
|
|
61
|
+
}
|
|
62
|
+
if (prof.baseUrl)
|
|
63
|
+
env.ANTHROPIC_BASE_URL = prof.baseUrl;
|
|
64
|
+
const path = join(dir, `${profileFileStem(prof.name)}.settings.json`);
|
|
65
|
+
const text = JSON.stringify({ env }, null, 2) + '\n';
|
|
66
|
+
let prev = '';
|
|
67
|
+
try {
|
|
68
|
+
prev = readFileSync(path, 'utf8');
|
|
69
|
+
}
|
|
70
|
+
catch { /* 首次生成:无旧文件 */ }
|
|
71
|
+
if (prev !== text)
|
|
72
|
+
writeFileSync(path, text, 'utf8');
|
|
73
|
+
return path;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=app-profile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-profile.js","sourceRoot":"","sources":["../src/app-profile.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -13,7 +13,8 @@ export declare function loadConfig(path?: string): BridgeConfig;
|
|
|
13
13
|
*/
|
|
14
14
|
export declare function parseConfigText(raw: string, pathForError?: string): BridgeConfig;
|
|
15
15
|
/** 热重载比较:任一 app 的凭证/名称/工作区/并发/配置目录/人格/角色能力变化即视为需重启的变更(顺序敏感)。
|
|
16
|
-
* env
|
|
16
|
+
* env 与 profile/profileModel 不参与比较——均已纳入热重载 mutate 清单,executeTask 每任务
|
|
17
|
+
* 现读解析(app-profile.ts / buildTaskEnv),改完下一条消息即生效。
|
|
17
18
|
* role/allowed_* 必须参与比较:分身的准入/技能/插件/工作区锁定语义须与长连接生命周期一致,
|
|
18
19
|
* 热切换会造成「gateway 还是旧 app 语义、createBridge 已按新 role 收敛」的半新半旧状态 */
|
|
19
20
|
export declare function sameApps(a: FeishuAppConfig[], b: FeishuAppConfig[]): boolean;
|
package/dist/config.js
CHANGED
|
@@ -31,6 +31,13 @@ function normalizeSession(doc) {
|
|
|
31
31
|
}
|
|
32
32
|
out.notifySop = s.notify_sop;
|
|
33
33
|
}
|
|
34
|
+
// tool_hint:缺省=true(注入工具可用性说明,对抗 dynamic tool loading 自查误判),false = 关闭
|
|
35
|
+
if (s.tool_hint !== undefined && s.tool_hint !== null) {
|
|
36
|
+
if (typeof s.tool_hint !== 'boolean') {
|
|
37
|
+
throw new Error(`session.tool_hint 必须为 boolean(true = 启用,false = 关闭;当前值:${String(s.tool_hint)}),请检查 config.yaml`);
|
|
38
|
+
}
|
|
39
|
+
out.toolHint = s.tool_hint;
|
|
40
|
+
}
|
|
34
41
|
return out;
|
|
35
42
|
}
|
|
36
43
|
/** 卡片展示段(整体可选):width 严格枚举(default = 飞书默认宽度;fill = 撑满聊天窗口) */
|
|
@@ -76,6 +83,9 @@ function normalizeTriggers(raw, where) {
|
|
|
76
83
|
if (!rewrite.includes('{text}') && !rewrite.includes('{args}')) {
|
|
77
84
|
console.warn(`[配置] ${where} 的 triggers[${j}].rewrite 不含 {text} / {args} 占位符,斜杠命中时用户参数将自动追加在改写结果末尾(需精确控制位置请改用占位符)`);
|
|
78
85
|
}
|
|
86
|
+
// ask_detail 两段式触发:仅 true 时写入(缺省/false 不产键,YAML 干净);非布尔真值不认(宽松归一,误配不炸)
|
|
87
|
+
if (t?.ask_detail === true)
|
|
88
|
+
return { match, rewrite, askDetail: true };
|
|
79
89
|
return { match, rewrite };
|
|
80
90
|
});
|
|
81
91
|
}
|
|
@@ -235,6 +245,10 @@ function normalizeClaude(doc) {
|
|
|
235
245
|
const t = v.trim();
|
|
236
246
|
return t ? t : undefined;
|
|
237
247
|
};
|
|
248
|
+
// 模型名 1M 上下文后缀归一:统一折叠为官方小写格式 [1m](如 glm-5.3[1M] → glm-5.3[1m])。
|
|
249
|
+
// 顶层 model 与档案 model/models 全走此漏斗——保证 use-profile 候选集精确匹配两端一致,
|
|
250
|
+
// 折叠必须发生在 models 去重之前(否则 [1M]/[1m] 两条并存逃过去重)
|
|
251
|
+
const normModel = (s) => s ? s.replace(/\[1m\]$/i, '[1m]') : s;
|
|
238
252
|
const authToken = str(c.auth_token);
|
|
239
253
|
const apiKey = str(c.api_key);
|
|
240
254
|
if (authToken && apiKey) {
|
|
@@ -248,7 +262,7 @@ function normalizeClaude(doc) {
|
|
|
248
262
|
if (mode === 'managed' && !authToken && !apiKey) {
|
|
249
263
|
console.warn('[配置] claude.mode = managed 但未配置 auth_token / api_key:请在 Web 配置页填写,否则 Claude 任务将无法认证');
|
|
250
264
|
}
|
|
251
|
-
const model = str(c.model);
|
|
265
|
+
const model = normModel(str(c.model));
|
|
252
266
|
// managed 模式显式环境变量(MCP 工具依赖的自定义变量;领土 4 键不在此生效,buildManagedSettings 入口过滤)
|
|
253
267
|
const envRaw = raw.env;
|
|
254
268
|
let env;
|
|
@@ -291,8 +305,9 @@ function normalizeClaude(doc) {
|
|
|
291
305
|
if (pBaseUrl && !/^https?:\/\//.test(pBaseUrl)) {
|
|
292
306
|
console.warn(`[配置] ${where}(${name})的 base_url = ${pBaseUrl} 不以 http(s):// 开头,请确认是否漏写协议`);
|
|
293
307
|
}
|
|
294
|
-
const pModel = str(p.model);
|
|
295
|
-
// 候选模型集:字符串数组,trim
|
|
308
|
+
const pModel = normModel(str(p.model));
|
|
309
|
+
// 候选模型集:字符串数组,trim 去空去重(页面点选切换用,不直接生效);
|
|
310
|
+
// 每条先经 normModel 折叠 [1m] 后缀再去重
|
|
296
311
|
const pModelsRaw = p.models;
|
|
297
312
|
let pModels;
|
|
298
313
|
if (pModelsRaw !== undefined && pModelsRaw !== null) {
|
|
@@ -302,7 +317,7 @@ function normalizeClaude(doc) {
|
|
|
302
317
|
for (const m of pModelsRaw) {
|
|
303
318
|
if (typeof m !== 'string')
|
|
304
319
|
throw new Error(`${where}(${name})的 models 必须为字符串数组,请检查 config.yaml`);
|
|
305
|
-
const t = m.trim();
|
|
320
|
+
const t = normModel(m.trim());
|
|
306
321
|
if (t)
|
|
307
322
|
seenModels.add(t);
|
|
308
323
|
}
|
|
@@ -458,6 +473,10 @@ function normalizeApps(doc, workspaceNames) {
|
|
|
458
473
|
env: raw.env && typeof raw.env === 'object' ? raw.env : undefined,
|
|
459
474
|
triggers: normalizeTriggers(raw.triggers, where),
|
|
460
475
|
plugins: normalizePlugins(raw.plugins, where),
|
|
476
|
+
// 机器人级厂商档案:宽松归一(仅 trim);档案名是否存在在运行期解析(app-profile.ts),
|
|
477
|
+
// 此处校验会让「先配 app 后建档案」的顺序成为非法(配置页两页独立保存)
|
|
478
|
+
profile: typeof raw.profile === 'string' && raw.profile.trim() ? raw.profile.trim() : undefined,
|
|
479
|
+
profileModel: typeof raw.profile_model === 'string' && raw.profile_model.trim() ? raw.profile_model.trim() : undefined,
|
|
461
480
|
role,
|
|
462
481
|
allowedSkills,
|
|
463
482
|
allowedPlugins,
|
|
@@ -532,7 +551,8 @@ export function parseConfigText(raw, pathForError = CONFIG_PATH) {
|
|
|
532
551
|
};
|
|
533
552
|
}
|
|
534
553
|
/** 热重载比较:任一 app 的凭证/名称/工作区/并发/配置目录/人格/角色能力变化即视为需重启的变更(顺序敏感)。
|
|
535
|
-
* env
|
|
554
|
+
* env 与 profile/profileModel 不参与比较——均已纳入热重载 mutate 清单,executeTask 每任务
|
|
555
|
+
* 现读解析(app-profile.ts / buildTaskEnv),改完下一条消息即生效。
|
|
536
556
|
* role/allowed_* 必须参与比较:分身的准入/技能/插件/工作区锁定语义须与长连接生命周期一致,
|
|
537
557
|
* 热切换会造成「gateway 还是旧 app 语义、createBridge 已按新 role 收敛」的半新半旧状态 */
|
|
538
558
|
export function sameApps(a, b) {
|
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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"}
|
|
@@ -38,6 +38,10 @@ export interface RunTaskOptions {
|
|
|
38
38
|
plugins?: Array<{
|
|
39
39
|
path: string;
|
|
40
40
|
}>;
|
|
41
|
+
/** 额外 CLI 参数(键不带 -- 前缀),直通 SDK Options.extraArgs。
|
|
42
|
+
* 当前唯一用途:机器人级厂商档案的认证 settings 文件(--settings <path>)——
|
|
43
|
+
* 命令行层 env 优先级最高,不被生效目录 settings.json 的 env 块压制(Step 0 实测) */
|
|
44
|
+
extraArgs?: Record<string, string | null>;
|
|
41
45
|
/** 技能白名单(分身机器人):非空时透传 SDK Options.skills——未列出的技能对模型不可见
|
|
42
46
|
* 且被 Skill 工具拒绝(官方语义为「上下文过滤器非沙箱」);缺省不传 = CLI 默认全量技能 */
|
|
43
47
|
allowedSkills?: string[];
|