@tencent-ai/agent-harness 0.2.0-beta.10 → 0.2.0-beta.11
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/CHANGELOG.md +9 -0
- package/cli/CHANGELOG.md +42 -0
- package/cli/dist-server/shared.cjs +316 -315
- package/cli/dist-server/types/node/agent/agent-controller.d.ts +1 -0
- package/cli/dist-server/types/node/agent/index.d.ts +1 -0
- package/cli/dist-server/types/node/agent/interceptors/image-interceptors.d.ts +1 -2
- package/cli/dist-server/types/node/agent/interceptors/sandbox-interceptor.d.ts +1 -0
- package/cli/dist-server/types/node/agent/steer-model-input-preparer.d.ts +11 -0
- package/cli/dist-server/types/node/agent-task/agent-task.d.ts +12 -0
- package/cli/dist-server/types/node/agent-team/backends/teammate-backend-protocol.d.ts +2 -0
- package/cli/dist-server/types/node/agent-view/session-handoff.d.ts +7 -0
- package/cli/dist-server/types/node/channel/channel-protocol.d.ts +8 -8
- package/cli/dist-server/types/node/cli/cli-runtime-options.d.ts +24 -1
- package/cli/dist-server/types/node/command/clear-command-executor.d.ts +2 -0
- package/cli/dist-server/types/node/hooks/hook-protocol.d.ts +3 -67
- package/cli/dist-server/types/node/loopback/endpoint-provider.d.ts +3 -0
- package/cli/dist-server/types/node/loopback/server-protocol.d.ts +7 -0
- package/cli/dist-server/types/node/memory/memory-relevance-protocol.d.ts +6 -1
- package/cli/dist-server/types/node/memory/memory-relevance-service.d.ts +3 -2
- package/cli/dist-server/types/node/model/model-protocol.d.ts +4 -0
- package/cli/dist-server/types/node/security-review/gate.d.ts +1 -0
- package/cli/dist-server/types/node/security-review/protocol.d.ts +2 -0
- package/cli/dist-server/types/node/session/session-hook-host-adapter.d.ts +2 -2
- package/cli/dist-server/types/node/settings/current-session-model-transition.d.ts +5 -4
- package/cli/dist-server/types/node/settings/settings-protocol.d.ts +2 -0
- package/cli/dist-server/types/node/tools/a2a-cancel-task-tool.d.ts +4 -4
- package/cli/dist-server/types/node/tools/a2a-get-task-tool.d.ts +4 -4
- package/cli/dist-server/types/node/tools/audio-transcribe-tool.d.ts +1 -2
- package/cli/dist-server/types/node/tools/grep-tool.d.ts +2 -0
- package/cli/dist-server/types/node/tools/image-service.d.ts +3 -1
- package/cli/dist-server/types/node/tools/index.d.ts +1 -0
- package/cli/dist-server/types/node/tools/media-file-writer.d.ts +12 -0
- package/cli/dist-server/types/node/tools/multi-edit-tool.d.ts +4 -4
- package/cli/dist-server/types/node/tools/powershell-tool.d.ts +2 -0
- package/cli/dist-server/types/node/tools/send-message-tool.d.ts +2 -2
- package/cli/dist-server/types/node/tools/tool-hook-manager.d.ts +2 -2
- package/cli/dist-server/types/node/tools/tool-manager.d.ts +1 -0
- package/cli/dist-server/types/node/tools/tool-protocol.d.ts +2 -2
- package/cli/dist-server/types/node/tools/video-service.d.ts +2 -0
- package/cli/dist-server/types/node/tools/wecom-reply-tool.d.ts +2 -2
- package/cli/dist-server/types/vendor/cbc-core/node/agent/agent-protocol.d.ts +12 -0
- package/cli/dist-server/types/vendor/cbc-core/node/agent/agent-service.d.ts +11 -0
- package/cli/dist-server/types/vendor/cbc-core/node/agent/index.d.ts +1 -0
- package/cli/dist-server/types/vendor/cbc-core/node/agent/runner-factory.d.ts +6 -0
- package/cli/dist-server/types/vendor/cbc-core/node/context/compact-strategy-base.d.ts +17 -5
- package/cli/dist-server/types/vendor/cbc-core/node/context/pre-switch-model.d.ts +34 -0
- package/cli/dist-server/types/vendor/cbc-core/node/hooks/hook-protocol.d.ts +118 -3
- package/cli/dist-server/types/vendor/cbc-core/node/message-queue/index.d.ts +1 -0
- package/cli/dist-server/types/vendor/cbc-core/node/message-queue/injectable-content.d.ts +15 -18
- package/cli/dist-server/types/vendor/cbc-core/node/message-queue/steer-input-buffer-protocol.d.ts +12 -13
- package/cli/dist-server/types/vendor/cbc-core/node/message-queue/steer-input-buffer.d.ts +1 -2
- package/cli/dist-server/types/vendor/cbc-core/node/message-queue/steer-model-input-preparer-protocol.d.ts +13 -0
- package/cli/dist-server/types/vendor/cbc-core/node/session/interruption-service.d.ts +11 -0
- package/cli/dist-server/types/vendor/cbc-core/node/session/session-fork-guard.d.ts +2 -1
- package/cli/dist-server/types/vendor/cbc-core/node/session/session-hook-manager.d.ts +2 -2
- package/cli/dist-server/types/vendor/cbc-core/node/session/session-manager.d.ts +9 -0
- package/cli/dist-server/types/vendor/cbc-core/node/session/session-protocol.d.ts +9 -2
- package/cli/dist-server/types/vendor/cbc-core/node/session/session-store.d.ts +3 -3
- package/cli/dist-server/types/vendor/cbc-core/node/trace/trace-turn-gate.d.ts +13 -0
- package/cli/dist-server/types/vendor/cbc-core/node/utils/error-utils.d.ts +7 -0
- package/cli/dist-server/types/vendor/cbc-core/node/utils/index.d.ts +2 -0
- package/cli/dist-server/types/vendor/cbc-core/node/utils/markdown-code-utils.d.ts +15 -0
- package/cli/dist-server/types/vendor/cbc-core/node/utils/message-content-utils.d.ts +3 -1
- package/cli/dist-server/types/vendor/cbc-core/node/utils/responses-api-utils.d.ts +21 -0
- package/cli/dist-server/types/vendor/cbc-core/node/utils/session-utils.d.ts +20 -0
- package/cli/dist-server/types/vendor/cbc-core/node/utils/usage-utils.d.ts +18 -0
- package/cli/dist-server/types/vendor/cbc-shared/node/agent/openai-agents-types.d.ts +3 -1
- package/cli/dist-server/types/vendor/cbc-shared/node/index.d.ts +1 -0
- package/cli/dist-server/types/vendor/cbc-shared/node/logging/structured-event-log.d.ts +64 -0
- package/cli/dist-server/types/vendor/cbc-shared/node/model/model-errors.d.ts +10 -0
- package/cli/dist-server/types/workspace/authentication/lib/common/authentication-http-interceptor.d.ts +1 -15
- package/cli/dist-server/types/workspace/authentication/lib/common/authentication-manager.d.ts +13 -0
- package/cli/dist-server/types/workspace/authentication/lib/common/authentication-protocol.d.ts +7 -0
- package/cli/dist-server/types/workspace/authentication/lib/common/authentication-refresh-bypass.d.ts +9 -0
- package/cli/dist-server/types/workspace/authentication/lib/common/index.d.ts +1 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/agent/agent-protocol.d.ts +12 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/agent/agent-service.d.ts +11 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/agent/index.d.ts +1 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/agent/runner-factory.d.ts +6 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/context/compact-strategy-base.d.ts +17 -5
- package/cli/dist-server/types/workspace/cbc-core/lib/node/context/pre-switch-model.d.ts +34 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/hooks/hook-protocol.d.ts +118 -3
- package/cli/dist-server/types/workspace/cbc-core/lib/node/message-queue/index.d.ts +1 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/message-queue/injectable-content.d.ts +15 -18
- package/cli/dist-server/types/workspace/cbc-core/lib/node/message-queue/steer-input-buffer-protocol.d.ts +12 -13
- package/cli/dist-server/types/workspace/cbc-core/lib/node/message-queue/steer-input-buffer.d.ts +1 -2
- package/cli/dist-server/types/workspace/cbc-core/lib/node/message-queue/steer-model-input-preparer-protocol.d.ts +13 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/session/interruption-service.d.ts +11 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/session/session-fork-guard.d.ts +2 -1
- package/cli/dist-server/types/workspace/cbc-core/lib/node/session/session-hook-manager.d.ts +2 -2
- package/cli/dist-server/types/workspace/cbc-core/lib/node/session/session-manager.d.ts +9 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/session/session-protocol.d.ts +9 -2
- package/cli/dist-server/types/workspace/cbc-core/lib/node/session/session-store.d.ts +3 -3
- package/cli/dist-server/types/workspace/cbc-core/lib/node/trace/trace-turn-gate.d.ts +13 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/utils/error-utils.d.ts +7 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/utils/index.d.ts +2 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/utils/markdown-code-utils.d.ts +15 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/utils/message-content-utils.d.ts +3 -1
- package/cli/dist-server/types/workspace/cbc-core/lib/node/utils/responses-api-utils.d.ts +21 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/utils/session-utils.d.ts +20 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/utils/usage-utils.d.ts +18 -0
- package/cli/dist-server/types/workspace/cbc-daemon/lib/node/daemon/daemon-auto-restart.d.ts +2 -2
- package/cli/dist-server/types/workspace/cbc-daemon/lib/node/daemon/daemon-protocol.d.ts +17 -1
- package/cli/dist-server/types/workspace/cbc-plugins/lib/node/mods/engine/enable-flag.d.ts +28 -24
- package/cli/dist-server/types/workspace/cbc-plugins/lib/node/mods/loader/bootstrap.d.ts +2 -2
- package/cli/dist-server/types/workspace/cbc-shared/lib/node/agent/openai-agents-types.d.ts +3 -1
- package/cli/dist-server/types/workspace/cbc-shared/lib/node/index.d.ts +1 -0
- package/cli/dist-server/types/workspace/cbc-shared/lib/node/logging/structured-event-log.d.ts +64 -0
- package/cli/dist-server/types/workspace/cbc-shared/lib/node/model/model-errors.d.ts +10 -0
- package/cli/dist-server/types/workspace/core/lib/common/utils/env-utils.d.ts +12 -1
- package/cli/dist-server/types/workspace/product/lib/common/model-catalog/index.d.ts +2 -0
- package/cli/dist-server/types/workspace/product/lib/common/types/features.d.ts +36 -0
- package/cli/dist-server/types/workspace/product/lib/common/types/language-model.d.ts +7 -0
- package/cli/dist-server/types/workspace/sandbox-cli/lib/node/sandbox-center-client.d.ts +1 -1
- package/cli/dist-server/types/workspace/telemetry/lib/common/event/types/craft.d.ts +2 -1
- package/cli/dist-server/types/workspace/telemetry/lib/common/tracing/index.d.ts +2 -2
- package/cli/dist-server/types/workspace/telemetry/lib/common/tracing/otel-env.d.ts +16 -5
- package/cli/dist-server/types/workspace/telemetry/lib/common/tracing/trace-protocol.d.ts +9 -0
- package/cli/package.json +1 -1
- package/cli/product.cloudhosted.json +1 -1
- package/cli/product.internal.json +1 -1
- package/cli/product.ioa.json +1 -1
- package/cli/product.json +1 -1
- package/cli/product.selfhosted.json +1 -1
- package/cli/vendor/shim/node-safe-delete-shim.cjs +20 -3
- package/cli/vendor/shim/sitecustomize.py +17 -4
- package/docs/acp-v2.md +21 -2
- package/docs/client.md +44 -0
- package/docs/errors.md +1 -0
- package/docs/in-process.md +1 -0
- package/lib/agent/v2.js +1 -1
- package/lib/application/services.d.ts +1 -0
- package/lib/application/services.js +1 -1
- package/lib/cli/main.js +3 -3
- package/lib/cli/options.d.ts +2 -1
- package/lib/cli/options.js +4 -2
- package/lib/harness/runtime.js +1 -1
- package/lib/harness/types.d.ts +2 -0
- package/lib/runtime/component-protocol.js +1 -1
- package/package.json +9 -9
|
@@ -1,41 +1,45 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* cbc-mods 的入口开关。
|
|
3
3
|
*
|
|
4
|
-
* ##
|
|
4
|
+
* ## 默认开 —— 可用 env 显式关闭
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* 与官方 Claude Code 对齐:v2.1.287 起 mods 默认开启,不再需要 early access 的
|
|
7
|
+
* `CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1`。cbc 同样默认装配 `--plugin-dir` 与已装
|
|
8
|
+
* plugin 里的 function hooks。
|
|
9
9
|
*
|
|
10
|
-
*
|
|
11
|
-
* - `CBC_ENABLE_FUNCTION_HOOKS=
|
|
12
|
-
* - `CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=
|
|
10
|
+
* 显式关(任一 alias 显式关即整体关):
|
|
11
|
+
* - `CBC_ENABLE_FUNCTION_HOOKS=0` / `false` / `off` / `no`(大小写不敏感、允许前后空格)
|
|
12
|
+
* - `CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=0` 同上(兼容别名)
|
|
13
13
|
*
|
|
14
|
-
*
|
|
15
|
-
* - `CBC_ENABLE_FUNCTION_HOOKS=0` / `false` / `off` / `no`
|
|
16
|
-
* - `CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=0` 同上
|
|
17
|
-
*
|
|
18
|
-
* 任一 alias 显式关就整体关;两个都不显式开即视为**默认关**。
|
|
19
|
-
* 未识别的字符串(如 `maybe` / 空串)不算 ON,也不算 OFF —— 走默认关。
|
|
14
|
+
* 未设、空串、truthy 或未识别值(如 `maybe`)都按默认开处理。
|
|
20
15
|
*/
|
|
16
|
+
export declare const FUNCTION_HOOKS_ENV_VAR = "CBC_ENABLE_FUNCTION_HOOKS";
|
|
17
|
+
export declare const CLAUDE_COMPAT_ENV_VAR = "CLAUDE_CODE_ENABLE_FUNCTION_HOOKS";
|
|
18
|
+
/** 关闭 mod 隔离沙箱的 env 变量名(默认开,仅用于逃生)。 */
|
|
19
|
+
export declare const MODS_ISOLATE_ENV_VAR = "CBC_MODS_ISOLATE";
|
|
21
20
|
/**
|
|
22
21
|
* 判断当前环境是否启用 cbc-mods function hooks。
|
|
23
22
|
*
|
|
24
|
-
*
|
|
25
|
-
* - 任一 alias 显式关闭 → 关
|
|
26
|
-
* - 无显式关闭且至少一个显式开启 → 开
|
|
27
|
-
* - 其余(未设 / 空串 / 未识别值) → 关
|
|
23
|
+
* 语义:任一 alias 显式关闭 → 关;其余 → 开。
|
|
28
24
|
*/
|
|
29
25
|
export declare function isFunctionHooksEnabled(env?: NodeJS.ProcessEnv): boolean;
|
|
30
|
-
export declare const FUNCTION_HOOKS_ENV_VAR = "CBC_ENABLE_FUNCTION_HOOKS";
|
|
31
|
-
export declare const CLAUDE_COMPAT_ENV_VAR = "CLAUDE_CODE_ENABLE_FUNCTION_HOOKS";
|
|
32
|
-
/** 关闭 mod 隔离沙箱的 env 变量名(默认开,仅用于逃生)。 */
|
|
33
|
-
export declare const MODS_ISOLATE_ENV_VAR = "CBC_MODS_ISOLATE";
|
|
34
26
|
/**
|
|
35
27
|
* mod 是否走隔离沙箱执行(`isolated-import.ts` 的加固 realm)。
|
|
36
28
|
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* 临时降级)。未识别值按「不关」处理,仍然隔离。
|
|
29
|
+
* 默认开 —— 隔离是安全默认,只有显式 `CBC_MODS_ISOLATE=0/false/off/no` 才关
|
|
30
|
+
* (逃生阀,供确需直接摸 Node 内建的 mod 临时降级)。未识别值按「不关」处理,仍然隔离。
|
|
40
31
|
*/
|
|
41
32
|
export declare function isModIsolationEnabled(env?: NodeJS.ProcessEnv): boolean;
|
|
33
|
+
/** 关闭 mod 出网(`$.http.fetch`)的 env 变量名。 */
|
|
34
|
+
export declare const MODS_ALLOW_HTTP_ENV_VAR = "CBC_MODS_ALLOW_HTTP";
|
|
35
|
+
/** 关闭 mod 起子进程(`$.process.run`)的 env 变量名。 */
|
|
36
|
+
export declare const MODS_ALLOW_PROCESS_ENV_VAR = "CBC_MODS_ALLOW_PROCESS";
|
|
37
|
+
/**
|
|
38
|
+
* CLI 宿主是否给 mod 开 `$.http.fetch`。
|
|
39
|
+
*
|
|
40
|
+
* 与官方 Claude Code 对齐:CLI 下默认可用,管理员可显式关(`CBC_MODS_ALLOW_HTTP=0/false/off/no`)。
|
|
41
|
+
* 这是宿主表态,core 层 `HostBindings.allowHttp` 仍默认关,不受本开关影响。
|
|
42
|
+
*/
|
|
43
|
+
export declare function isModHttpAllowed(env?: NodeJS.ProcessEnv): boolean;
|
|
44
|
+
/** CLI 宿主是否给 mod 开 `$.process.run`;`CBC_MODS_ALLOW_PROCESS=0/false/off/no` 显式关。 */
|
|
45
|
+
export declare function isModProcessAllowed(env?: NodeJS.ProcessEnv): boolean;
|
|
@@ -14,7 +14,7 @@ import { type LoadedMod, type LoadOptions } from './load-mod.js';
|
|
|
14
14
|
* 走的是同一条路:读 manifest(`.codebuddy-plugin` 优先、`.claude-plugin` 兼容)
|
|
15
15
|
* → 加载 TS register 模块 → 按 tier 坐好 → `engine.create` fold 出 `$`。
|
|
16
16
|
*
|
|
17
|
-
* 全程受 `CBC_ENABLE_FUNCTION_HOOKS`
|
|
17
|
+
* 全程受 `CBC_ENABLE_FUNCTION_HOOKS` 约束(默认开):显式关闭时返回 `undefined`,
|
|
18
18
|
* 宿主照旧走老 shell hooks 路径,零副作用。
|
|
19
19
|
*/
|
|
20
20
|
/** `--plugin-dir` 发布目录列表的环境变量名(由 cli-dispatcher 写入)。 */
|
|
@@ -95,7 +95,7 @@ export declare function pluginDirsOf(env?: NodeJS.ProcessEnv): readonly string[]
|
|
|
95
95
|
* | 连 host 的 fold 都失败 | `runtime` 为 `undefined`,宿主退化成「无 mods 能力」 |
|
|
96
96
|
* | 任何未预料的异常 | 兜住并记入 `failures`,返回已有结果 |
|
|
97
97
|
*
|
|
98
|
-
* 返回 `undefined` **只在真的无事可做时**:function hooks
|
|
98
|
+
* 返回 `undefined` **只在真的无事可做时**:function hooks 被显式关闭,或没有任何
|
|
99
99
|
* `--plugin-dir`。只要有目录被指定,就一定返回结果对象,调用方因此永远能报告
|
|
100
100
|
* 出「为什么我的 --plugin-dir 没生效」。
|
|
101
101
|
*
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
* 未 preload 直接用 `new Agent(...)` 会 fail-loud(TypeError: undefined is not
|
|
27
27
|
* a constructor)——刻意设计,静默 sync require 回退会让整个 lazy 化归零。
|
|
28
28
|
*/
|
|
29
|
-
import type { addTraceProcessor as addTraceProcessorFn, Agent as AgentTypeCtor, AgentConfiguration, AgentInputItem as OriginalAgentInputItem, AgentOptions, AssistantMessageItem as OriginalAssistantMessageItem, ComputerCallResultItem as OriginalComputerCallResultItem, ComputerUseCallItem as OriginalComputerUseCallItem, FunctionCallItem as OriginalFunctionCallItem, FunctionCallResultItem as OriginalFunctionCallResultItem, FunctionTool as FunctionToolTypeCtor, Handoff as HandoffTypeCtor, handoff as handoffFn, HostedToolCallItem as OriginalHostedToolCallItem, Model as ModelType, ModelProvider as ModelProviderType, NonStreamRunOptions, OpenAIChatCompletionsModel as OpenAIChatCompletionsModelTypeCtor, ReasoningItem as OriginalReasoningItem, ResponseStreamEvent, RunConfig, RunContext as RunContextTypeCtor, RunItem, Runner as RunnerTypeCtor, RunResult as RunResultTypeCtor, RunState as RunStateTypeCtor, RunToolApprovalItem as RunToolApprovalItemTypeCtor, setTraceProcessors as setTraceProcessorsFn, StreamedRunResult as RawStreamedRunResultTypeCtor, StreamRunOptions, SystemMessageItem as OriginalSystemMessageItem, Tool as OpenAIToolType, tool as toolTypeCtor, ToolExecuteArgument, UnknownItem as OriginalUnknownItem, Usage as UsageTypeCtor, UserMessageItem as OriginalUserMessageItem } from '@openai/agents';
|
|
29
|
+
import type { addTraceProcessor as addTraceProcessorFn, Agent as AgentTypeCtor, AgentConfiguration, AgentInputItem as OriginalAgentInputItem, AgentOptions, AssistantMessageItem as OriginalAssistantMessageItem, ComputerCallResultItem as OriginalComputerCallResultItem, ComputerUseCallItem as OriginalComputerUseCallItem, FunctionCallItem as OriginalFunctionCallItem, FunctionCallResultItem as OriginalFunctionCallResultItem, FunctionTool as FunctionToolTypeCtor, Handoff as HandoffTypeCtor, handoff as handoffFn, HostedToolCallItem as OriginalHostedToolCallItem, Model as ModelType, ModelProvider as ModelProviderType, NonStreamRunOptions, OpenAIChatCompletionsModel as OpenAIChatCompletionsModelTypeCtor, OpenAIResponsesModel as OpenAIResponsesModelTypeCtor, ReasoningItem as OriginalReasoningItem, ResponseStreamEvent, RunConfig, RunContext as RunContextTypeCtor, RunItem, Runner as RunnerTypeCtor, RunResult as RunResultTypeCtor, RunState as RunStateTypeCtor, RunToolApprovalItem as RunToolApprovalItemTypeCtor, setTraceProcessors as setTraceProcessorsFn, StreamedRunResult as RawStreamedRunResultTypeCtor, StreamRunOptions, SystemMessageItem as OriginalSystemMessageItem, Tool as OpenAIToolType, tool as toolTypeCtor, ToolExecuteArgument, UnknownItem as OriginalUnknownItem, Usage as UsageTypeCtor, UserMessageItem as OriginalUserMessageItem } from '@openai/agents';
|
|
30
30
|
import type { AgentOutputType, getAllMcpTools as getAllMcpToolsFn, MaxTurnsExceededError as MaxTurnsExceededErrorTypeCtor, ModelBehaviorError as ModelBehaviorErrorTypeCtor } from '@openai/agents-core';
|
|
31
31
|
import type { TextOutput, UnknownContext, UserContent } from '@openai/agents-core/types';
|
|
32
32
|
import type { AcpTerminalStateItem, CreditUsageItem, FileHistorySnapshotItem, ModelUsageItem, ResendForkNoticeItem } from './custom-input-item-types.js';
|
|
@@ -43,6 +43,7 @@ export type FunctionTool = FunctionToolTypeCtor;
|
|
|
43
43
|
export type Handoff<TContext = UnknownContext, TOutput extends AgentOutputType = TextOutput> = HandoffTypeCtor<TContext, TOutput>;
|
|
44
44
|
export type OpenAITool = OpenAIToolType;
|
|
45
45
|
export type OpenAIChatCompletionsModel = OpenAIChatCompletionsModelTypeCtor;
|
|
46
|
+
export type OpenAIResponsesModel = OpenAIResponsesModelTypeCtor;
|
|
46
47
|
export type Model = ModelType;
|
|
47
48
|
export type RawModelProvider = ModelProviderType;
|
|
48
49
|
export type MaxTurnsExceededError = MaxTurnsExceededErrorTypeCtor;
|
|
@@ -59,6 +60,7 @@ export declare let tool: typeof toolTypeCtor;
|
|
|
59
60
|
export declare let Handoff: typeof HandoffTypeCtor;
|
|
60
61
|
export declare let handoff: typeof handoffFn;
|
|
61
62
|
export declare let OpenAIChatCompletionsModel: typeof OpenAIChatCompletionsModelTypeCtor;
|
|
63
|
+
export declare let OpenAIResponsesModel: typeof OpenAIResponsesModelTypeCtor;
|
|
62
64
|
export declare let getAllMcpTools: typeof getAllMcpToolsFn;
|
|
63
65
|
export declare let MaxTurnsExceededError: typeof MaxTurnsExceededErrorTypeCtor;
|
|
64
66
|
export declare let ModelBehaviorError: typeof ModelBehaviorErrorTypeCtor;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export type StructuredEventResult = 'success' | 'failed' | 'rejected' | 'cancelled';
|
|
2
|
+
export type StructuredEventErrorType = 'cancelled' | 'timeout' | 'decode' | 'unknown';
|
|
3
|
+
export type StructuredEventValue = string | number | boolean;
|
|
4
|
+
export type StructuredEventFields = object;
|
|
5
|
+
export interface StructuredEventLogger {
|
|
6
|
+
info(message: string): void;
|
|
7
|
+
warn?(message: string): void;
|
|
8
|
+
error(message: string): void;
|
|
9
|
+
}
|
|
10
|
+
export interface StructuredEventCorrelation {
|
|
11
|
+
request_id?: string;
|
|
12
|
+
trace_id?: string;
|
|
13
|
+
user_id?: string;
|
|
14
|
+
enterprise_id?: string;
|
|
15
|
+
conversation_id?: string;
|
|
16
|
+
conversation_request_id?: string;
|
|
17
|
+
conversation_message_id?: string;
|
|
18
|
+
task_id?: string;
|
|
19
|
+
runtime_id?: string;
|
|
20
|
+
session_id?: string;
|
|
21
|
+
call_id?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface StructuredEventBaseRecord extends StructuredEventCorrelation {
|
|
24
|
+
event_id: string;
|
|
25
|
+
event_name: string;
|
|
26
|
+
service: string;
|
|
27
|
+
msg: string;
|
|
28
|
+
result: StructuredEventResult;
|
|
29
|
+
duration_ms: number;
|
|
30
|
+
stage?: string;
|
|
31
|
+
stop_reason?: 'cancelled';
|
|
32
|
+
error_code?: string;
|
|
33
|
+
error_type?: StructuredEventErrorType;
|
|
34
|
+
error_summary_omitted?: true;
|
|
35
|
+
raw?: string;
|
|
36
|
+
}
|
|
37
|
+
type ReservedEventField = keyof StructuredEventBaseRecord;
|
|
38
|
+
type BusinessEventFields<T extends StructuredEventFields> = {
|
|
39
|
+
[K in keyof T]: T[K] extends StructuredEventValue | undefined ? T[K] : never;
|
|
40
|
+
} & Partial<Record<ReservedEventField, never>>;
|
|
41
|
+
export type StructuredEventRecord<T extends StructuredEventFields = Record<string, StructuredEventValue | undefined>> = StructuredEventBaseRecord & T;
|
|
42
|
+
export interface StructuredEventInput<T extends StructuredEventFields> {
|
|
43
|
+
logger: StructuredEventLogger;
|
|
44
|
+
eventName: string;
|
|
45
|
+
service: string;
|
|
46
|
+
message: string;
|
|
47
|
+
result: StructuredEventResult;
|
|
48
|
+
startedAt: number;
|
|
49
|
+
stage?: string;
|
|
50
|
+
correlation?: StructuredEventCorrelation;
|
|
51
|
+
fields: BusinessEventFields<T>;
|
|
52
|
+
raw?: string | ((durationMs: number) => string);
|
|
53
|
+
rejectedLevel?: 'info' | 'warn';
|
|
54
|
+
error?: unknown;
|
|
55
|
+
errorCode?: string;
|
|
56
|
+
errorType?: StructuredEventErrorType;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Emits one JSON terminal event through the caller's existing logger.
|
|
60
|
+
* Business domains own typed adapters and fixed field names; this shared layer
|
|
61
|
+
* only owns the common event contract and safe error diagnosis.
|
|
62
|
+
*/
|
|
63
|
+
export declare function logStructuredEvent<T extends StructuredEventFields>(input: StructuredEventInput<T>): StructuredEventRecord<T> | undefined;
|
|
64
|
+
export {};
|
|
@@ -67,8 +67,18 @@ export declare class EmptyStreamError extends StreamTimeoutError {
|
|
|
67
67
|
readonly data: Readonly<{
|
|
68
68
|
category: "empty_model_response";
|
|
69
69
|
}>;
|
|
70
|
+
/** reasoning-only 时已流出的思考,由 {@link withStreamedReasoning} 挂上;`declare` 保证未挂时不产生自有属性。 */
|
|
71
|
+
readonly streamedReasoning?: string;
|
|
70
72
|
constructor(chunkCount: number, totalBytes: number, kind?: EmptyStreamKind, elapsedMs?: number, finishReason?: EmptyStreamFinishReason);
|
|
71
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* 把 reasoning-only 空流里已流出的思考挂到错误上,供会话层带着它续写。
|
|
76
|
+
*
|
|
77
|
+
* 模型层拦下 error 帧时不把这次响应交给 SDK(#63761):与 error 帧同一分片的思考从未转发,
|
|
78
|
+
* 先转发的分片也会随流报错被清出队列,所以思考只能由模型层随错误交出。
|
|
79
|
+
* 不可枚举:错误会被打进日志、序列化后经 ACP / stream-json 上报,思考正文不能随之外泄。
|
|
80
|
+
*/
|
|
81
|
+
export declare function withStreamedReasoning(error: EmptyStreamError, reasoning: string): EmptyStreamError;
|
|
72
82
|
/**
|
|
73
83
|
* 认证缺失错误
|
|
74
84
|
* 缺少有效的 API Key 时抛出
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
export declare namespace EnvUtils {
|
|
2
|
+
/**
|
|
3
|
+
* Session-id placeholders, resolved where the session is known (skills and commands: the
|
|
4
|
+
* current session; model credentials: the task's root session), never at load time: an
|
|
5
|
+
* inherited env value (e.g. a CLI started from another session's shell) must not bake in.
|
|
6
|
+
* Pass as `reserved` to {@link resolveEnvVariables}.
|
|
7
|
+
*/
|
|
8
|
+
const SESSION_ID_PLACEHOLDERS: readonly ['CODEBUDDY_SESSION_ID', 'CLAUDE_SESSION_ID'];
|
|
9
|
+
/** Replaces every {@link SESSION_ID_PLACEHOLDERS} occurrence with `sessionId`. */
|
|
10
|
+
function resolveSessionIdPlaceholders(value: string, sessionId: string): string;
|
|
2
11
|
function isNodeRuntime(): boolean;
|
|
3
12
|
/**
|
|
4
13
|
* 解析字符串中的环境变量引用。
|
|
@@ -11,8 +20,10 @@ export declare namespace EnvUtils {
|
|
|
11
20
|
* resolveEnvVariables("prefix_${MY_API_KEY}_suffix") // 返回 "prefix_sk-secret_suffix"
|
|
12
21
|
* resolveEnvVariables("${UNDEFINED_VAR}") // 返回 "${UNDEFINED_VAR}"
|
|
13
22
|
* resolveEnvVariables("no-variables") // 返回 "no-variables"
|
|
23
|
+
*
|
|
24
|
+
* @param reserved names kept literal even when set; the caller resolves them later (e.g. per session).
|
|
14
25
|
*/
|
|
15
|
-
function resolveEnvVariables(value: string | undefined): string | undefined;
|
|
26
|
+
function resolveEnvVariables(value: string | undefined, reserved?: readonly string[]): string | undefined;
|
|
16
27
|
/**
|
|
17
28
|
* 检查字符串是否包含环境变量引用。
|
|
18
29
|
*
|
|
@@ -78,6 +78,8 @@ export interface CapabilityOverrides {
|
|
|
78
78
|
/** Replaces the catalog map wholesale when set. */
|
|
79
79
|
thinkingLevelMap?: ThinkingLevelMap;
|
|
80
80
|
}
|
|
81
|
+
/** Whether a pi `api` value speaks the OpenAI Responses wire protocol. */
|
|
82
|
+
export declare function isOpenAIResponsesApi(api: string | undefined): boolean;
|
|
81
83
|
/**
|
|
82
84
|
* Parse the hostname (lower-cased) out of a URL string. Returns `undefined`
|
|
83
85
|
* for missing or malformed input. Exported so callers in higher layers can
|
|
@@ -391,6 +391,13 @@ export declare enum ProductFeature {
|
|
|
391
391
|
* 是否开启本地 models.json 配置功能
|
|
392
392
|
*/
|
|
393
393
|
CustomModelsJSON = "CustomModelsJSON",
|
|
394
|
+
/**
|
|
395
|
+
* Send `store: true` on OpenAI Responses API requests (models with an explicit
|
|
396
|
+
* `api: 'openai-responses'`), as the gpt-6-sol rollout spec requires. Off by default,
|
|
397
|
+
* when requests send `store: false`; read through AbTestService, and
|
|
398
|
+
* `CODEBUDDY_RESPONSES_STORE_ENABLED` forces it on.
|
|
399
|
+
*/
|
|
400
|
+
ResponsesStore = "ResponsesStore",
|
|
394
401
|
/**
|
|
395
402
|
* 是否给本地自定义模型 id 加 `custom-local:` 前缀,
|
|
396
403
|
* 避免 SmartMerge 时与同 id 内置模型合并导致 tags 等字段被覆盖。
|
|
@@ -676,6 +683,11 @@ export declare enum ProductFeature {
|
|
|
676
683
|
* @default false(默认启用活动 Banner)
|
|
677
684
|
*/
|
|
678
685
|
DisableActivityBanner = "DisableActivityBanner",
|
|
686
|
+
/**
|
|
687
|
+
* 是否禁用 Ambassador 身份查询与入口
|
|
688
|
+
* @default false(默认启用)
|
|
689
|
+
*/
|
|
690
|
+
DisableAmbassador = "DisableAmbassador",
|
|
679
691
|
/**
|
|
680
692
|
* 是否启用「外观主题」入口(设置页外观面板)——enable 语义,默认关。
|
|
681
693
|
* 设置为 true 时展示个性主题/皮肤能力,由需要外观定制的发行版显式下发开启。
|
|
@@ -1605,6 +1617,30 @@ export declare enum ProductFeature {
|
|
|
1605
1617
|
* @default false
|
|
1606
1618
|
*/
|
|
1607
1619
|
EnableIndonesianLocale = "EnableIndonesianLocale",
|
|
1620
|
+
/**
|
|
1621
|
+
* 是否在语言切换菜单中展示日语入口。
|
|
1622
|
+
*
|
|
1623
|
+
* 语言资源与已保存偏好的兼容逻辑不受影响;缺省 / false 时仅隐藏切换入口。
|
|
1624
|
+
* 当前仅海外 WorkBuddy AI 构建开启。
|
|
1625
|
+
* @default false
|
|
1626
|
+
*/
|
|
1627
|
+
EnableJapaneseLocale = "EnableJapaneseLocale",
|
|
1628
|
+
/**
|
|
1629
|
+
* 是否在语言切换菜单中展示韩语入口。
|
|
1630
|
+
*
|
|
1631
|
+
* 语言资源与已保存偏好的兼容逻辑不受影响;缺省 / false 时仅隐藏切换入口。
|
|
1632
|
+
* 当前仅海外 WorkBuddy AI 构建开启。
|
|
1633
|
+
* @default false
|
|
1634
|
+
*/
|
|
1635
|
+
EnableKoreanLocale = "EnableKoreanLocale",
|
|
1636
|
+
/**
|
|
1637
|
+
* 是否在语言切换菜单中展示法语入口。
|
|
1638
|
+
*
|
|
1639
|
+
* 语言资源与已保存偏好的兼容逻辑不受影响;缺省 / false 时仅隐藏切换入口。
|
|
1640
|
+
* 当前仅海外 WorkBuddy AI 构建开启。
|
|
1641
|
+
* @default false
|
|
1642
|
+
*/
|
|
1643
|
+
EnableFrenchLocale = "EnableFrenchLocale",
|
|
1608
1644
|
/**
|
|
1609
1645
|
* 是否启用项目本地任务功能
|
|
1610
1646
|
* 启用后,WorkBuddy 支持基于项目维度的本地任务管理
|
|
@@ -261,6 +261,13 @@ export interface LanguageModel {
|
|
|
261
261
|
readonly supportsReasoning?: boolean;
|
|
262
262
|
/** 是否使用自定义协议(跳过 /chat/completions 自动补全) */
|
|
263
263
|
readonly useCustomProtocol?: boolean;
|
|
264
|
+
/**
|
|
265
|
+
* pi `api` of this endpoint (`openai-completions`, `openai-responses`, …).
|
|
266
|
+
* Only this explicit value selects the request transport: an OpenAI Responses
|
|
267
|
+
* api sends `{url}/responses`; unset or anything else stays on chat completions.
|
|
268
|
+
* The catalog-derived api never switches transports.
|
|
269
|
+
*/
|
|
270
|
+
readonly api?: string;
|
|
264
271
|
/** 是否只支持推理模型 */
|
|
265
272
|
readonly onlyReasoning?: boolean;
|
|
266
273
|
/** 开始上下文处理的 token 阈值 */
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type ChildProcess } from 'child_process';
|
|
2
2
|
import { type RuleCategory, SANDBOX_RULES_COMMANDS, type SandboxCommand } from '../common/center-protocol.generated.js';
|
|
3
3
|
export { SANDBOX_BACKUP_COMMANDS, SANDBOX_CENTER_LIFECYCLE_COMMANDS, SANDBOX_RULES_COMMANDS, } from '../common/center-protocol.generated.js';
|
|
4
|
-
export type { BackupReason, CheckMaliciousDomainResponse, CommitModifyBackupResponse, DecideNetworkResponse, EnableModifyBackupRequest, EnableModifyBackupResponse, HttpInterceptConfig, HttpInterceptRuleItem, ModifyBackupCommitEntry, ModifyBackupFileEntry, ModifyBackupRequest, QueryModifyBackupCommitsResponse, RestoreModifyBackupResponse, SetHttpInterceptRequest, SetRulesConfigRequest, SetThreatDatabaseResponse, ShutdownCenterResponse, } from '../common/center-protocol.generated.js';
|
|
4
|
+
export type { BackupReason, CheckMaliciousDomainResponse, CommitModifyBackupResponse, DecideNetworkResponse, EnableModifyBackupRequest, EnableModifyBackupResponse, EnableTraceRequest, HttpInterceptConfig, HttpInterceptRuleItem, ModifyBackupCommitEntry, ModifyBackupFileEntry, ModifyBackupRequest, QueryModifyBackupCommitsResponse, RestoreModifyBackupResponse, SetHttpInterceptRequest, SetRulesConfigRequest, SetThreatDatabaseResponse, ShutdownCenterResponse, TraceFlushResponse, } from '../common/center-protocol.generated.js';
|
|
5
5
|
export interface SandboxCenterRuntimeContext {
|
|
6
6
|
appHome: string;
|
|
7
7
|
executablePath?: string;
|
|
@@ -40,11 +40,12 @@ export type CompactionKind = 'manual' | 'auto' | 'reactive';
|
|
|
40
40
|
* | `manual` | manual | `/compact` from any entry (TUI, IM, /server, typed command) |
|
|
41
41
|
* | `pre_message_threshold` | auto | before a user message, tokens ≥ `tokenUsageThresholds.inputTokens.preMessage` |
|
|
42
42
|
* | `cache_expired` | auto | before a user message, the used prompt cache is ≥ 1h old and tokens ≥ 50% of the budget |
|
|
43
|
+
* | `model_switch` | auto | before a user message, a model switch is pending and tokens ≥ the new model's pre-message threshold; takes precedence over the other pre-message triggers |
|
|
43
44
|
* | `emergency_threshold` | auto | before a model call, tokens ≥ `tokenUsageThresholds.inputTokens.emergency`; the call is sent, then interrupted |
|
|
44
45
|
* | `blocking_limit` | auto | before a model call, tokens + max output would exceed the context budget; the call waits |
|
|
45
46
|
* | `ptl` | reactive | the model rejected the prompt as too long |
|
|
46
47
|
*/
|
|
47
|
-
export type CompactionTrigger = 'manual' | 'pre_message_threshold' | 'cache_expired' | 'emergency_threshold' | 'blocking_limit' | 'ptl';
|
|
48
|
+
export type CompactionTrigger = 'manual' | 'pre_message_threshold' | 'cache_expired' | 'model_switch' | 'emergency_threshold' | 'blocking_limit' | 'ptl';
|
|
48
49
|
export interface UserTaskFailedCreditRefundTelemetry {
|
|
49
50
|
/** 用户 ID,对齐公共 userId 字段;业务侧显式传入,避免特定宿主未注入 UserinfoProvider 时缺失。 */
|
|
50
51
|
userId: string;
|
|
@@ -3,8 +3,8 @@ export * from './trace-service.js';
|
|
|
3
3
|
export * from './trace-provider.js';
|
|
4
4
|
export * from './w3c-propagation.js';
|
|
5
5
|
export * from './span-names/index.js';
|
|
6
|
-
export { isTelemetryDisabled, readOtelLoggingFlags, readGalileoViewSpanEnabled, readSemconv, isSemconvEnabled, shouldEmitGenAiSourceAttrs, shouldLogRawApiBodies, } from './otel-env.js';
|
|
7
|
-
export type { OtelLoggingFlags, OtelSemconv } from './otel-env.js';
|
|
6
|
+
export { isTelemetryDisabled, readOtelLoggingFlags, readGalileoViewSpanEnabled, readSemconv, isSemconvEnabled, shouldEmitGenAiSourceAttrs, shouldLogRawApiBodies, readRawApiBodiesMode, } from './otel-env.js';
|
|
7
|
+
export type { OtelLoggingFlags, OtelSemconv, RawApiBodiesMode } from './otel-env.js';
|
|
8
8
|
export { GenAiSemanticSpanExporter } from './gen-ai-semantic-span-exporter.js';
|
|
9
9
|
export { mapSpanToGenAi } from './gen-ai-span-mapper.js';
|
|
10
10
|
export type { GenAiMapResult } from './gen-ai-span-mapper.js';
|
|
@@ -49,7 +49,7 @@ export interface OtelTraceEnv {
|
|
|
49
49
|
logToolDetails: boolean;
|
|
50
50
|
/** opt-in: 记录工具输入输出全文到 span */
|
|
51
51
|
logToolContent: boolean;
|
|
52
|
-
/** opt-in: 记录完整 API
|
|
52
|
+
/** opt-in: 记录完整 API 请求/响应体(任一模式,见 readRawApiBodiesMode) */
|
|
53
53
|
logRawApiBodies: boolean;
|
|
54
54
|
/** 语义约定总闸:codebuddy(默认,关)| agentlens(开)。 */
|
|
55
55
|
semconv: OtelSemconv;
|
|
@@ -70,7 +70,8 @@ export declare function parseKeyValueList(raw: string | undefined): Record<strin
|
|
|
70
70
|
* - OTEL_LOG_USER_PROMPTS=1: record user prompts in root span
|
|
71
71
|
* - OTEL_LOG_TOOL_DETAILS=1: record tool parameters (paths, commands, queries)
|
|
72
72
|
* - OTEL_LOG_TOOL_CONTENT=1: record full tool input/output (truncated at 60KB)
|
|
73
|
-
* - OTEL_LOG_RAW_API_BODIES=1: record full API request/response bodies
|
|
73
|
+
* - OTEL_LOG_RAW_API_BODIES=1: record full API request/response bodies as span events;
|
|
74
|
+
* `file:<dir>` writes them to files instead (see readRawApiBodiesMode)
|
|
74
75
|
*/
|
|
75
76
|
export interface OtelLoggingFlags {
|
|
76
77
|
logUserPrompts: boolean;
|
|
@@ -106,11 +107,21 @@ export declare function isSemconvEnabled(semconv: OtelSemconv): boolean;
|
|
|
106
107
|
* 供 agent-cli 侧直接消费,无需引入整个 OtelTraceEnv。
|
|
107
108
|
*/
|
|
108
109
|
export declare function shouldEmitGenAiSourceAttrs(env?: NodeJS.ProcessEnv): boolean;
|
|
110
|
+
/** OTEL_LOG_RAW_API_BODIES(记录完整 API 请求/响应体)是否开启,任一模式都算。 */
|
|
111
|
+
export declare function shouldLogRawApiBodies(env?: NodeJS.ProcessEnv): boolean;
|
|
109
112
|
/**
|
|
110
|
-
*
|
|
111
|
-
*
|
|
113
|
+
* OTEL_LOG_RAW_API_BODIES modes, same as Claude Code: `file:<dir>` writes bodies to files
|
|
114
|
+
* under `<dir>`; any other truthy value records them inline as span events.
|
|
112
115
|
*/
|
|
113
|
-
export
|
|
116
|
+
export type RawApiBodiesMode = {
|
|
117
|
+
mode: 'file';
|
|
118
|
+
dir: string;
|
|
119
|
+
} | {
|
|
120
|
+
mode: 'inline';
|
|
121
|
+
} | {
|
|
122
|
+
mode: 'disabled';
|
|
123
|
+
};
|
|
124
|
+
export declare function readRawApiBodiesMode(env?: NodeJS.ProcessEnv): RawApiBodiesMode;
|
|
114
125
|
/**
|
|
115
126
|
* 读取并解析 OTel 相关环境变量。
|
|
116
127
|
* 注:`DISABLE_TELEMETRY` 由调用方在最外层判断,本函数不参与禁用语义。
|
|
@@ -37,6 +37,15 @@ export interface TraceService {
|
|
|
37
37
|
export interface InitOptions {
|
|
38
38
|
serviceName?: string;
|
|
39
39
|
serviceVersion?: string;
|
|
40
|
+
/**
|
|
41
|
+
* 换掉旧 TracerProvider 之前的同步检查点(genie#113158)。
|
|
42
|
+
*
|
|
43
|
+
* 返回 true 时整个 init 放弃,旧 provider 原样保留——调用方据此把这次
|
|
44
|
+
* re-init 推迟到安全时机。init 在此之前有多个 await(waitConfiguration /
|
|
45
|
+
* 动态 import / buildSpanExporter),调用方自己的前置检查无法覆盖这段窗口;
|
|
46
|
+
* 本回调与 shutdown 之间没有 await,因此不存在 check-then-act 竞态。
|
|
47
|
+
*/
|
|
48
|
+
shouldSkipProviderSwap?: () => boolean;
|
|
40
49
|
}
|
|
41
50
|
export declare const ResourcesProvider: unique symbol;
|
|
42
51
|
export interface ResourcesProvider {
|
package/cli/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"agents":[{"name":"cli","instructions":"cli-agent-prompt","description":"cli agent","models":["glm-4.7","glm-4.6","deepseek-v3-2-volc","deepseek-v3.1","deepseek-v3-0324"],"modelTags":["craft"],"commands":["init","compact","statusline","insights"],"tools":["Agent","Read","Write","Edit","Bash","PowerShell","Glob","Grep","EnterPlanMode","ExitPlanMode","TaskCreate","TaskGet","TaskUpdate","TaskList","WebFetch","WebSearch","TaskStop","TaskOutput","Skill","SkillManage","AskUserQuestion","AskUserForStructuredInput","StructuredOutput","ToolSearch","DeferExecuteTool","SendMessage","SendUserMessage","TeamCreate","TeamDelete","NotebookEdit","LSP","ImageGen","Artifact","ArtifactControl","EnterWorktree","LeaveWorktree","CronCreate","CronDelete","CronList","DelegateTool","WeChatReply","WeComReply","PushNotification","ReportFindings","ComputerUse","ListMcpResources","ReadMcpResource","WaitForMcpServers","Workflow","Monitor","REPL","A2AGetAgentCard","A2ASendMessage","A2AGetTask","A2ACancelTask"],"tags":["cli","default","model:craft"]},{"name":"general-purpose","instructions":"cli-agent-prompt","description":"taskgeneral-purpose agent","tools":["Read","Write","Edit","Bash","PowerShell","Glob","Grep","TaskCreate","TaskGet","TaskUpdate","TaskList","WebFetch","WebSearch","TaskStop","TaskOutput","Skill","AskUserQuestion","AskUserForStructuredInput","ToolSearch","DeferExecuteTool","StructuredOutput","SendMessage","SendUserMessage","NotebookEdit","LSP","ComputerUse","ImageGen","ImageEdit","Artifact","ArtifactControl","ListMcpResources","ReadMcpResource","WaitForMcpServers","REPL"],"tags":["cli","general-purpose"]},{"name":"compact","instructions":"compact-agent-prompt","description":"compact agent","tools":["Read"],"commands":["_compact"],"tags":["cli","compact"]},{"name":"contextSummary","instructions":"context-summary-agent-prompt","description":"Context summary agent for conversation compaction and max-token recovery","tools":[],"tags":["cli","contextSummary"]},{"name":"contentAnalyzer","instructions":"content-analyzer-agent-instructions","description":"content analyzer agent","tags":["cli","content-analyzer"],"tools":[]},{"name":"terminalTitleGenerator","instructions":"terminal-title-generator-instructions","description":"Generate terminal window titles from conversation topics.","tags":["cli","terminal-title-generator"],"tools":[]},{"name":"promptSuggestion","instructions":"prompt-suggestion-instructions","description":"Suggest the user's next prompt after a conversation turn.","tags":["cli","prompt-suggestion"],"tools":[]},{"name":"memorySelector","instructions":"memory-selector-instructions","description":"Select relevant memories for the current query.","models":["lite"],"tags":["cli","memory-selector"],"tools":[]},{"name":"summaryGenerator","instructions":"summary-generator-instructions","description":"Generate session summaries from conversation content.","tags":["cli","summary-generator"],"tools":[]},{"name":"securityReviewer","instructions":"security-reviewer-instructions","description":"Review bounded security decisions without tools.","models":["lite"],"tags":["cli","security-reviewer"],"tools":[]},{"name":"autoModeClassifier","instructions":"auto-mode-classifier-instructions","description":"Classify auto mode tool permission risk.","models":["lite"],"tags":["cli","auto-mode-classifier"],"tools":[]},{"name":"promptHookEvaluator","instructions":"prompt-hook-evaluator-instructions","description":"Evaluates prompt hooks using LLM to determine if conditions are met","models":["lite"],"tags":["cli","prompt-hook-evaluator"],"tools":[]},{"name":"insightsAnalyzer","instructions":"base-agent-instructions","description":"Analyzes user usage data facets for the /insights command","tags":["cli","insights-analyzer"],"tools":[]},{"name":"agentInstructions","instructions":"agent-instructions","description":"generating agent instructions","tags":["cli","agent-instructions"],"tools":[]},{"name":"statusline-setup","instructions":"agent-statusline-instructions","description":"Use this agent to configure the user's Codebuddy Code status line setting.","tools":["Read","Write","Edit","ToolSearch","DeferExecuteTool"],"asTool":true,"tags":["cli","sub-agent"]},{"name":"Explore","instructions":"agent-explore-instructions","description":"Fast agent specialized for exploring codebases. Use this when you need to quickly find files by patterns (eg. \"src/components/**/*.tsx\"), search code for keywords (eg. \"API endpoints\"), or answer questions about the codebase (eg. \"how do API endpoints work?\"). When calling this agent, specify the desired thoroughness level: \"quick\" for basic searches, \"medium\" for moderate exploration, or \"very thorough\" for comprehensive analysis across multiple locations and naming conventions.","models":["lite"],"tools":["Read","Bash","PowerShell","Glob","Grep","TaskCreate","TaskGet","TaskUpdate","TaskList","WebFetch","WebSearch","Skill","SendMessage","SendUserMessage","ToolSearch","DeferExecuteTool"],"asTool":true,"tags":["cli","sub-agent"]},{"name":"Plan","instructions":"agent-plan-instructions","description":"Software architect agent for designing implementation plans. Use this when you need to plan the implementation strategy for a multi-step task before writing code. Returns step-by-step plans, identifies critical files, and considers architectural trade-offs. Read-only: it designs but does not modify files or exit plan mode; the caller reviews the plan and implements it.","tools":["Read","Bash","PowerShell","Glob","Grep","TaskCreate","TaskGet","TaskUpdate","TaskList","WebFetch","WebSearch","Skill","ToolSearch","DeferExecuteTool","TeamCreate","TeamDelete","SendMessage","SendUserMessage"],"asTool":true,"tags":["cli","sub-agent"]}],"models":[{"id":"default","credits":"x2.00 credits","name":"Default","vendor":"v","maxOutputTokens":24000,"maxInputTokens":200000,"supportsToolCall":true,"supportsImages":false,"maxAllowedSize":56000,"relatedModels":{"lite":"default","reasoning":"default"}},{"credits":"x0.29 credits","id":"deepseek-v3-2-volc","name":"DeepSeek-V3.2","vendor":"e","maxOutputTokens":32000,"maxInputTokens":96000,"supportsToolCall":true,"supportsImages":false,"disabledMultimodal":true,"maxAllowedSize":96000,"supportsReasoning":true,"onlyReasoning":true,"temperature":1,"reasoning":{"effort":"high","summary":"auto"},"relatedModels":{"lite":"deepseek-v3-2-volc","reasoning":"deepseek-v3-2-volc"}},{"credits":"x0.23 credits","id":"glm-4.7","name":"GLM-4.7","vendor":"f","maxOutputTokens":48000,"maxInputTokens":200000,"supportsToolCall":true,"supportsImages":false,"disabledMultimodal":true,"maxAllowedSize":200000,"supportsReasoning":true,"temperature":1,"relatedModels":{"lite":"glm-4.7","reasoning":"glm-4.7"}},{"credits":"x0.23 credits","id":"glm-4.6","name":"GLM-4.6","vendor":"f","maxOutputTokens":32000,"maxInputTokens":168000,"supportsToolCall":true,"supportsImages":false,"disabledMultimodal":true,"maxAllowedSize":168000,"supportsReasoning":true,"temperature":1,"relatedModels":{"lite":"glm-4.6","reasoning":"glm-4.6"}},{"credits":"x0.52 credits","id":"deepseek-v3.1","name":"DeepSeek-V3.1-Terminus","vendor":"f","maxOutputTokens":8192,"maxInputTokens":128000,"supportsToolCall":true,"supportsImages":false,"disabledMultimodal":true,"maxAllowedSize":56000,"relatedModels":{"lite":"deepseek-v3.1","reasoning":"deepseek-v3.1"}},{"credits":"x0.10 credits","id":"hunyuan-chat","name":"Hunyuan-Turbos","vendor":"j","maxOutputTokens":8192,"maxInputTokens":200000,"supportsToolCall":true,"supportsImages":false,"disabledMultimodal":true,"relatedModels":{"lite":"hunyuan-chat","reasoning":"hunyuan-chat"}},{"credits":"x0.78 credits","id":"deepseek-v3-0324","name":"DeepSeek-V3","vendor":"tencent","maxOutputTokens":8192,"maxInputTokens":128000,"supportsToolCall":true,"supportsImages":false,"disabledMultimodal":true,"maxAllowedSize":56000,"relatedModels":{"lite":"deepseek-v3-0324","reasoning":"deepseek-v3-0324"}},{"credits":"x0.54 credits","id":"kimi-k2-thinking","name":"Kimi-K2-Thinking","vendor":"f","maxOutputTokens":32000,"maxInputTokens":164000,"supportsToolCall":true,"supportsImages":false,"supportsReasoning":true,"onlyReasoning":true,"temperature":1,"reasoning":{"effort":"high","summary":"auto"},"maxAllowedSize":164000,"relatedModels":{"lite":"kimi-k2-thinking","reasoning":"kimi-k2-thinking"}},{"credits":"x0.51 credits","id":"deepseek-v4-pro","name":"Deepseek-V4-Pro","vendor":"f","maxOutputTokens":50000,"maxInputTokens":1000000,"supportsToolCall":true,"supportsImages":true,"maxAllowedSize":1000000,"supportsReasoning":true,"onlyReasoning":true,"temperature":1,"reasoning":{"effort":"high","summary":"auto"},"descriptionEn":"DeepSeek flagship model, supporting 1M context window","descriptionZh":"DeepSeek 旗舰模型,支持 1M 上下文窗口","relatedModels":{"lite":"deepseek-v4-pro","reasoning":"deepseek-v4-pro"}},{"credits":"x0.18 credits","id":"minimax-m2.5","name":"MiniMax-M2.5","vendor":"e","maxOutputTokens":48000,"maxInputTokens":200000,"supportsToolCall":true,"supportsImages":false,"maxAllowedSize":200000,"supportsReasoning":true,"onlyReasoning":true,"temperature":1,"reasoning":{"effort":"high","summary":"auto"},"relatedModels":{"lite":"minimax-m2.5","reasoning":"minimax-m2.5"}},{"credits":"x0.26 credits","id":"minimax-m2.7","name":"MiniMax-M2.7","vendor":"f","maxOutputTokens":48000,"maxInputTokens":200000,"supportsToolCall":true,"supportsImages":true,"maxAllowedSize":200000,"supportsReasoning":true,"onlyReasoning":true,"temperature":1,"reasoning":{"effort":"medium","summary":"auto"},"relatedModels":{"lite":"minimax-m2.7","reasoning":"minimax-m2.7"}},{"credits":"x1.06 credits","id":"glm-5.1","name":"GLM-5.1","vendor":"e","maxOutputTokens":48000,"maxInputTokens":200000,"supportsToolCall":true,"supportsImages":false,"maxAllowedSize":200000,"supportsReasoning":true,"onlyReasoning":true,"temperature":1,"reasoning":{"effort":"medium","summary":"auto"},"relatedModels":{"lite":"glm-5.1","reasoning":"glm-5.1"}},{"credits":"x0.80 credits","id":"glm-5.0","name":"GLM-5.0","vendor":"e","maxOutputTokens":48000,"maxInputTokens":200000,"supportsToolCall":true,"supportsImages":false,"disabledMultimodal":true,"maxAllowedSize":200000,"supportsReasoning":true,"temperature":1,"relatedModels":{"lite":"glm-5.0","reasoning":"glm-5.0"}},{"credits":"x0.95 credits","id":"glm-5.0-turbo","name":"GLM-5.0-Turbo","vendor":"e","maxOutputTokens":48000,"maxInputTokens":200000,"supportsToolCall":true,"supportsImages":false,"maxAllowedSize":200000,"supportsReasoning":true,"onlyReasoning":true,"temperature":1,"reasoning":{"effort":"medium","summary":"auto"},"relatedModels":{"lite":"glm-5.0-turbo","reasoning":"glm-5.0-turbo"}},{"credits":"x0.95 credits","id":"glm-5v-turbo","name":"GLM-5v-Turbo","vendor":"e","maxOutputTokens":38000,"maxInputTokens":200000,"supportsToolCall":true,"supportsImages":true,"maxAllowedSize":200000,"supportsReasoning":true,"onlyReasoning":true,"temperature":1,"reasoning":{"effort":"medium","summary":"auto"},"relatedModels":{"lite":"glm-5v-turbo","reasoning":"glm-5v-turbo"}},{"credits":"x0.11 credits","id":"glm-4.6v","name":"GLM-4.6V","vendor":"e","maxOutputTokens":32000,"maxInputTokens":128000,"supportsToolCall":true,"supportsImages":true,"supportsReasoning":true,"temperature":1,"reasoning":{"effort":"high","summary":"auto"},"maxAllowedSize":128000,"relatedModels":{"lite":"glm-4.6v","reasoning":"glm-4.6v"}},{"credits":"x0.59 credits","id":"kimi-k2.6","name":"Kimi-K2.6","vendor":"f","maxOutputTokens":32000,"maxInputTokens":256000,"supportsToolCall":true,"supportsImages":true,"supportsReasoning":true,"temperature":1,"onlyReasoning":true,"reasoning":{"effort":"medium","summary":"auto"},"maxAllowedSize":256000,"relatedModels":{"lite":"kimi-k2.5","reasoning":"kimi-k2-thinking"}},{"credits":"x0.45 credits","id":"kimi-k2.5","name":"Kimi-K2.5","vendor":"f","maxOutputTokens":32000,"maxInputTokens":164000,"supportsToolCall":true,"supportsImages":true,"supportsReasoning":true,"temperature":1,"onlyReasoning":true,"reasoning":{"effort":"high","summary":"auto"},"maxAllowedSize":164000,"relatedModels":{"lite":"kimi-k2.5","reasoning":"kimi-k2.5"}},{"credits":"x0.40 credits","id":"auto","name":"Auto","vendor":"f","maxOutputTokens":32000,"maxInputTokens":168000,"supportsToolCall":true,"supportsImages":true,"disabledMultimodal":false,"maxAllowedSize":168000,"isDefault":true,"temperature":1,"descriptionEn":"Balanced performance and speed","descriptionZh":"平衡效果与速度","tags":["craft"],"relatedModels":{"lite":"auto","reasoning":"auto"}},{"credits":"x0.51 credits","id":"deepseek-v4-pro-exclusive","name":"Deepseek-V4-Pro","vendor":"f","maxOutputTokens":50000,"maxInputTokens":1000000,"supportsToolCall":true,"supportsImages":true,"maxAllowedSize":1000000,"supportsReasoning":true,"onlyReasoning":true,"temperature":1,"reasoning":{"effort":"high","summary":"auto"},"descriptionEn":"DeepSeek flagship model, supporting 1M context window","descriptionZh":"DeepSeek 旗舰模型,支持 1M 上下文窗口","relatedModels":{"lite":"deepseek-v4-pro-exclusive","reasoning":"deepseek-v4-pro-exclusive"}},{"credits":"x0.04 credits","id":"hunyuan-2.0-instruct","name":"Hunyuan-2.0-Instruct","vendor":"j","maxOutputTokens":16000,"maxInputTokens":128000,"supportsToolCall":true,"supportsImages":true,"disabledMultimodal":false,"supportsReasoning":true,"temperature":0.7,"onlyReasoning":true,"top_p":0.8,"top_k":20,"repetition_penalty":1.05,"reasoning":{"effort":"medium","summary":"auto"},"relatedModels":{"lite":"hunyuan-2.0-instruct","reasoning":"hunyuan-2.0-instruct"}},{"credits":"x5.00 credits","id":"hunyuan-image-v3.0","name":"Hunyuan Image V3","tags":["text-to-image"]}],"links":{"officialWebsite":"https://copilot.tencent.com/cli","helpDocument":"https://copilot.tencent.com/docs/cli","issueFeedback":"https://cnb.cool/codebuddy/codebuddy-code/-/issues","issueCreation":"https://cnb.cool/codebuddy/codebuddy-code/-/issues/new","mcpHelpDocument":"https://copilot.tencent.com/docs/cli/mcp","hooksHelpDocument":"https://copilot.tencent.com/docs/cli/hooks","sandboxHelpDocument":"https://copilot.tencent.com/docs/cli/bash-sandboxing","upgradeUrl":""},"productFeatures":{"BillingNotice":false,"CodeAdoptionRate":false,"CloudAgentsSmartMerge":true,"CustomModelsJSON":true,"CustomModelIdPrefix":true,"DeferToolLoading":true,"ImageGen":true,"ShareLink":true,"Artifact":true,"ScheduledTasks":true,"SkillManage":false,"SelectImage":true,"SkipToolCallSupportCheck":true},"commit":"aa90dfd60b848dce5150a7ed1913a2637f12e431","date":"2026-10-08T11:41:58.488Z"}
|
|
1
|
+
{"agents":[{"name":"cli","instructions":"cli-agent-prompt","description":"cli agent","models":["glm-4.7","glm-4.6","deepseek-v3-2-volc","deepseek-v3.1","deepseek-v3-0324"],"modelTags":["craft"],"commands":["init","compact","statusline","insights"],"tools":["Agent","Read","Write","Edit","Bash","PowerShell","Glob","Grep","EnterPlanMode","ExitPlanMode","TaskCreate","TaskGet","TaskUpdate","TaskList","WebFetch","WebSearch","TaskStop","TaskOutput","Skill","SkillManage","AskUserQuestion","AskUserForStructuredInput","StructuredOutput","ToolSearch","DeferExecuteTool","SendMessage","SendUserMessage","TeamCreate","TeamDelete","NotebookEdit","LSP","ImageGen","Artifact","ArtifactControl","EnterWorktree","LeaveWorktree","CronCreate","CronDelete","CronList","DelegateTool","WeChatReply","WeComReply","PushNotification","ReportFindings","ComputerUse","ListMcpResources","ReadMcpResource","WaitForMcpServers","Workflow","Monitor","REPL","A2AGetAgentCard","A2ASendMessage","A2AGetTask","A2ACancelTask"],"tags":["cli","default","model:craft"]},{"name":"general-purpose","instructions":"cli-agent-prompt","description":"taskgeneral-purpose agent","tools":["Read","Write","Edit","Bash","PowerShell","Glob","Grep","TaskCreate","TaskGet","TaskUpdate","TaskList","WebFetch","WebSearch","TaskStop","TaskOutput","Skill","AskUserQuestion","AskUserForStructuredInput","ToolSearch","DeferExecuteTool","StructuredOutput","SendMessage","SendUserMessage","NotebookEdit","LSP","ComputerUse","ImageGen","ImageEdit","Artifact","ArtifactControl","ListMcpResources","ReadMcpResource","WaitForMcpServers","REPL"],"tags":["cli","general-purpose"]},{"name":"compact","instructions":"compact-agent-prompt","description":"compact agent","tools":["Read"],"commands":["_compact"],"tags":["cli","compact"]},{"name":"contextSummary","instructions":"context-summary-agent-prompt","description":"Context summary agent for conversation compaction and max-token recovery","tools":[],"tags":["cli","contextSummary"]},{"name":"contentAnalyzer","instructions":"content-analyzer-agent-instructions","description":"content analyzer agent","tags":["cli","content-analyzer"],"tools":[]},{"name":"terminalTitleGenerator","instructions":"terminal-title-generator-instructions","description":"Generate terminal window titles from conversation topics.","tags":["cli","terminal-title-generator"],"tools":[]},{"name":"promptSuggestion","instructions":"prompt-suggestion-instructions","description":"Suggest the user's next prompt after a conversation turn.","tags":["cli","prompt-suggestion"],"tools":[]},{"name":"memorySelector","instructions":"memory-selector-instructions","description":"Select relevant memories for the current query.","models":["lite"],"tags":["cli","memory-selector"],"tools":[]},{"name":"summaryGenerator","instructions":"summary-generator-instructions","description":"Generate session summaries from conversation content.","tags":["cli","summary-generator"],"tools":[]},{"name":"securityReviewer","instructions":"security-reviewer-instructions","description":"Review bounded security decisions without tools.","models":["lite"],"tags":["cli","security-reviewer"],"tools":[]},{"name":"autoModeClassifier","instructions":"auto-mode-classifier-instructions","description":"Classify auto mode tool permission risk.","models":["lite"],"tags":["cli","auto-mode-classifier"],"tools":[]},{"name":"promptHookEvaluator","instructions":"prompt-hook-evaluator-instructions","description":"Evaluates prompt hooks using LLM to determine if conditions are met","models":["lite"],"tags":["cli","prompt-hook-evaluator"],"tools":[]},{"name":"insightsAnalyzer","instructions":"base-agent-instructions","description":"Analyzes user usage data facets for the /insights command","tags":["cli","insights-analyzer"],"tools":[]},{"name":"agentInstructions","instructions":"agent-instructions","description":"generating agent instructions","tags":["cli","agent-instructions"],"tools":[]},{"name":"statusline-setup","instructions":"agent-statusline-instructions","description":"Use this agent to configure the user's Codebuddy Code status line setting.","tools":["Read","Write","Edit","ToolSearch","DeferExecuteTool"],"asTool":true,"tags":["cli","sub-agent"]},{"name":"Explore","instructions":"agent-explore-instructions","description":"Fast agent specialized for exploring codebases. Use this when you need to quickly find files by patterns (eg. \"src/components/**/*.tsx\"), search code for keywords (eg. \"API endpoints\"), or answer questions about the codebase (eg. \"how do API endpoints work?\"). When calling this agent, specify the desired thoroughness level: \"quick\" for basic searches, \"medium\" for moderate exploration, or \"very thorough\" for comprehensive analysis across multiple locations and naming conventions.","models":["lite"],"tools":["Read","Bash","PowerShell","Glob","Grep","TaskCreate","TaskGet","TaskUpdate","TaskList","WebFetch","WebSearch","Skill","SendMessage","SendUserMessage","ToolSearch","DeferExecuteTool"],"asTool":true,"tags":["cli","sub-agent"]},{"name":"Plan","instructions":"agent-plan-instructions","description":"Software architect agent for designing implementation plans. Use this when you need to plan the implementation strategy for a multi-step task before writing code. Returns step-by-step plans, identifies critical files, and considers architectural trade-offs. Read-only: it designs but does not modify files or exit plan mode; the caller reviews the plan and implements it.","tools":["Read","Bash","PowerShell","Glob","Grep","TaskCreate","TaskGet","TaskUpdate","TaskList","WebFetch","WebSearch","Skill","ToolSearch","DeferExecuteTool","TeamCreate","TeamDelete","SendMessage","SendUserMessage"],"asTool":true,"tags":["cli","sub-agent"]}],"models":[{"id":"default","credits":"x2.00 credits","name":"Default","vendor":"v","maxOutputTokens":24000,"maxInputTokens":200000,"supportsToolCall":true,"supportsImages":false,"maxAllowedSize":56000,"relatedModels":{"lite":"default","reasoning":"default"}},{"credits":"x0.29 credits","id":"deepseek-v3-2-volc","name":"DeepSeek-V3.2","vendor":"e","maxOutputTokens":32000,"maxInputTokens":96000,"supportsToolCall":true,"supportsImages":false,"disabledMultimodal":true,"maxAllowedSize":96000,"supportsReasoning":true,"onlyReasoning":true,"temperature":1,"reasoning":{"effort":"high","summary":"auto"},"relatedModels":{"lite":"deepseek-v3-2-volc","reasoning":"deepseek-v3-2-volc"}},{"credits":"x0.23 credits","id":"glm-4.7","name":"GLM-4.7","vendor":"f","maxOutputTokens":48000,"maxInputTokens":200000,"supportsToolCall":true,"supportsImages":false,"disabledMultimodal":true,"maxAllowedSize":200000,"supportsReasoning":true,"temperature":1,"relatedModels":{"lite":"glm-4.7","reasoning":"glm-4.7"}},{"credits":"x0.23 credits","id":"glm-4.6","name":"GLM-4.6","vendor":"f","maxOutputTokens":32000,"maxInputTokens":168000,"supportsToolCall":true,"supportsImages":false,"disabledMultimodal":true,"maxAllowedSize":168000,"supportsReasoning":true,"temperature":1,"relatedModels":{"lite":"glm-4.6","reasoning":"glm-4.6"}},{"credits":"x0.52 credits","id":"deepseek-v3.1","name":"DeepSeek-V3.1-Terminus","vendor":"f","maxOutputTokens":8192,"maxInputTokens":128000,"supportsToolCall":true,"supportsImages":false,"disabledMultimodal":true,"maxAllowedSize":56000,"relatedModels":{"lite":"deepseek-v3.1","reasoning":"deepseek-v3.1"}},{"credits":"x0.10 credits","id":"hunyuan-chat","name":"Hunyuan-Turbos","vendor":"j","maxOutputTokens":8192,"maxInputTokens":200000,"supportsToolCall":true,"supportsImages":false,"disabledMultimodal":true,"relatedModels":{"lite":"hunyuan-chat","reasoning":"hunyuan-chat"}},{"credits":"x0.78 credits","id":"deepseek-v3-0324","name":"DeepSeek-V3","vendor":"tencent","maxOutputTokens":8192,"maxInputTokens":128000,"supportsToolCall":true,"supportsImages":false,"disabledMultimodal":true,"maxAllowedSize":56000,"relatedModels":{"lite":"deepseek-v3-0324","reasoning":"deepseek-v3-0324"}},{"credits":"x0.54 credits","id":"kimi-k2-thinking","name":"Kimi-K2-Thinking","vendor":"f","maxOutputTokens":32000,"maxInputTokens":164000,"supportsToolCall":true,"supportsImages":false,"supportsReasoning":true,"onlyReasoning":true,"temperature":1,"reasoning":{"effort":"high","summary":"auto"},"maxAllowedSize":164000,"relatedModels":{"lite":"kimi-k2-thinking","reasoning":"kimi-k2-thinking"}},{"credits":"x0.51 credits","id":"deepseek-v4-pro","name":"Deepseek-V4-Pro","vendor":"f","maxOutputTokens":50000,"maxInputTokens":1000000,"supportsToolCall":true,"supportsImages":true,"maxAllowedSize":1000000,"supportsReasoning":true,"onlyReasoning":true,"temperature":1,"reasoning":{"effort":"high","summary":"auto"},"descriptionEn":"DeepSeek flagship model, supporting 1M context window","descriptionZh":"DeepSeek 旗舰模型,支持 1M 上下文窗口","relatedModels":{"lite":"deepseek-v4-pro","reasoning":"deepseek-v4-pro"}},{"credits":"x0.18 credits","id":"minimax-m2.5","name":"MiniMax-M2.5","vendor":"e","maxOutputTokens":48000,"maxInputTokens":200000,"supportsToolCall":true,"supportsImages":false,"maxAllowedSize":200000,"supportsReasoning":true,"onlyReasoning":true,"temperature":1,"reasoning":{"effort":"high","summary":"auto"},"relatedModels":{"lite":"minimax-m2.5","reasoning":"minimax-m2.5"}},{"credits":"x0.26 credits","id":"minimax-m2.7","name":"MiniMax-M2.7","vendor":"f","maxOutputTokens":48000,"maxInputTokens":200000,"supportsToolCall":true,"supportsImages":true,"maxAllowedSize":200000,"supportsReasoning":true,"onlyReasoning":true,"temperature":1,"reasoning":{"effort":"medium","summary":"auto"},"relatedModels":{"lite":"minimax-m2.7","reasoning":"minimax-m2.7"}},{"credits":"x1.06 credits","id":"glm-5.1","name":"GLM-5.1","vendor":"e","maxOutputTokens":48000,"maxInputTokens":200000,"supportsToolCall":true,"supportsImages":false,"maxAllowedSize":200000,"supportsReasoning":true,"onlyReasoning":true,"temperature":1,"reasoning":{"effort":"medium","summary":"auto"},"relatedModels":{"lite":"glm-5.1","reasoning":"glm-5.1"}},{"credits":"x0.80 credits","id":"glm-5.0","name":"GLM-5.0","vendor":"e","maxOutputTokens":48000,"maxInputTokens":200000,"supportsToolCall":true,"supportsImages":false,"disabledMultimodal":true,"maxAllowedSize":200000,"supportsReasoning":true,"temperature":1,"relatedModels":{"lite":"glm-5.0","reasoning":"glm-5.0"}},{"credits":"x0.95 credits","id":"glm-5.0-turbo","name":"GLM-5.0-Turbo","vendor":"e","maxOutputTokens":48000,"maxInputTokens":200000,"supportsToolCall":true,"supportsImages":false,"maxAllowedSize":200000,"supportsReasoning":true,"onlyReasoning":true,"temperature":1,"reasoning":{"effort":"medium","summary":"auto"},"relatedModels":{"lite":"glm-5.0-turbo","reasoning":"glm-5.0-turbo"}},{"credits":"x0.95 credits","id":"glm-5v-turbo","name":"GLM-5v-Turbo","vendor":"e","maxOutputTokens":38000,"maxInputTokens":200000,"supportsToolCall":true,"supportsImages":true,"maxAllowedSize":200000,"supportsReasoning":true,"onlyReasoning":true,"temperature":1,"reasoning":{"effort":"medium","summary":"auto"},"relatedModels":{"lite":"glm-5v-turbo","reasoning":"glm-5v-turbo"}},{"credits":"x0.11 credits","id":"glm-4.6v","name":"GLM-4.6V","vendor":"e","maxOutputTokens":32000,"maxInputTokens":128000,"supportsToolCall":true,"supportsImages":true,"supportsReasoning":true,"temperature":1,"reasoning":{"effort":"high","summary":"auto"},"maxAllowedSize":128000,"relatedModels":{"lite":"glm-4.6v","reasoning":"glm-4.6v"}},{"credits":"x0.59 credits","id":"kimi-k2.6","name":"Kimi-K2.6","vendor":"f","maxOutputTokens":32000,"maxInputTokens":256000,"supportsToolCall":true,"supportsImages":true,"supportsReasoning":true,"temperature":1,"onlyReasoning":true,"reasoning":{"effort":"medium","summary":"auto"},"maxAllowedSize":256000,"relatedModels":{"lite":"kimi-k2.5","reasoning":"kimi-k2-thinking"}},{"credits":"x0.45 credits","id":"kimi-k2.5","name":"Kimi-K2.5","vendor":"f","maxOutputTokens":32000,"maxInputTokens":164000,"supportsToolCall":true,"supportsImages":true,"supportsReasoning":true,"temperature":1,"onlyReasoning":true,"reasoning":{"effort":"high","summary":"auto"},"maxAllowedSize":164000,"relatedModels":{"lite":"kimi-k2.5","reasoning":"kimi-k2.5"}},{"credits":"x0.40 credits","id":"auto","name":"Auto","vendor":"f","maxOutputTokens":32000,"maxInputTokens":168000,"supportsToolCall":true,"supportsImages":true,"disabledMultimodal":false,"maxAllowedSize":168000,"isDefault":true,"temperature":1,"descriptionEn":"Balanced performance and speed","descriptionZh":"平衡效果与速度","tags":["craft"],"relatedModels":{"lite":"auto","reasoning":"auto"}},{"credits":"x0.51 credits","id":"deepseek-v4-pro-exclusive","name":"Deepseek-V4-Pro","vendor":"f","maxOutputTokens":50000,"maxInputTokens":1000000,"supportsToolCall":true,"supportsImages":true,"maxAllowedSize":1000000,"supportsReasoning":true,"onlyReasoning":true,"temperature":1,"reasoning":{"effort":"high","summary":"auto"},"descriptionEn":"DeepSeek flagship model, supporting 1M context window","descriptionZh":"DeepSeek 旗舰模型,支持 1M 上下文窗口","relatedModels":{"lite":"deepseek-v4-pro-exclusive","reasoning":"deepseek-v4-pro-exclusive"}},{"credits":"x0.04 credits","id":"hunyuan-2.0-instruct","name":"Hunyuan-2.0-Instruct","vendor":"j","maxOutputTokens":16000,"maxInputTokens":128000,"supportsToolCall":true,"supportsImages":true,"disabledMultimodal":false,"supportsReasoning":true,"temperature":0.7,"onlyReasoning":true,"top_p":0.8,"top_k":20,"repetition_penalty":1.05,"reasoning":{"effort":"medium","summary":"auto"},"relatedModels":{"lite":"hunyuan-2.0-instruct","reasoning":"hunyuan-2.0-instruct"}},{"credits":"x5.00 credits","id":"hunyuan-image-v3.0","name":"Hunyuan Image V3","tags":["text-to-image"]}],"links":{"officialWebsite":"https://copilot.tencent.com/cli","helpDocument":"https://copilot.tencent.com/docs/cli","issueFeedback":"https://cnb.cool/codebuddy/codebuddy-code/-/issues","issueCreation":"https://cnb.cool/codebuddy/codebuddy-code/-/issues/new","mcpHelpDocument":"https://copilot.tencent.com/docs/cli/mcp","hooksHelpDocument":"https://copilot.tencent.com/docs/cli/hooks","sandboxHelpDocument":"https://copilot.tencent.com/docs/cli/bash-sandboxing","upgradeUrl":""},"productFeatures":{"BillingNotice":false,"CodeAdoptionRate":false,"CloudAgentsSmartMerge":true,"CustomModelsJSON":true,"CustomModelIdPrefix":true,"DeferToolLoading":true,"ImageGen":true,"ShareLink":true,"Artifact":true,"ScheduledTasks":true,"SkillManage":false,"SelectImage":true,"SkipToolCallSupportCheck":true},"commit":"583bb99e203fbbef3a2e42f36218688425e73bec","date":"2026-10-09T05:12:12.152Z"}
|