feat: add native runtime customization

OpenCode and Continue customization was previously planned but unavailable, and Runtime-native capabilities were not represented consistently across providers. GoodBuddy now provides secure Main-owned customization settings, truthful native inventories, OpenCode Agents and Commands, Continue Rules and Prompts, DSH Web Search/Fetch, MCP Prompt and Resource metadata, and manual compaction where supported.

Native capabilities are presented in eleven accessible tabs with Tools separated from Commands, LSP, and Formatters. Tool source and Ask/Execute availability are explicit, external OpenCode remains connection-only, Continue reports unsupported static tool discovery instead of advertising unreachable Skills, and disposable inventory probes avoid retaining background runtimes.

Ask remains read-only at the Runtime boundary, Execute keeps the existing authorization controls, and credentials remain confined to Main.

Release note: 新增 OpenCode、Continue 与 DeepSeek Harness 的 Runtime 原生定制与真实能力清单;工具来源、Ask/Execute 可用性、上下文压缩和 MCP 元数据现在可清晰查看,同时继续保持 Main 进程凭据保护与现有权限边界。
This commit is contained in:
mesalogo
2026-08-16 17:08:46 +08:00
parent ff61b5f81d
commit b56b0f8826
55 changed files with 9059 additions and 433 deletions
+6 -4
View File
@@ -123,7 +123,7 @@ export function createModelProfileRuntime(
defaultWorkspace: string,
settings: ResolvedRuntimeSettings,
profile: ResolvedModelProfile
): AgentRuntime {
): ModelAgentRuntime {
return new ModelAgentRuntime({
apiKey: profile.apiKey,
baseUrl: profile.baseUrl,
@@ -182,7 +182,7 @@ export function createAgentRuntime(
capabilities.mcpServers,
undefined,
capabilities.knowledgeGateway,
false
capabilities.webSearchEnabled === true
)
})
}
@@ -219,7 +219,8 @@ export function createAgentRuntime(
'',
launchHost: capabilities.continueHostLauncher,
knowledgeGateway: capabilities.knowledgeGateway,
mcpServers: capabilities.mcpServers
mcpServers: capabilities.mcpServers,
customization: settings?.runtimeCustomization.continue
})
}
@@ -251,7 +252,8 @@ export function createAgentRuntime(
skillPackages: capabilities.skillPackages,
defaultWorkspace: workspace,
knowledgeGateway: capabilities.knowledgeGateway,
mcpServers: capabilities.mcpServers
mcpServers: capabilities.mcpServers,
customization: settings?.runtimeCustomization.opencode
})
}