fix: align DeepSeek Harness model selection

DeepSeek Harness previously required a separate Runtime model selection when no administrator-provided connection was available, even if the user had already selected a compatible GoodBuddy model. It now prefers the administrator connection, then follows the compatible default model or first compatible connection across conversations, projects, and messaging channels.

Release note: 修复 DeepSeek Harness 未自动使用已选兼容模型的问题;没有管理员预置连接时,现在会跟随当前默认或首个兼容模型,无需再到 Harness 页面重复指定。
This commit is contained in:
mesalogo
2026-09-02 16:45:42 +08:00
parent 42cbfa43f1
commit 5fac1d3c41
6 changed files with 123 additions and 14 deletions
+3 -1
View File
@@ -3057,7 +3057,9 @@ describe('SettingsPanel runtime files', () => {
)
expect(screen.queryByRole('radio')).not.toBeInTheDocument()
expect(
screen.getByText('管理员预置的 OpenAI 兼容连接')
screen.getByText(
'自动选择:优先使用管理员预置连接,否则跟随当前兼容模型'
)
).toBeInTheDocument()
const source = screen.getByLabelText(
'DeepSeek Harness OpenAI 兼容模型连接'
@@ -395,12 +395,12 @@ export const settings = {
description:
'GoodBuddy maintains the fixed Host and control protocol internally and uses pinned Harness libraries underneath. Ask can call native read/skill plus enabled Web Search/Fetch, while Execute can use every enabled tool and DSH plugin capability. Cancellation and workspace boundaries remain in place.',
managedSource:
'Administrator-provided OpenAI-compatible connection',
'Automatic: prefer the administrator connection, otherwise follow a compatible current model',
connection: 'OpenAI-compatible model connection',
connectionPlaceholder:
'Select an OpenAI-compatible model connection',
'Automatically select a compatible model connection',
connectionDescription:
'Choose a GoodBuddy model connection. It must use OpenAI Chat Completions with API-key authentication.',
'Optionally select a GoodBuddy model connection. Otherwise GoodBuddy uses the administrator connection, the compatible current default, or the first compatible connection. It must use OpenAI Chat Completions with API-key authentication.',
advancedDescription:
'This Runtime always uses GoodBuddy’s bundled, version-pinned Host and does not load user profiles or custom Hosts. GoodBuddy manages enabled marketplace plugins and loads them with the Host.',
marketplace: {
@@ -362,11 +362,12 @@ export const settings = {
previewDescription: '开发者预览 · OpenAI 兼容',
description:
'由 GoodBuddy 内部维护固定 Host 与控制协议,复用锁定的 Harness 底层库;Ask 可调用 Harness 原生 read/skill 与已启用的网页搜索/抓取,Execute 可调用全部已启用工具及 DSH 插件能力,并保留取消和工作区边界。',
managedSource: '管理员预置的 OpenAI 兼容连接',
managedSource:
'自动选择:优先使用管理员预置连接,否则跟随当前兼容模型',
connection: 'OpenAI 兼容模型连接',
connectionPlaceholder: '选择 OpenAI 兼容模型连接',
connectionPlaceholder: '自动选择兼容模型连接',
connectionDescription:
'从 GoodBuddy 模型连接中选择;协议必须为 OpenAI Chat Completions,并使用 API Key。',
'可从 GoodBuddy 模型连接中显式指定;未指定时自动使用管理员预置连接、当前默认兼容连接或首个兼容连接。协议必须为 OpenAI Chat Completions,并使用 API Key。',
advancedDescription:
'该 Runtime 始终使用 GoodBuddy 内置并固定版本的 Host,不加载用户 profile 或自定义 Host;已启用的市场插件由 GoodBuddy 托管并随 Host 启动。',
marketplace: {