dsh-bundle-antigravity-host 0.1.27 → 0.1.28
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 +5 -5
- package/dist/adapter/antigravity-adapter.d.ts +5 -1
- package/dist/adapter/antigravity-adapter.js +77 -28
- package/dist/adapter/antigravity-adapter.js.map +1 -1
- package/dist/client.js +177 -88
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/pool/pooled-adapter.d.ts +1 -0
- package/dist/pool/pooled-adapter.js +40 -6
- package/dist/pool/pooled-adapter.js.map +1 -1
- package/dist/quota/quota-remote.d.ts +4 -0
- package/dist/quota/quota-remote.js +22 -13
- package/dist/quota/quota-remote.js.map +1 -1
- package/dist/runtime/agy-cli.js +6 -3
- package/dist/runtime/agy-cli.js.map +1 -1
- package/docs/changelog.md +7 -0
- package/docs/configuration.md +4 -2
- package/docs/development.md +10 -4
- package/docs/reference.md +5 -3
- package/package.json +1 -1
package/dist/client.js
CHANGED
|
@@ -27,16 +27,16 @@ window.__ModuleLoader__.load({
|
|
|
27
27
|
const ENTRY_ID = 'llm-antigravity-acp'
|
|
28
28
|
/** Editable fields surfaced in this card; everything else stays in the host form. */
|
|
29
29
|
const FIELDS = [
|
|
30
|
-
{ key: 'autoWarmup', checkbox: true, defaultChecked: true, label: '启动时自动预热
|
|
31
|
-
{ key: 'reuseSessions', checkbox: true, defaultChecked: true, label: '复用 ACP 会话(增量发送)', hint: '校验历史与实际输出后只发新增消息;变化的上下文仍发送,不一致时自动重建。' },
|
|
32
|
-
{ key: '
|
|
33
|
-
{ key: '
|
|
34
|
-
{ key: '
|
|
35
|
-
{ key: '
|
|
36
|
-
{ key: '
|
|
37
|
-
{ key: '
|
|
38
|
-
{ key: '
|
|
39
|
-
{ key: '
|
|
30
|
+
{ key: 'autoWarmup', group: 'general', checkbox: true, defaultChecked: true, label: '启动时自动预热', hint: '提前启动并保留连接,不发送模型消息。保存后下次启用插件生效;本次可点击“立即预热”。' },
|
|
31
|
+
{ key: 'reuseSessions', group: 'general', checkbox: true, defaultChecked: true, label: '复用 ACP 会话(增量发送)', hint: '校验历史与实际输出后只发新增消息;变化的上下文仍发送,不一致时自动重建。' },
|
|
32
|
+
{ key: 'preferredModel', group: 'model', label: '默认 / 自定义模型 ID', placeholder: '选择目录中的模型,或输入自定义 ID', hint: '保存后优先列出此模型;目录之外的 ID 标为自定义、未验证。不会替换当前会话已选模型。留空不指定默认项。' },
|
|
33
|
+
{ key: 'proxyUrl', group: 'network', label: '出网代理', placeholder: 'http://127.0.0.1:7890', hint: '此处配置优先;留空则继承宿主代理环境变量,宿主也未配置时才直连。支持 HTTP、HTTPS 与 SOCKS5。' },
|
|
34
|
+
{ key: 'proxyBypass', group: 'network', label: '代理排除列表', placeholder: '*.internal,example.internal', hint: '逗号分隔,支持域名与通配后缀,不支持 CIDR。localhost/127.0.0.1/::1 始终自动排除(私有 MCP 桥在 loopback)。' },
|
|
35
|
+
{ key: 'agyCliPath', group: 'network', label: '官方 CLI 路径(可选)', placeholder: '留空自动查找 agy', hint: '用于模型目录、套餐额度和 AI Credits。自定义安装位置可填写完整可执行文件路径;CLI 登录与 ACP 登录独立。' },
|
|
36
|
+
{ key: 'resumeSessions', group: 'advanced', checkbox: true, label: '重启后恢复 ACP 会话', hint: '尝试加载本地映射,失败则重建;仅保存 ID 与指纹。需要同时开启会话复用。' },
|
|
37
|
+
{ key: 'keepProcessAfterCancel', group: 'advanced', checkbox: true, label: '取消后保留已停止的进程', hint: '仅在 agent 确认停止后保留;等待期间新轮排队,超时或通信失败回收。' },
|
|
38
|
+
{ key: 'cancelGraceMs', group: 'advanced', numeric: true, defaultValue: 30000, min: 0, max: 60000, label: '取消确认宽限(毫秒)', hint: '默认 30000;0 表示不等待并立即回收,不会复用未确认连接。仅开启取消后保留进程时生效。' },
|
|
39
|
+
{ key: 'idleRecycleMs', group: 'advanced', numeric: true, defaultValue: 300000, min: 0, max: 3600000, label: '进程空闲回收(毫秒)', hint: '默认 300000(5 分钟),0 禁用。聊天、预热、目录发现结束后统一计时;等待工具不算空闲。' },
|
|
40
40
|
]
|
|
41
41
|
|
|
42
42
|
function unwrap(result) {
|
|
@@ -71,13 +71,40 @@ window.__ModuleLoader__.load({
|
|
|
71
71
|
const slow = ['spawn', 'initialize'].includes(runtime.phase) ? ';官方进程冷启动首次可能需要约 1 分钟,请耐心等待' : ''
|
|
72
72
|
return (RUNTIME_PHASES[runtime.phase] ?? runtime.phase) + '… 已用 ' + duration(runtime.phaseElapsedMs) + slow
|
|
73
73
|
}
|
|
74
|
+
function connectionStatus(account, registered) {
|
|
75
|
+
const runtime = account?.runtime
|
|
76
|
+
const ready = runtime?.phase === 'ready'
|
|
77
|
+
const busy = runtimeBusy(runtime) || ['connecting', 'cancelling'].includes(account?.state)
|
|
78
|
+
const error = account?.state === 'error' || runtime?.phase === 'error' || registered === false
|
|
79
|
+
const label = registered === false ? 'Provider 未注册'
|
|
80
|
+
: error ? '连接需要检查'
|
|
81
|
+
: busy ? account?.state === 'cancelling' ? '正在取消连接' : '正在准备连接'
|
|
82
|
+
: ready ? account?.state === 'connected' ? '账户已验证' : 'ACP 已预热'
|
|
83
|
+
: account?.state === 'cancelled' || runtime?.phase === 'stopped' ? '连接已停止'
|
|
84
|
+
: account?.state === 'connected' ? '账户已验证' : '尚未验证连接'
|
|
85
|
+
const description = account?.runtime?.phase === 'stopped'
|
|
86
|
+
? 'ACP 连接已停止,可以重新预热。'
|
|
87
|
+
: account?.runtime?.phase === 'error'
|
|
88
|
+
? account.runtime.error ?? account?.message ?? 'ACP 连接异常,请重试。'
|
|
89
|
+
: registered === false ? '请确认插件已启用,Host 与 Client 均已加载。'
|
|
90
|
+
: startupHint(account) ?? account?.message ?? '连接后可验证账户并读取模型目录,不会发送聊天消息。'
|
|
91
|
+
return { label, description, ready, busy, error, color: error ? '#d97757' : ready ? '#25b879' : busy ? '#d99b28' : '#8b909a' }
|
|
92
|
+
}
|
|
93
|
+
function StatusDot({ color }) {
|
|
94
|
+
return h('span', { 'aria-hidden': true, style: { width: '8px', height: '8px', flex: '0 0 auto', borderRadius: '50%', background: color, boxShadow: '0 0 0 4px rgba(128,128,128,.10)' } })
|
|
95
|
+
}
|
|
96
|
+
function StatusNotice({ status }) {
|
|
97
|
+
if (!status) return null
|
|
98
|
+
const error = status.kind === 'error'
|
|
99
|
+
return h('p', { role: error ? 'alert' : 'status', style: { margin: 0, padding: '10px 12px', borderRadius: '10px', fontSize: '12px', lineHeight: 1.6, overflowWrap: 'anywhere', color: error ? '#b42318' : status.kind === 'busy' ? '#946200' : '#177c55', background: error ? 'rgba(217,119,87,.10)' : status.kind === 'busy' ? 'rgba(217,155,40,.10)' : 'rgba(37,184,121,.10)' } }, status.text)
|
|
100
|
+
}
|
|
74
101
|
function RuntimeDetails({ runtime }) {
|
|
75
102
|
if (!runtime) return null
|
|
76
|
-
const row = (label, value) => h('div', { key: label, style: { display: 'flex', justifyContent: 'space-between', gap: '
|
|
77
|
-
h('span', { style: { opacity: .65 } }, label), h('span', { style: { fontVariantNumeric: 'tabular-nums', overflowWrap: 'anywhere' } }, value))
|
|
103
|
+
const row = (label, value) => h('div', { key: label, style: { display: 'flex', justifyContent: 'space-between', gap: '16px' } },
|
|
104
|
+
h('span', { style: { opacity: .65 } }, label), h('span', { style: { textAlign: 'right', fontVariantNumeric: 'tabular-nums', overflowWrap: 'anywhere' } }, value))
|
|
78
105
|
const round = runtime.round
|
|
79
106
|
const queue = runtime.queue
|
|
80
|
-
return h('div', { 'aria-label': 'ACP 生命周期与计时', style: {
|
|
107
|
+
return h('div', { 'aria-label': 'ACP 生命周期与计时', style: { display: 'grid', gap: '8px', fontSize: '12px', lineHeight: 1.5 } },
|
|
81
108
|
row('当前状态', (RUNTIME_PHASES[runtime.phase] ?? runtime.phase) + ' · ' + duration(runtime.phaseElapsedMs)),
|
|
82
109
|
queue ? row('会话调度', '运行 ' + queue.active + ' · 等待工具 ' + queue.parked + ' · 排队 ' + queue.waiting) : null,
|
|
83
110
|
queue ? row('并发连接', queue.workers + ' / ' + queue.capacity) : null,
|
|
@@ -90,12 +117,48 @@ window.__ModuleLoader__.load({
|
|
|
90
117
|
round?.firstChunkMs !== undefined ? row('发送 prompt → 首块', duration(round.firstChunkMs)) : null,
|
|
91
118
|
round?.firstToolMs !== undefined ? row('发送 prompt → 首个工具', duration(round.firstToolMs)) : null,
|
|
92
119
|
round?.continuations ? row('工具续轮', round.continuations + ' 次 · 最近 ' + duration(round.lastContinuationMs)) : null,
|
|
93
|
-
runtime.error ? h('p', { role: 'alert', style: { margin: '4px 0 0', color: '#
|
|
120
|
+
runtime.error ? h('p', { role: 'alert', style: { margin: '4px 0 0', color: '#b42318', overflowWrap: 'anywhere' } }, runtime.error) : null)
|
|
121
|
+
}
|
|
122
|
+
function SectionHeading({ eyebrow, title, description, action }) {
|
|
123
|
+
return h('div', { style: { display: 'flex', alignItems: 'flex-start', gap: '12px', marginBottom: '16px' } },
|
|
124
|
+
h('div', { style: { flex: 1, minWidth: 0 } },
|
|
125
|
+
eyebrow ? h('div', { style: { fontSize: '10px', fontWeight: 650, letterSpacing: '.08em', opacity: .5, marginBottom: '4px' } }, eyebrow) : null,
|
|
126
|
+
h('h3', { style: { fontSize: '14px', lineHeight: 1.4, fontWeight: 650, margin: 0 } }, title),
|
|
127
|
+
description ? h('p', { style: { fontSize: '12px', lineHeight: 1.6, opacity: .6, margin: '5px 0 0' } }, description) : null),
|
|
128
|
+
action ?? null)
|
|
129
|
+
}
|
|
130
|
+
function TextField({ field, value, disabled, invalid, onChange }) {
|
|
131
|
+
const inputId = 'agy-setting-' + (React.useId?.() ?? field.key) + '-' + field.key
|
|
132
|
+
return h('div', { style: { display: 'grid', gap: '6px' } },
|
|
133
|
+
h('label', { htmlFor: inputId, style: { fontSize: '12px', fontWeight: 550 } }, field.label),
|
|
134
|
+
h('input', {
|
|
135
|
+
id: inputId, name: field.key, type: field.numeric ? 'number' : 'text',
|
|
136
|
+
...(field.numeric ? { min: field.min, max: field.max, step: 1 } : {}),
|
|
137
|
+
disabled, value: value ?? '', placeholder: field.placeholder,
|
|
138
|
+
'aria-invalid': invalid || undefined, 'aria-describedby': inputId + '-hint',
|
|
139
|
+
style: { ...ACTION, cursor: disabled ? 'not-allowed' : 'text', width: '100%', boxSizing: 'border-box', background: 'rgba(128,128,128,.035)', opacity: disabled ? .6 : 1 },
|
|
140
|
+
onChange: (event) => onChange(field.numeric && event.target.value !== '' ? Number(event.target.value) : event.target.value),
|
|
141
|
+
}),
|
|
142
|
+
h('small', { id: inputId + '-hint', style: { fontSize: '11px', lineHeight: 1.6, opacity: .6 } }, field.hint))
|
|
143
|
+
}
|
|
144
|
+
function SwitchField({ field, checked, disabled, onChange }) {
|
|
145
|
+
return h('label', { style: { display: 'flex', alignItems: 'flex-start', gap: '10px', cursor: disabled ? 'default' : 'pointer', padding: '2px 0', opacity: disabled ? .6 : 1 } },
|
|
146
|
+
h('input', { name: field.key, type: 'checkbox', checked: checked === true, disabled, onChange: (event) => onChange(event.target.checked), style: { width: '16px', height: '16px', flex: '0 0 auto', margin: '2px 0 0', accentColor: '#177c55', cursor: disabled ? 'not-allowed' : 'pointer' } }),
|
|
147
|
+
h('span', { style: { display: 'grid', gap: '4px', minWidth: 0 } },
|
|
148
|
+
h('span', { style: { fontSize: '12px', fontWeight: 550 } }, field.label),
|
|
149
|
+
h('small', { style: { fontSize: '11px', lineHeight: 1.6, opacity: .65 } }, field.hint)))
|
|
150
|
+
}
|
|
151
|
+
function SettingsFields({ fields, draft, dirtyKeys, conflicts, disabled, editField }) {
|
|
152
|
+
return h('div', { style: { display: 'grid', gap: '16px' } }, ...fields.map((field) => {
|
|
153
|
+
const onChange = (value) => editField(field.key, value)
|
|
154
|
+
return field.checkbox
|
|
155
|
+
? h(SwitchField, { key: field.key, field, checked: draft[field.key], disabled, onChange })
|
|
156
|
+
: h(TextField, { key: field.key, field, value: draft[field.key], disabled, invalid: dirtyKeys.includes(field.key) && field.numeric && !Number.isSafeInteger(draft[field.key]), onChange })
|
|
157
|
+
}))
|
|
94
158
|
}
|
|
95
159
|
|
|
96
160
|
function AntigravitySettingsCard(props) {
|
|
97
161
|
const remote = props.remote
|
|
98
|
-
const quota = useQuota(props.readQuota)
|
|
99
162
|
const [account, setAccount] = React.useState(undefined)
|
|
100
163
|
const [models, setModels] = React.useState([])
|
|
101
164
|
const [modelBusy, setModelBusy] = React.useState(false)
|
|
@@ -291,73 +354,85 @@ window.__ModuleLoader__.load({
|
|
|
291
354
|
setStatus({ kind: 'ok', text: '已撤销未保存的修改,恢复为当前宿主设置。' })
|
|
292
355
|
}
|
|
293
356
|
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
{ style: {
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
h('
|
|
311
|
-
|
|
312
|
-
|
|
357
|
+
const connection = connectionStatus(account, registered)
|
|
358
|
+
const fieldsFor = (group) => FIELDS.filter((field) => field.group === group)
|
|
359
|
+
const fieldProps = { draft, dirtyKeys, conflicts, disabled: editingDisabled, editField }
|
|
360
|
+
const busy = ['connecting', 'cancelling'].includes(account?.state) || runtimeBusy(account?.runtime)
|
|
361
|
+
const readonly = !loading && view && !writable
|
|
362
|
+
const advancedSummary = h('summary', { style: SUMMARY },
|
|
363
|
+
h('span', { style: { display: 'grid', gap: '4px' } },
|
|
364
|
+
h('span', { style: { fontSize: '13px', fontWeight: 650 } }, '高级设置'),
|
|
365
|
+
h('small', { style: { fontSize: '11px', fontWeight: 400, opacity: .6 } }, '网络、CLI、会话恢复与进程生命周期')))
|
|
366
|
+
|
|
367
|
+
return h('div', { style: { padding: '20px', display: 'flex', flexDirection: 'column', gap: '14px', maxWidth: '720px', boxSizing: 'border-box', lineHeight: 1.5 } },
|
|
368
|
+
h('header', { style: { display: 'flex', alignItems: 'flex-start', gap: '12px', padding: '0 2px 2px' } },
|
|
369
|
+
h('div', { style: { flex: 1, minWidth: 0 } },
|
|
370
|
+
h('div', { style: { fontSize: '10px', fontWeight: 650, letterSpacing: '.1em', opacity: .5, marginBottom: '5px' } }, 'MODEL PROVIDER'),
|
|
371
|
+
h('h2', { style: { margin: 0, fontSize: '20px', lineHeight: 1.35, fontWeight: 650, letterSpacing: '-.015em' } }, 'Antigravity ACP'),
|
|
372
|
+
h('p', { style: { margin: '6px 0 0', fontSize: '12px', opacity: .6 } }, '连接官方 Antigravity,模型与工具仍由 DSH 管理。')),
|
|
373
|
+
h('span', { title: 'Provider 路由:' + PROVIDER, style: { flex: '0 0 auto', padding: '4px 9px', borderRadius: '99px', fontSize: '11px', color: registered === false ? '#b42318' : registered === true ? '#177c55' : 'inherit', background: registered === false ? 'rgba(217,119,87,.10)' : registered === true ? 'rgba(37,184,121,.10)' : TRACK } }, registered === false ? '未注册' : registered === true ? 'Provider 已注册' : '正在检查路由')),
|
|
374
|
+
|
|
375
|
+
readonly ? h(StatusNotice, { status: { kind: 'busy', text: '当前设置为只读。你仍可查看连接状态与诊断;请在有写入权限的宿主中修改配置。' } }) : null,
|
|
376
|
+
|
|
377
|
+
h('section', { style: PANEL, 'aria-label': '账户连接' },
|
|
378
|
+
h(SectionHeading, { eyebrow: '01 · 连接', title: '账户与连接', description: '先预热减少等待,或验证账户并读取模型目录。' }),
|
|
379
|
+
h('div', { style: { display: 'flex', alignItems: 'flex-start', gap: '10px', padding: '12px', borderRadius: '10px', background: 'rgba(128,128,128,.045)', marginBottom: '14px' } },
|
|
380
|
+
h(StatusDot, { color: connection.color }),
|
|
381
|
+
h('div', { style: { minWidth: 0 } },
|
|
382
|
+
h('div', { style: { fontSize: '12px', fontWeight: 650, color: connection.color } }, connection.label),
|
|
383
|
+
h('p', { role: 'status', style: { fontSize: '12px', lineHeight: 1.6, opacity: .7, overflowWrap: 'anywhere', margin: '3px 0 0' } }, connection.description))),
|
|
313
384
|
h('div', { style: { display: 'flex', flexWrap: 'wrap', gap: '8px' } },
|
|
314
|
-
h('button', { type: 'button', style:
|
|
315
|
-
h('button', { type: 'button', style: ACTION, disabled: !props.control ||
|
|
316
|
-
['connecting', 'cancelling'].includes(account?.state) ? h('button', { type: 'button', style: ACTION, disabled: account?.state === 'cancelling', onClick: () => accountAction('cancel') }, '取消连接') : null),
|
|
317
|
-
h('p', { style: { opacity: .
|
|
318
|
-
|
|
319
|
-
h('section', { style:
|
|
320
|
-
h(
|
|
321
|
-
h('
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
h('
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
{
|
|
333
|
-
h('span', null, field.label),
|
|
334
|
-
h('input', {
|
|
335
|
-
name: field.key,
|
|
336
|
-
type: field.checkbox ? 'checkbox' : field.numeric ? 'number' : 'text',
|
|
337
|
-
...(field.numeric ? { min: field.min, max: field.max, step: 1 } : {}),
|
|
338
|
-
disabled: editingDisabled,
|
|
339
|
-
...(field.checkbox ? { checked: draft[field.key] === true } : { value: draft[field.key] ?? '' }),
|
|
340
|
-
placeholder: field.placeholder,
|
|
341
|
-
style: field.checkbox ? { alignSelf: 'flex-start' } : { ...ACTION, cursor: 'text', width: '100%', boxSizing: 'border-box' },
|
|
342
|
-
onChange: (event) => editField(field.key, field.checkbox ? event.target.checked
|
|
343
|
-
: field.numeric && event.target.value !== '' ? Number(event.target.value) : event.target.value),
|
|
344
|
-
}),
|
|
345
|
-
h('small', { style: { opacity: 0.7 } }, field.hint),
|
|
346
|
-
)),
|
|
347
|
-
h(
|
|
348
|
-
'div',
|
|
349
|
-
{ style: { display: 'flex', flexWrap: 'wrap', gap: '8px', alignItems: 'center' } },
|
|
350
|
-
h('button', { type: 'button', onClick: save, disabled: editingDisabled || dirtyKeys.length === 0, style: ACTION }, saving ? '保存中…' : '保存'),
|
|
351
|
-
h('button', { type: 'button', disabled: loading || saving, onClick: () => reload(), style: ACTION }, loading ? '刷新中…' : '刷新配置'),
|
|
352
|
-
dirtyKeys.length ? h('button', { type: 'button', disabled: loading || saving, onClick: discardDraft, style: ACTION }, '撤销未保存修改') : null,
|
|
353
|
-
),
|
|
354
|
-
!loading && view && !writable ? h('p', { role: 'status', style: { margin: 0, fontSize: '12px', opacity: .7 } }, '当前设置为只读,请在有写入权限的宿主中修改。') : null,
|
|
355
|
-
dirtyKeys.length ? h('p', { role: 'status', style: { margin: 0, fontSize: '12px', opacity: .7 } }, '有 ' + dirtyKeys.length + ' 项未保存的修改;刷新会保留这些输入。') : null,
|
|
356
|
-
conflicts.length ? h('p', { role: 'alert', style: { margin: 0, fontSize: '12px', color: '#d99b28' } }, '其他位置更新了以下设置,已保留你的输入:' + conflicts.map((key) => FIELDS.find((field) => field.key === key)?.label ?? key).join('、') + '。请核对后再保存。') : null,
|
|
357
|
-
status ? h('p', { role: status.kind === 'error' ? 'alert' : 'status', style: { margin: 0, color: status.kind === 'error' ? '#e5534b' : undefined } }, status.text) : null,
|
|
358
|
-
h('section', { style: { marginTop: '8px' }, 'aria-label': '套餐额度管理' }, QuotaDetails({ ...quota, model: draft.preferredModel })),
|
|
385
|
+
h('button', { type: 'button', style: PRIMARY, disabled: !props.control || busy, onClick: () => accountAction('login') }, account?.state === 'connecting' ? '正在连接…' : '连接 / 登录 ACP'),
|
|
386
|
+
h('button', { type: 'button', style: ACTION, disabled: !props.control || busy || connection.ready, onClick: () => accountAction('warmup') }, connection.ready ? '已预热' : '立即预热'),
|
|
387
|
+
['connecting', 'cancelling'].includes(account?.state) ? h('button', { type: 'button', style: ACTION, disabled: account?.state === 'cancelling', onClick: () => accountAction('cancel') }, account?.state === 'cancelling' ? '正在取消…' : '取消连接') : null),
|
|
388
|
+
h('p', { style: { opacity: .55, fontSize: '11px', lineHeight: 1.6, margin: '10px 0 0' } }, '预热不会发送聊天消息。仅在需要登录时打开官方授权页面;思考强度仍由会话菜单设置。')),
|
|
389
|
+
|
|
390
|
+
h('section', { style: PANEL, 'aria-label': '模型管理' },
|
|
391
|
+
h(SectionHeading, { eyebrow: '02 · 模型', title: '默认模型', description: '选择新对话优先使用的模型,不改变当前会话。',
|
|
392
|
+
action: h('button', { type: 'button', title: '从官方 CLI 或 ACP 会话重新读取模型目录', 'aria-busy': modelBusy || undefined, style: { ...ACTION, flex: '0 0 auto', whiteSpace: 'nowrap' }, disabled: modelBusy || !props.control, onClick: () => pullModels(true) }, modelBusy ? '正在刷新…' : '刷新模型目录') }),
|
|
393
|
+
h('div', { style: { display: 'grid', gap: '14px' } },
|
|
394
|
+
h('label', { style: { display: 'grid', gap: '6px', fontSize: '12px', fontWeight: 550 } }, '从模型目录选择',
|
|
395
|
+
h('select', { 'aria-label': '从目录选择默认模型', disabled: editingDisabled, value: models.some((m) => m.id === draft.preferredModel) ? draft.preferredModel : '', onChange: (event) => { if (event.target.value) editField('preferredModel', event.target.value) }, style: { ...ACTION, width: '100%', boxSizing: 'border-box', background: 'rgba(128,128,128,.035)' } },
|
|
396
|
+
h('option', { value: '' }, models.length ? '选择一个模型,或在下方输入 ID' : '暂无目录,可手动输入模型 ID'),
|
|
397
|
+
...models.map((model) => h('option', { key: model.id, value: model.id }, model.name + ' · ' + model.id)))),
|
|
398
|
+
h(SettingsFields, { ...fieldProps, fields: fieldsFor('model') })),
|
|
399
|
+
h('div', { style: { display: 'flex', flexWrap: 'wrap', gap: '5px 10px', marginTop: '10px', fontSize: '11px', opacity: .6 } },
|
|
400
|
+
h('span', null, models.length + ' 个模型'),
|
|
401
|
+
Array.isArray(selectedModalities) && selectedModalities.length ? h('span', null, '支持输入:' + selectedModalities.map((modality) => modalityLabels[modality] ?? modality).join('、')) : null,
|
|
402
|
+
draft.preferredModel && !selectedModel ? h('span', null, '自定义 ID · 尚未验证') : null),
|
|
403
|
+
modelMessage ? h('p', { role: 'status', style: { fontSize: '11px', lineHeight: 1.6, opacity: .65, margin: '8px 0 0', overflowWrap: 'anywhere' } }, modelMessage) : null),
|
|
359
404
|
|
|
360
|
-
|
|
405
|
+
h('section', { style: PANEL, 'aria-label': '常用设置' },
|
|
406
|
+
h(SectionHeading, { eyebrow: '03 · 偏好', title: '常用设置', description: '适合大多数使用场景;其它选项保持默认即可。' }),
|
|
407
|
+
h(SettingsFields, { ...fieldProps, fields: fieldsFor('general') })),
|
|
408
|
+
|
|
409
|
+
h('details', { style: PANEL, 'aria-label': '高级设置' }, advancedSummary,
|
|
410
|
+
h('div', { style: { display: 'grid', gap: '24px', marginTop: '20px', paddingTop: '18px', borderTop: '1px solid rgba(128,128,128,.14)' } },
|
|
411
|
+
h('section', { 'aria-label': '网络与 CLI 设置', style: { display: 'grid', gap: '16px' } },
|
|
412
|
+
h('h4', { style: { margin: 0, fontSize: '12px', fontWeight: 650 } }, '网络与 CLI'),
|
|
413
|
+
h(SettingsFields, { ...fieldProps, fields: fieldsFor('network') })),
|
|
414
|
+
h('section', { 'aria-label': '会话与进程设置', style: { display: 'grid', gap: '16px' } },
|
|
415
|
+
h('h4', { style: { margin: 0, fontSize: '12px', fontWeight: 650 } }, '会话与进程'),
|
|
416
|
+
h(SettingsFields, { ...fieldProps, fields: fieldsFor('advanced') })))),
|
|
417
|
+
|
|
418
|
+
h('details', { style: PANEL, 'aria-label': '连接诊断' },
|
|
419
|
+
h('summary', { style: SUMMARY },
|
|
420
|
+
h('span', { style: { display: 'flex', alignItems: 'center', gap: '8px' } },
|
|
421
|
+
h(StatusDot, { color: connection.color }),
|
|
422
|
+
h('span', { style: { fontSize: '13px', fontWeight: 650 } }, '连接诊断')),
|
|
423
|
+
h('small', { style: { fontSize: '11px', opacity: .6 } }, '状态、并发与耗时')),
|
|
424
|
+
h('div', { style: { marginTop: '18px', paddingTop: '16px', borderTop: '1px solid rgba(128,128,128,.14)' } },
|
|
425
|
+
account?.runtime ? RuntimeDetails({ runtime: account.runtime }) : h('p', { style: { margin: 0, fontSize: '12px', opacity: .6 } }, '连接后显示生命周期、并发容量与分阶段耗时。'))),
|
|
426
|
+
|
|
427
|
+
h('footer', { style: { display: 'grid', gap: '10px', padding: '4px 2px 0' } },
|
|
428
|
+
conflicts.length ? h('p', { role: 'alert', style: { margin: 0, fontSize: '12px', lineHeight: 1.6, color: '#946200' } }, '其他位置更新了以下设置,已保留你的输入:' + conflicts.map((key) => FIELDS.find((field) => field.key === key)?.label ?? key).join('、') + '。请核对后再保存。') : null,
|
|
429
|
+
h(StatusNotice, { status }),
|
|
430
|
+
h('div', { style: { display: 'flex', flexWrap: 'wrap', gap: '8px', alignItems: 'center' } },
|
|
431
|
+
h('button', { type: 'button', onClick: save, disabled: editingDisabled || dirtyKeys.length === 0, style: PRIMARY }, saving ? '保存中…' : '保存'),
|
|
432
|
+
dirtyKeys.length ? h('button', { type: 'button', disabled: loading || saving, onClick: discardDraft, style: ACTION }, '撤销未保存修改') : null,
|
|
433
|
+
h('button', { type: 'button', title: '重新读取宿主配置,保留未保存的输入', disabled: loading || saving, onClick: () => reload(), style: { ...ACTION, borderColor: 'transparent', background: 'transparent', opacity: .7, marginLeft: 'auto' } }, loading ? '刷新中…' : '刷新配置')),
|
|
434
|
+
dirtyKeys.length ? h('p', { role: 'status', style: { margin: 0, fontSize: '11px', opacity: .65 } }, '有 ' + dirtyKeys.length + ' 项未保存的修改;刷新会保留这些输入。') : null,
|
|
435
|
+
h('p', { style: { margin: '2px 0 0', paddingTop: '12px', borderTop: '1px solid rgba(128,128,128,.12)', fontSize: '11px', lineHeight: 1.6, opacity: .55 } }, '套餐额度与 AI Credits 请在对话输入框旁的额度药丸中查看,此处不再重复展示。')))
|
|
361
436
|
}
|
|
362
437
|
|
|
363
438
|
/**
|
|
@@ -369,7 +444,10 @@ window.__ModuleLoader__.load({
|
|
|
369
444
|
|
|
370
445
|
const TRACK = 'rgba(128,128,128,.18)'
|
|
371
446
|
const CARD = { padding: '12px', borderRadius: '12px', border: '1px solid rgba(128,128,128,.18)', background: 'rgba(128,128,128,.05)' }
|
|
372
|
-
const
|
|
447
|
+
const PANEL = { padding: '18px', borderRadius: '14px', border: '1px solid rgba(128,128,128,.16)', background: 'rgba(128,128,128,.025)' }
|
|
448
|
+
const SUMMARY = { display: 'flex', alignItems: 'center', justifyContent: 'space-between', gap: '12px', cursor: 'pointer', listStyle: 'none' }
|
|
449
|
+
const ACTION = { padding: '7px 12px', minHeight: '34px', borderRadius: '8px', border: '1px solid rgba(128,128,128,.22)', background: 'rgba(128,128,128,.06)', color: 'inherit', font: 'inherit', fontSize: '12px', cursor: 'pointer' }
|
|
450
|
+
const PRIMARY = { ...ACTION, background: '#177c55', border: '1px solid #177c55', color: '#fff', fontWeight: 600 }
|
|
373
451
|
const GROUPS = [{ key: 'gemini', name: 'Gemini' }, { key: 'claude', name: 'Claude / GPT' }, { key: 'argon', name: 'Gemini 4 Argon' }]
|
|
374
452
|
function groupKey(name) {
|
|
375
453
|
const text = String(name ?? '').toLowerCase()
|
|
@@ -426,23 +504,29 @@ window.__ModuleLoader__.load({
|
|
|
426
504
|
const [data, setData] = React.useState(null)
|
|
427
505
|
const [refreshing, setRefreshing] = React.useState(false)
|
|
428
506
|
const version = React.useRef(0)
|
|
507
|
+
const update = React.useCallback((value) => setData(value), [])
|
|
429
508
|
const load = React.useCallback((force = false) => {
|
|
430
509
|
if (!enabled || !readQuota) return Promise.resolve()
|
|
431
510
|
const current = ++version.current
|
|
432
511
|
setRefreshing(true)
|
|
433
512
|
return Promise.resolve().then(() => readQuota(force)).then(unwrap).then((value) => {
|
|
434
|
-
if (current === version.current)
|
|
513
|
+
if (current === version.current) update(value)
|
|
435
514
|
}).catch((error) => {
|
|
436
|
-
if (current === version.current)
|
|
515
|
+
if (current === version.current) {
|
|
516
|
+
const message = error instanceof Error ? error.message : String(error)
|
|
517
|
+
setData((previous) => previous?.status === 'ok'
|
|
518
|
+
? { ...previous, stale: true, staleReason: message }
|
|
519
|
+
: { status: 'error', groups: [], error: { message } })
|
|
520
|
+
}
|
|
437
521
|
}).finally(() => { if (current === version.current) setRefreshing(false) })
|
|
438
|
-
}, [readQuota, enabled])
|
|
522
|
+
}, [readQuota, enabled, update])
|
|
439
523
|
React.useEffect(() => {
|
|
440
524
|
if (!enabled || !readQuota) { setData(null); return undefined }
|
|
441
525
|
void load(false)
|
|
442
|
-
const off = readQuota.subscribe?.((value) =>
|
|
526
|
+
const off = readQuota.subscribe?.((value) => { ++version.current; update(value) })
|
|
443
527
|
const timer = setInterval(() => { if (typeof document === 'undefined' || document.visibilityState !== 'hidden') void load(false) }, 300_000)
|
|
444
528
|
return () => { ++version.current; clearInterval(timer); off?.() }
|
|
445
|
-
}, [load, enabled, readQuota])
|
|
529
|
+
}, [load, enabled, readQuota, update])
|
|
446
530
|
return { data, refreshing, load }
|
|
447
531
|
}
|
|
448
532
|
function CreditsDetails({ credits, pending }) {
|
|
@@ -552,7 +636,12 @@ window.__ModuleLoader__.load({
|
|
|
552
636
|
return () => { document.removeEventListener('pointerdown', outside); document.removeEventListener('keydown', key); window.removeEventListener('resize', reposition); window.removeEventListener('scroll', reposition, true) }
|
|
553
637
|
}, [expanded])
|
|
554
638
|
if (!enabled) return null
|
|
555
|
-
const
|
|
639
|
+
const groups = quotaGroups(quota.data)
|
|
640
|
+
const family = modelGroup(model)
|
|
641
|
+
// 官方 /usage 可能只报告 Gemini 共享额度;只有真实 Argon 分组存在时,
|
|
642
|
+
// 才把 Argon 型号绑定到独立组,不能命中一个预建的空组而误报未知。
|
|
643
|
+
const group = groups.find((g) => g.key === family && (family !== 'argon' || g.buckets.length > 0))
|
|
644
|
+
?? (family === 'argon' ? groups.find((g) => g.key === 'gemini') : undefined)
|
|
556
645
|
const buckets = group?.buckets ?? []
|
|
557
646
|
const label = quota.data?.status === 'error' ? '额度读取失败' : !quota.data ? '正在读取额度' : !group ? '额度未匹配,请选择具体模型' : !buckets.length ? '额度未知' : buckets.map((b) => windowName(b) + ' ' + (b.disabled ? '已停用' : percentage(b) === undefined ? '额度未知' : Math.round(percentage(b)) + '% 剩余')).join(' · ')
|
|
558
647
|
const title = String(model ?? '未选择模型') + ' · ' + label + (quota.data?.stale ? ' · 缓存数据' : '')
|
|
@@ -741,7 +830,7 @@ window.__ModuleLoader__.load({
|
|
|
741
830
|
id: 'antigravity-acp',
|
|
742
831
|
order: 42,
|
|
743
832
|
label: () => 'Antigravity ACP',
|
|
744
|
-
inject: () => ({ remote: ctx.remote,
|
|
833
|
+
inject: () => ({ remote: ctx.remote, control }),
|
|
745
834
|
},
|
|
746
835
|
AntigravitySettingsCard,
|
|
747
836
|
),
|
package/dist/index.js
CHANGED
|
@@ -505,7 +505,12 @@ export function apply(ctx, config) {
|
|
|
505
505
|
if (metadata)
|
|
506
506
|
worker.importMetadata(metadata);
|
|
507
507
|
workers.push(worker);
|
|
508
|
-
return {
|
|
508
|
+
return {
|
|
509
|
+
adapter: worker,
|
|
510
|
+
ensureImages: (signal) => worker.prepareImages(signal),
|
|
511
|
+
read: () => lifecycle.read(),
|
|
512
|
+
dispose: () => disposeAcpRuntime(active),
|
|
513
|
+
};
|
|
509
514
|
}, {
|
|
510
515
|
capacity: config.maxConcurrentSessions,
|
|
511
516
|
queueTimeoutMs: config.queueTimeoutMs,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import type { AntigravityAcpAdapter } from '../adapter/antigravity-adapter.js';
|
|
|
5
5
|
/** Workers own independent transports, bridges and prompt state. No tool execution lives here. */
|
|
6
6
|
export interface AcpWorker {
|
|
7
7
|
adapter: Pick<AntigravityAcpAdapter, 'busy' | 'stream' | 'listModels' | 'resolveModel' | 'warmup' | 'discoverModels'> & Partial<Pick<AntigravityAcpAdapter, 'prepareCall'>>;
|
|
8
|
+
ensureImages?: (signal?: AbortSignal) => Promise<void>;
|
|
8
9
|
read(): AcpLifecycleSnapshot;
|
|
9
10
|
dispose(): Promise<void>;
|
|
10
11
|
}
|
|
@@ -32,7 +32,22 @@ export class PooledAcpAdapter extends LlmAdapter {
|
|
|
32
32
|
}
|
|
33
33
|
async resolveModel(provider, model, signal) {
|
|
34
34
|
const models = await Promise.all(this.slots.map(s => s.worker.adapter.resolveModel(provider, model, signal)));
|
|
35
|
-
|
|
35
|
+
const first = models[0];
|
|
36
|
+
if (!first)
|
|
37
|
+
throw new LlmError('ACP 没有可用的模型元数据', 'AGY_MODEL_UNAVAILABLE');
|
|
38
|
+
const known = models.find(m => m.name !== m.id);
|
|
39
|
+
const reasoning = mergeReasoning(models);
|
|
40
|
+
const modalities = models.every(m => m.inputModalities !== undefined)
|
|
41
|
+
? models.map(m => m.inputModalities).reduce((supported, entries) => supported.filter(entry => entries.includes(entry)))
|
|
42
|
+
: undefined;
|
|
43
|
+
return {
|
|
44
|
+
...first,
|
|
45
|
+
inputModalities: undefined,
|
|
46
|
+
...(modalities === undefined ? {} : { inputModalities: modalities }),
|
|
47
|
+
...(known ? { name: known.name, ...(known.description === undefined ? {} : { description: known.description }) } : {}),
|
|
48
|
+
...(models.some(m => m.context !== undefined) ? { context: models.find(m => m.context !== undefined).context } : {}),
|
|
49
|
+
...(reasoning ? { reasoning } : {}),
|
|
50
|
+
};
|
|
36
51
|
}
|
|
37
52
|
/** Recheck capabilities when host services change, without interrupting active callers. */
|
|
38
53
|
invalidatePreparation() {
|
|
@@ -89,12 +104,15 @@ export class PooledAcpAdapter extends LlmAdapter {
|
|
|
89
104
|
}
|
|
90
105
|
async *stream(options) {
|
|
91
106
|
const slot = await this.acquire(options, options.signal);
|
|
92
|
-
slot.owner = { sessionId: options.sessionId, purpose: options.purpose };
|
|
93
|
-
// 粘住承载该对话的 worker:ACP 会话复用记录在 worker 内部。
|
|
94
|
-
const affinityKey = this.affinityKey(options);
|
|
95
|
-
if (affinityKey !== undefined)
|
|
96
|
-
this.rememberAffinity(affinityKey, this.slots.indexOf(slot));
|
|
97
107
|
try {
|
|
108
|
+
// 握手失败或取消也必须归还槽位,不能让池被一次图片准备错误耗尽。
|
|
109
|
+
if (slot.worker.ensureImages && hasImageInput(options))
|
|
110
|
+
await slot.worker.ensureImages(options.signal);
|
|
111
|
+
slot.owner = { sessionId: options.sessionId, purpose: options.purpose };
|
|
112
|
+
// 粘住承载该对话的 worker:ACP 会话复用记录在 worker 内部。
|
|
113
|
+
const affinityKey = this.affinityKey(options);
|
|
114
|
+
if (affinityKey !== undefined)
|
|
115
|
+
this.rememberAffinity(affinityKey, this.slots.indexOf(slot));
|
|
98
116
|
yield* slot.worker.adapter.stream(options);
|
|
99
117
|
}
|
|
100
118
|
finally {
|
|
@@ -301,6 +319,22 @@ export class PooledAcpAdapter extends LlmAdapter {
|
|
|
301
319
|
}
|
|
302
320
|
}
|
|
303
321
|
}
|
|
322
|
+
function hasImageInput(options) {
|
|
323
|
+
return options.messages.some(message => message.role === 'tool'
|
|
324
|
+
? message.content.some(block => block.type === 'image')
|
|
325
|
+
: Array.isArray(message.content) && message.content.some(block => block.type === 'image'));
|
|
326
|
+
}
|
|
327
|
+
const effortOrder = { low: 0, medium: 1, high: 2 };
|
|
328
|
+
function mergeReasoning(models) {
|
|
329
|
+
const known = models.filter(model => model.reasoning !== undefined);
|
|
330
|
+
if (known.length === 0)
|
|
331
|
+
return undefined;
|
|
332
|
+
const efforts = [...new Map(known.flatMap(model => model.reasoning.efforts).map(entry => [entry.id.toString(), entry])).values()]
|
|
333
|
+
.sort((a, b) => (effortOrder[a.id.toString()] ?? 99) - (effortOrder[b.id.toString()] ?? 99));
|
|
334
|
+
const preferred = known.map(model => model.reasoning.defaultEffort?.toString()).find(value => value !== undefined);
|
|
335
|
+
const fallback = efforts.find(entry => entry.id.toString() === preferred) ?? efforts.find(entry => entry.id.toString() === 'medium');
|
|
336
|
+
return { efforts, ...(fallback ? { defaultEffort: fallback.id } : {}) };
|
|
337
|
+
}
|
|
304
338
|
function waitWithSignal(promise, signal) {
|
|
305
339
|
if (!signal)
|
|
306
340
|
return promise;
|