dsh-bundle-antigravity-host 0.1.26 → 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 +81 -33
- package/dist/adapter/antigravity-adapter.js.map +1 -1
- package/dist/adapter/permission-handoff.d.ts +5 -0
- package/dist/adapter/permission-handoff.js +8 -29
- package/dist/adapter/permission-handoff.js.map +1 -1
- package/dist/adapter/prompt-turn.d.ts +0 -7
- package/dist/adapter/prompt-turn.js +2 -20
- package/dist/adapter/prompt-turn.js.map +1 -1
- package/dist/client.js +190 -91
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/pool/pooled-adapter.d.ts +1 -0
- package/dist/pool/pooled-adapter.js +41 -7
- 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/dist/runtime/credits.js +1 -1
- package/dist/runtime/credits.js.map +1 -1
- package/docs/changelog.md +16 -0
- package/docs/configuration.md +4 -2
- package/docs/development.md +10 -4
- package/docs/reference.md +9 -5
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permission-handoff.js","sourceRoot":"","sources":["../../src/adapter/permission-handoff.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"permission-handoff.js","sourceRoot":"","sources":["../../src/adapter/permission-handoff.ts"],"names":[],"mappings":"AAQA,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,CAAC,CAAC,KAAgC;QAClC,CAAC,CAAC,SAAS,CAAA;AACf,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,OAAiC,EACjC,OAAgF;IAEhF,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU;QAAE,OAAO,SAAS,CAAA;IAC7F,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;IACrD,qDAAqD;IACrD,oDAAoD;IACpD,kCAAkC;IAClC,MAAM,UAAU,GAAG,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAA;IAClD,MAAM,IAAI,GAAG,UAAU;QACrB,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;QACxG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,KAAK,OAAO,IAAI,CAAC,IAAI,GAAG;eACxE,OAAO,CAAC,QAAQ,CAAC,KAAK,KAAK,OAAO,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;IAC5E,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAA;IAC3B,qCAAqC;IACrC,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAA;IAClC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAA;IACpF,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAA;IAE7E,uCAAuC;IACvC,sCAAsC;IACtC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,CAAA;IAC9D,MAAM,IAAI,GAAG,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC;QAC/D,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,CAAA;IACpC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAA;AAC7D,CAAC"}
|
|
@@ -65,13 +65,6 @@ export interface PromptTurnOptions {
|
|
|
65
65
|
unknownCount: number;
|
|
66
66
|
}): void;
|
|
67
67
|
}
|
|
68
|
-
/**
|
|
69
|
-
* 同一回合重复拒绝的保护上限(历史导出名保留)。
|
|
70
|
-
*
|
|
71
|
-
* 计数包含 ACP permission 和原生客户端请求;超过上限仅说明重复请求了未授予的
|
|
72
|
-
* 能力,不足以证明它在绕开工具桥。首次若干次只拒绝、不掐回合。
|
|
73
|
-
*/
|
|
74
|
-
export declare const NATIVE_REFUSAL_LIMIT = 3;
|
|
75
68
|
export declare class PromptTurn {
|
|
76
69
|
#private;
|
|
77
70
|
/** ACP 会话 id。 */
|
|
@@ -34,13 +34,6 @@ export const AGY_TURN_ERROR = {
|
|
|
34
34
|
};
|
|
35
35
|
/** 未分类的意外状态(link 关闭、agent 异常取消等)在此码下归一。 */
|
|
36
36
|
export const AGY_TURN_UNEXPECTED = 'AGY_UNEXPECTED';
|
|
37
|
-
/**
|
|
38
|
-
* 同一回合重复拒绝的保护上限(历史导出名保留)。
|
|
39
|
-
*
|
|
40
|
-
* 计数包含 ACP permission 和原生客户端请求;超过上限仅说明重复请求了未授予的
|
|
41
|
-
* 能力,不足以证明它在绕开工具桥。首次若干次只拒绝、不掐回合。
|
|
42
|
-
*/
|
|
43
|
-
export const NATIVE_REFUSAL_LIMIT = 3;
|
|
44
37
|
export class PromptTurn {
|
|
45
38
|
/** ACP 会话 id。 */
|
|
46
39
|
sessionId;
|
|
@@ -53,7 +46,7 @@ export class PromptTurn {
|
|
|
53
46
|
#parked = [];
|
|
54
47
|
#settledWaiters = [];
|
|
55
48
|
#onConfigOptions;
|
|
56
|
-
/**
|
|
49
|
+
/** 本回合内被拒绝的原生能力索要次数,仅用于诊断。 */
|
|
57
50
|
#nativeRefusals = 0;
|
|
58
51
|
#onNativeRefusal;
|
|
59
52
|
#onPermissionDiagnostic;
|
|
@@ -189,21 +182,10 @@ export class PromptTurn {
|
|
|
189
182
|
handleUnexpectedAgentRequest(method) {
|
|
190
183
|
this.#recordNativeRefusal('request', method);
|
|
191
184
|
}
|
|
192
|
-
/**
|
|
185
|
+
/** 操作照常拒绝并记录,不把拒绝次数升级为整个对话失败。 */
|
|
193
186
|
#recordNativeRefusal(kind, detail) {
|
|
194
187
|
this.#nativeRefusals += 1;
|
|
195
188
|
this.#onNativeRefusal?.({ kind, detail, count: this.#nativeRefusals });
|
|
196
|
-
if (this.#nativeRefusals <= NATIVE_REFUSAL_LIMIT)
|
|
197
|
-
return;
|
|
198
|
-
this.#fail(kind === 'permission'
|
|
199
|
-
? {
|
|
200
|
-
code: AGY_TURN_ERROR.PERMISSION_DENIED,
|
|
201
|
-
message: `Antigravity ACP 反复请求工具执行授权(${detail},本回合第 ${this.#nativeRefusals} 次):当前拒绝规则未授予权限,桥调用身份需另行核验`,
|
|
202
|
-
}
|
|
203
|
-
: {
|
|
204
|
-
code: AGY_TURN_ERROR.NATIVE_ACTIVITY_REFUSED,
|
|
205
|
-
message: `Antigravity ACP 反复发起未预期的原生请求 ${detail}(本回合第 ${this.#nativeRefusals} 次):本插件已关闭 fs/terminal 能力,工具一律经私有 MCP 桥暴露`,
|
|
206
|
-
});
|
|
207
189
|
}
|
|
208
190
|
/**
|
|
209
191
|
* 启动 session/prompt 并驱动回合收尾(不阻塞调用方)。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-turn.js","sourceRoot":"","sources":["../../src/adapter/prompt-turn.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prompt-turn.js","sourceRoot":"","sources":["../../src/adapter/prompt-turn.ts"],"names":[],"mappings":"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"}
|
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)
|
|
@@ -104,17 +167,23 @@ window.__ModuleLoader__.load({
|
|
|
104
167
|
const modelVersion = React.useRef(0)
|
|
105
168
|
const accountVersion = React.useRef(0)
|
|
106
169
|
const polling = React.useRef(false)
|
|
170
|
+
const manualModelPull = React.useRef(false)
|
|
107
171
|
const pullModels = React.useCallback(async (force = false) => {
|
|
108
|
-
if (!props.control) return
|
|
172
|
+
if (!props.control || manualModelPull.current) return
|
|
173
|
+
if (force) manualModelPull.current = true
|
|
109
174
|
const version = ++modelVersion.current
|
|
110
175
|
setModelBusy(true)
|
|
176
|
+
if (force) setModelMessage('正在拉取模型目录…')
|
|
111
177
|
try {
|
|
112
178
|
const value = unwrap(await props.control('models', force ? { force: true } : undefined))
|
|
113
179
|
if (!alive.current || version !== modelVersion.current) return
|
|
114
180
|
setModels(value.models ?? [])
|
|
115
181
|
setModelMessage(value.status === 'error' ? value.message : (value.models?.length ? '目录已更新;不会自动替换当前会话的已选模型。' : '暂无模型目录。连接 / 登录 ACP 可验证会话并读取目录;也可从已登录的官方 CLI 拉取。'))
|
|
116
182
|
} catch (error) { if (alive.current && version === modelVersion.current) setModelMessage(error instanceof Error ? error.message : String(error)) }
|
|
117
|
-
finally {
|
|
183
|
+
finally {
|
|
184
|
+
if (force) manualModelPull.current = false
|
|
185
|
+
if (alive.current && version === modelVersion.current) setModelBusy(false)
|
|
186
|
+
}
|
|
118
187
|
}, [props.control])
|
|
119
188
|
const accountAction = React.useCallback(async (action = 'status') => {
|
|
120
189
|
if (!props.control) return
|
|
@@ -285,73 +354,85 @@ window.__ModuleLoader__.load({
|
|
|
285
354
|
setStatus({ kind: 'ok', text: '已撤销未保存的修改,恢复为当前宿主设置。' })
|
|
286
355
|
}
|
|
287
356
|
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
{ style: {
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
h('
|
|
305
|
-
|
|
306
|
-
|
|
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))),
|
|
307
384
|
h('div', { style: { display: 'flex', flexWrap: 'wrap', gap: '8px' } },
|
|
308
|
-
h('button', { type: 'button', style:
|
|
309
|
-
h('button', { type: 'button', style: ACTION, disabled: !props.control ||
|
|
310
|
-
['connecting', 'cancelling'].includes(account?.state) ? h('button', { type: 'button', style: ACTION, disabled: account?.state === 'cancelling', onClick: () => accountAction('cancel') }, '取消连接') : null),
|
|
311
|
-
h('p', { style: { opacity: .
|
|
312
|
-
|
|
313
|
-
h('section', { style:
|
|
314
|
-
h(
|
|
315
|
-
h('
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
h('
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
{
|
|
327
|
-
h('span', null, field.label),
|
|
328
|
-
h('input', {
|
|
329
|
-
name: field.key,
|
|
330
|
-
type: field.checkbox ? 'checkbox' : field.numeric ? 'number' : 'text',
|
|
331
|
-
...(field.numeric ? { min: field.min, max: field.max, step: 1 } : {}),
|
|
332
|
-
disabled: editingDisabled,
|
|
333
|
-
...(field.checkbox ? { checked: draft[field.key] === true } : { value: draft[field.key] ?? '' }),
|
|
334
|
-
placeholder: field.placeholder,
|
|
335
|
-
style: field.checkbox ? { alignSelf: 'flex-start' } : { ...ACTION, cursor: 'text', width: '100%', boxSizing: 'border-box' },
|
|
336
|
-
onChange: (event) => editField(field.key, field.checkbox ? event.target.checked
|
|
337
|
-
: field.numeric && event.target.value !== '' ? Number(event.target.value) : event.target.value),
|
|
338
|
-
}),
|
|
339
|
-
h('small', { style: { opacity: 0.7 } }, field.hint),
|
|
340
|
-
)),
|
|
341
|
-
h(
|
|
342
|
-
'div',
|
|
343
|
-
{ style: { display: 'flex', flexWrap: 'wrap', gap: '8px', alignItems: 'center' } },
|
|
344
|
-
h('button', { type: 'button', onClick: save, disabled: editingDisabled || dirtyKeys.length === 0, style: ACTION }, saving ? '保存中…' : '保存'),
|
|
345
|
-
h('button', { type: 'button', disabled: loading || saving, onClick: () => reload(), style: ACTION }, loading ? '刷新中…' : '刷新配置'),
|
|
346
|
-
dirtyKeys.length ? h('button', { type: 'button', disabled: loading || saving, onClick: discardDraft, style: ACTION }, '撤销未保存修改') : null,
|
|
347
|
-
),
|
|
348
|
-
!loading && view && !writable ? h('p', { role: 'status', style: { margin: 0, fontSize: '12px', opacity: .7 } }, '当前设置为只读,请在有写入权限的宿主中修改。') : null,
|
|
349
|
-
dirtyKeys.length ? h('p', { role: 'status', style: { margin: 0, fontSize: '12px', opacity: .7 } }, '有 ' + dirtyKeys.length + ' 项未保存的修改;刷新会保留这些输入。') : null,
|
|
350
|
-
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,
|
|
351
|
-
status ? h('p', { role: status.kind === 'error' ? 'alert' : 'status', style: { margin: 0, color: status.kind === 'error' ? '#e5534b' : undefined } }, status.text) : null,
|
|
352
|
-
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),
|
|
353
404
|
|
|
354
|
-
|
|
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 请在对话输入框旁的额度药丸中查看,此处不再重复展示。')))
|
|
355
436
|
}
|
|
356
437
|
|
|
357
438
|
/**
|
|
@@ -363,7 +444,10 @@ window.__ModuleLoader__.load({
|
|
|
363
444
|
|
|
364
445
|
const TRACK = 'rgba(128,128,128,.18)'
|
|
365
446
|
const CARD = { padding: '12px', borderRadius: '12px', border: '1px solid rgba(128,128,128,.18)', background: 'rgba(128,128,128,.05)' }
|
|
366
|
-
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 }
|
|
367
451
|
const GROUPS = [{ key: 'gemini', name: 'Gemini' }, { key: 'claude', name: 'Claude / GPT' }, { key: 'argon', name: 'Gemini 4 Argon' }]
|
|
368
452
|
function groupKey(name) {
|
|
369
453
|
const text = String(name ?? '').toLowerCase()
|
|
@@ -420,23 +504,29 @@ window.__ModuleLoader__.load({
|
|
|
420
504
|
const [data, setData] = React.useState(null)
|
|
421
505
|
const [refreshing, setRefreshing] = React.useState(false)
|
|
422
506
|
const version = React.useRef(0)
|
|
507
|
+
const update = React.useCallback((value) => setData(value), [])
|
|
423
508
|
const load = React.useCallback((force = false) => {
|
|
424
509
|
if (!enabled || !readQuota) return Promise.resolve()
|
|
425
510
|
const current = ++version.current
|
|
426
511
|
setRefreshing(true)
|
|
427
512
|
return Promise.resolve().then(() => readQuota(force)).then(unwrap).then((value) => {
|
|
428
|
-
if (current === version.current)
|
|
513
|
+
if (current === version.current) update(value)
|
|
429
514
|
}).catch((error) => {
|
|
430
|
-
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
|
+
}
|
|
431
521
|
}).finally(() => { if (current === version.current) setRefreshing(false) })
|
|
432
|
-
}, [readQuota, enabled])
|
|
522
|
+
}, [readQuota, enabled, update])
|
|
433
523
|
React.useEffect(() => {
|
|
434
524
|
if (!enabled || !readQuota) { setData(null); return undefined }
|
|
435
525
|
void load(false)
|
|
436
|
-
const off = readQuota.subscribe?.((value) =>
|
|
526
|
+
const off = readQuota.subscribe?.((value) => { ++version.current; update(value) })
|
|
437
527
|
const timer = setInterval(() => { if (typeof document === 'undefined' || document.visibilityState !== 'hidden') void load(false) }, 300_000)
|
|
438
528
|
return () => { ++version.current; clearInterval(timer); off?.() }
|
|
439
|
-
}, [load, enabled, readQuota])
|
|
529
|
+
}, [load, enabled, readQuota, update])
|
|
440
530
|
return { data, refreshing, load }
|
|
441
531
|
}
|
|
442
532
|
function CreditsDetails({ credits, pending }) {
|
|
@@ -546,7 +636,12 @@ window.__ModuleLoader__.load({
|
|
|
546
636
|
return () => { document.removeEventListener('pointerdown', outside); document.removeEventListener('keydown', key); window.removeEventListener('resize', reposition); window.removeEventListener('scroll', reposition, true) }
|
|
547
637
|
}, [expanded])
|
|
548
638
|
if (!enabled) return null
|
|
549
|
-
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)
|
|
550
645
|
const buckets = group?.buckets ?? []
|
|
551
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(' · ')
|
|
552
647
|
const title = String(model ?? '未选择模型') + ' · ' + label + (quota.data?.stale ? ' · 缓存数据' : '')
|
|
@@ -626,7 +721,11 @@ window.__ModuleLoader__.load({
|
|
|
626
721
|
const deadline = Date.now() + 20_000
|
|
627
722
|
for (;;) {
|
|
628
723
|
const service = scope.get('remote.agyQuota')
|
|
629
|
-
if (typeof service?.[method] === 'function')
|
|
724
|
+
if (typeof service?.[method] === 'function') {
|
|
725
|
+
const pending = service[method](request)
|
|
726
|
+
// 目录发现可能包含冷启动;各阶段超时由 Host 管理,客户端不另设更短的总期限。
|
|
727
|
+
return method === 'models' ? await pending : await withTimeout(pending, 60_000, '设置操作超时,请重试')
|
|
728
|
+
}
|
|
630
729
|
if (Date.now() >= deadline) throw new Error('设置控制服务未就绪,请确认 Host 与 Client 版本一致')
|
|
631
730
|
await new Promise((resolve) => setTimeout(resolve, 500))
|
|
632
731
|
}
|
|
@@ -731,7 +830,7 @@ window.__ModuleLoader__.load({
|
|
|
731
830
|
id: 'antigravity-acp',
|
|
732
831
|
order: 42,
|
|
733
832
|
label: () => 'Antigravity ACP',
|
|
734
|
-
inject: () => ({ remote: ctx.remote,
|
|
833
|
+
inject: () => ({ remote: ctx.remote, control }),
|
|
735
834
|
},
|
|
736
835
|
AntigravitySettingsCard,
|
|
737
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,
|
|
@@ -535,8 +540,9 @@ export function apply(ctx, config) {
|
|
|
535
540
|
if (force) {
|
|
536
541
|
if (findCli())
|
|
537
542
|
await loadCliModels(true);
|
|
543
|
+
// 排队、启动握手和 session/new 各自已有超时,不再用普通请求预算截断整个冷启动。
|
|
538
544
|
else
|
|
539
|
-
await adapter.discoverModels(
|
|
545
|
+
await adapter.discoverModels(undefined, false);
|
|
540
546
|
}
|
|
541
547
|
return adapter.listModels(AGY_PROVIDER_ID);
|
|
542
548
|
},
|