dominds 1.20.5 → 1.20.6

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.
Files changed (110) hide show
  1. package/dist/docs/diligence-push.md +1 -1
  2. package/dist/docs/diligence-push.zh.md +2 -2
  3. package/dist/docs/team_mgmt-toolset.md +2 -1
  4. package/dist/docs/team_mgmt-toolset.zh.md +2 -1
  5. package/dist/llm/client.d.ts +0 -1
  6. package/dist/llm/defaults.yaml +40 -109
  7. package/dist/llm/gen/anthropic.js +2 -4
  8. package/dist/llm/gen/openai-compatible.js +0 -10
  9. package/dist/llm/gen/openai.js +0 -10
  10. package/dist/llm/kernel-driver/guardrails.js +0 -1
  11. package/dist/server/setup-routes.js +1 -5
  12. package/dist/team.d.ts +3 -7
  13. package/dist/team.js +35 -37
  14. package/dist/tools/team_mgmt.js +23 -39
  15. package/package.json +3 -3
  16. package/webapp/dist/assets/{_basePickBy-DFzVggWM.js → _basePickBy-CCqhBZYD.js} +3 -3
  17. package/webapp/dist/assets/{_basePickBy-DFzVggWM.js.map → _basePickBy-CCqhBZYD.js.map} +1 -1
  18. package/webapp/dist/assets/{_baseUniq-CXD_3O9i.js → _baseUniq-CGIbBnpr.js} +2 -2
  19. package/webapp/dist/assets/{_baseUniq-CXD_3O9i.js.map → _baseUniq-CGIbBnpr.js.map} +1 -1
  20. package/webapp/dist/assets/{arc--yzhIodb.js → arc-lGW9r3fU.js} +2 -2
  21. package/webapp/dist/assets/{arc--yzhIodb.js.map → arc-lGW9r3fU.js.map} +1 -1
  22. package/webapp/dist/assets/{architectureDiagram-2XIMDMQ5-B2jDlUga.js → architectureDiagram-2XIMDMQ5-BQjkiQRN.js} +7 -7
  23. package/webapp/dist/assets/{architectureDiagram-2XIMDMQ5-B2jDlUga.js.map → architectureDiagram-2XIMDMQ5-BQjkiQRN.js.map} +1 -1
  24. package/webapp/dist/assets/{blockDiagram-WCTKOSBZ-BUPbccZo.js → blockDiagram-WCTKOSBZ-yCoQKKPD.js} +7 -7
  25. package/webapp/dist/assets/{blockDiagram-WCTKOSBZ-BUPbccZo.js.map → blockDiagram-WCTKOSBZ-yCoQKKPD.js.map} +1 -1
  26. package/webapp/dist/assets/{c4Diagram-IC4MRINW-DwTime9I.js → c4Diagram-IC4MRINW-BvR-EAr2.js} +3 -3
  27. package/webapp/dist/assets/{c4Diagram-IC4MRINW-DwTime9I.js.map → c4Diagram-IC4MRINW-BvR-EAr2.js.map} +1 -1
  28. package/webapp/dist/assets/{channel-C44ixz_J.js → channel-DLKhD5S_.js} +2 -2
  29. package/webapp/dist/assets/{channel-C44ixz_J.js.map → channel-DLKhD5S_.js.map} +1 -1
  30. package/webapp/dist/assets/{chunk-4BX2VUAB-D8GtQm2f.js → chunk-4BX2VUAB-DwX981uk.js} +2 -2
  31. package/webapp/dist/assets/{chunk-4BX2VUAB-D8GtQm2f.js.map → chunk-4BX2VUAB-DwX981uk.js.map} +1 -1
  32. package/webapp/dist/assets/{chunk-55IACEB6-D581Sluc.js → chunk-55IACEB6-OQ_p-C1f.js} +2 -2
  33. package/webapp/dist/assets/{chunk-55IACEB6-D581Sluc.js.map → chunk-55IACEB6-OQ_p-C1f.js.map} +1 -1
  34. package/webapp/dist/assets/{chunk-FMBD7UC4-DflSPxF8.js → chunk-FMBD7UC4-CW5uzfUP.js} +2 -2
  35. package/webapp/dist/assets/{chunk-FMBD7UC4-DflSPxF8.js.map → chunk-FMBD7UC4-CW5uzfUP.js.map} +1 -1
  36. package/webapp/dist/assets/{chunk-JSJVCQXG-CcUETDd7.js → chunk-JSJVCQXG-CnhLavxC.js} +2 -2
  37. package/webapp/dist/assets/{chunk-JSJVCQXG-CcUETDd7.js.map → chunk-JSJVCQXG-CnhLavxC.js.map} +1 -1
  38. package/webapp/dist/assets/{chunk-KX2RTZJC-DfcLbXaY.js → chunk-KX2RTZJC-DtyfjU3Z.js} +2 -2
  39. package/webapp/dist/assets/{chunk-KX2RTZJC-DfcLbXaY.js.map → chunk-KX2RTZJC-DtyfjU3Z.js.map} +1 -1
  40. package/webapp/dist/assets/{chunk-NQ4KR5QH-B0hUHzGe.js → chunk-NQ4KR5QH-6z82wIeO.js} +4 -4
  41. package/webapp/dist/assets/{chunk-NQ4KR5QH-B0hUHzGe.js.map → chunk-NQ4KR5QH-6z82wIeO.js.map} +1 -1
  42. package/webapp/dist/assets/{chunk-QZHKN3VN-V0IQhkyq.js → chunk-QZHKN3VN-BWMikvLc.js} +2 -2
  43. package/webapp/dist/assets/{chunk-QZHKN3VN-V0IQhkyq.js.map → chunk-QZHKN3VN-BWMikvLc.js.map} +1 -1
  44. package/webapp/dist/assets/{chunk-WL4C6EOR-Dlq3MRVu.js → chunk-WL4C6EOR-Bq_UYUUe.js} +6 -6
  45. package/webapp/dist/assets/{chunk-WL4C6EOR-Dlq3MRVu.js.map → chunk-WL4C6EOR-Bq_UYUUe.js.map} +1 -1
  46. package/webapp/dist/assets/{classDiagram-VBA2DB6C-23iqCPis.js → classDiagram-VBA2DB6C-D4mVjh6u.js} +7 -7
  47. package/webapp/dist/assets/{classDiagram-VBA2DB6C-23iqCPis.js.map → classDiagram-VBA2DB6C-D4mVjh6u.js.map} +1 -1
  48. package/webapp/dist/assets/{classDiagram-v2-RAHNMMFH-23iqCPis.js → classDiagram-v2-RAHNMMFH-D4mVjh6u.js} +7 -7
  49. package/webapp/dist/assets/{classDiagram-v2-RAHNMMFH-23iqCPis.js.map → classDiagram-v2-RAHNMMFH-D4mVjh6u.js.map} +1 -1
  50. package/webapp/dist/assets/{clone-DOk1nA0K.js → clone-D03eXoXz.js} +2 -2
  51. package/webapp/dist/assets/{clone-DOk1nA0K.js.map → clone-D03eXoXz.js.map} +1 -1
  52. package/webapp/dist/assets/{cose-bilkent-S5V4N54A-BRI_M3Z1.js → cose-bilkent-S5V4N54A-by8TqKPs.js} +2 -2
  53. package/webapp/dist/assets/{cose-bilkent-S5V4N54A-BRI_M3Z1.js.map → cose-bilkent-S5V4N54A-by8TqKPs.js.map} +1 -1
  54. package/webapp/dist/assets/{dagre-KLK3FWXG-PjbaHNi2.js → dagre-KLK3FWXG-CGGhHSaA.js} +7 -7
  55. package/webapp/dist/assets/{dagre-KLK3FWXG-PjbaHNi2.js.map → dagre-KLK3FWXG-CGGhHSaA.js.map} +1 -1
  56. package/webapp/dist/assets/{diagram-E7M64L7V-C9jrc2Yj.js → diagram-E7M64L7V-CQNrVkM8.js} +8 -8
  57. package/webapp/dist/assets/{diagram-E7M64L7V-C9jrc2Yj.js.map → diagram-E7M64L7V-CQNrVkM8.js.map} +1 -1
  58. package/webapp/dist/assets/{diagram-IFDJBPK2-D_B_8ZEE.js → diagram-IFDJBPK2-Dj4jbiH_.js} +7 -7
  59. package/webapp/dist/assets/{diagram-IFDJBPK2-D_B_8ZEE.js.map → diagram-IFDJBPK2-Dj4jbiH_.js.map} +1 -1
  60. package/webapp/dist/assets/{diagram-P4PSJMXO-BAGUvld_.js → diagram-P4PSJMXO-clZaP5j5.js} +7 -7
  61. package/webapp/dist/assets/{diagram-P4PSJMXO-BAGUvld_.js.map → diagram-P4PSJMXO-clZaP5j5.js.map} +1 -1
  62. package/webapp/dist/assets/{erDiagram-INFDFZHY-5ufs8FDF.js → erDiagram-INFDFZHY-BlwaMFO-.js} +5 -5
  63. package/webapp/dist/assets/{erDiagram-INFDFZHY-5ufs8FDF.js.map → erDiagram-INFDFZHY-BlwaMFO-.js.map} +1 -1
  64. package/webapp/dist/assets/{flowDiagram-PKNHOUZH-Bax4wCyq.js → flowDiagram-PKNHOUZH-C1yJlJ-L.js} +7 -7
  65. package/webapp/dist/assets/{flowDiagram-PKNHOUZH-Bax4wCyq.js.map → flowDiagram-PKNHOUZH-C1yJlJ-L.js.map} +1 -1
  66. package/webapp/dist/assets/{ganttDiagram-A5KZAMGK-9ZX_VymK.js → ganttDiagram-A5KZAMGK-BHcgwxiC.js} +3 -3
  67. package/webapp/dist/assets/{ganttDiagram-A5KZAMGK-9ZX_VymK.js.map → ganttDiagram-A5KZAMGK-BHcgwxiC.js.map} +1 -1
  68. package/webapp/dist/assets/{gitGraphDiagram-K3NZZRJ6-YbGo4EFg.js → gitGraphDiagram-K3NZZRJ6-BpV_b0Sk.js} +8 -8
  69. package/webapp/dist/assets/{gitGraphDiagram-K3NZZRJ6-YbGo4EFg.js.map → gitGraphDiagram-K3NZZRJ6-BpV_b0Sk.js.map} +1 -1
  70. package/webapp/dist/assets/{graph-B4UFhGtz.js → graph-LYTIRrV0.js} +3 -3
  71. package/webapp/dist/assets/{graph-B4UFhGtz.js.map → graph-LYTIRrV0.js.map} +1 -1
  72. package/webapp/dist/assets/{index-D7y9EEAl.js → index-Dr1QIzlU.js} +35 -39
  73. package/webapp/dist/assets/{index-D7y9EEAl.js.map → index-Dr1QIzlU.js.map} +1 -1
  74. package/webapp/dist/assets/{infoDiagram-LFFYTUFH-K9JKlk7P.js → infoDiagram-LFFYTUFH-D16vRd6t.js} +6 -6
  75. package/webapp/dist/assets/{infoDiagram-LFFYTUFH-K9JKlk7P.js.map → infoDiagram-LFFYTUFH-D16vRd6t.js.map} +1 -1
  76. package/webapp/dist/assets/{ishikawaDiagram-PHBUUO56-D7h7bNU_.js → ishikawaDiagram-PHBUUO56-ad0w6KbY.js} +2 -2
  77. package/webapp/dist/assets/{ishikawaDiagram-PHBUUO56-D7h7bNU_.js.map → ishikawaDiagram-PHBUUO56-ad0w6KbY.js.map} +1 -1
  78. package/webapp/dist/assets/{journeyDiagram-4ABVD52K-BHhkjUnE.js → journeyDiagram-4ABVD52K-BEUKxQwA.js} +5 -5
  79. package/webapp/dist/assets/{journeyDiagram-4ABVD52K-BHhkjUnE.js.map → journeyDiagram-4ABVD52K-BEUKxQwA.js.map} +1 -1
  80. package/webapp/dist/assets/{kanban-definition-K7BYSVSG-BsdCCeJO.js → kanban-definition-K7BYSVSG-Cc_1wmYt.js} +3 -3
  81. package/webapp/dist/assets/{kanban-definition-K7BYSVSG-BsdCCeJO.js.map → kanban-definition-K7BYSVSG-Cc_1wmYt.js.map} +1 -1
  82. package/webapp/dist/assets/{layout-CTqY3yh8.js → layout-DfelhMRI.js} +5 -5
  83. package/webapp/dist/assets/{layout-CTqY3yh8.js.map → layout-DfelhMRI.js.map} +1 -1
  84. package/webapp/dist/assets/{linear-D3vXpsJz.js → linear-B2vKHBUy.js} +2 -2
  85. package/webapp/dist/assets/{linear-D3vXpsJz.js.map → linear-B2vKHBUy.js.map} +1 -1
  86. package/webapp/dist/assets/{mindmap-definition-YRQLILUH-Df26nneZ.js → mindmap-definition-YRQLILUH-7OyH8l_A.js} +4 -4
  87. package/webapp/dist/assets/{mindmap-definition-YRQLILUH-Df26nneZ.js.map → mindmap-definition-YRQLILUH-7OyH8l_A.js.map} +1 -1
  88. package/webapp/dist/assets/{pieDiagram-SKSYHLDU-CORXrWQD.js → pieDiagram-SKSYHLDU-Bp_Um3GN.js} +8 -8
  89. package/webapp/dist/assets/{pieDiagram-SKSYHLDU-CORXrWQD.js.map → pieDiagram-SKSYHLDU-Bp_Um3GN.js.map} +1 -1
  90. package/webapp/dist/assets/{quadrantDiagram-337W2JSQ-D1iEgnz7.js → quadrantDiagram-337W2JSQ-CIF0UAGJ.js} +3 -3
  91. package/webapp/dist/assets/{quadrantDiagram-337W2JSQ-D1iEgnz7.js.map → quadrantDiagram-337W2JSQ-CIF0UAGJ.js.map} +1 -1
  92. package/webapp/dist/assets/{requirementDiagram-Z7DCOOCP-BTi9foPw.js → requirementDiagram-Z7DCOOCP-0_QWHfTc.js} +4 -4
  93. package/webapp/dist/assets/{requirementDiagram-Z7DCOOCP-BTi9foPw.js.map → requirementDiagram-Z7DCOOCP-0_QWHfTc.js.map} +1 -1
  94. package/webapp/dist/assets/{sankeyDiagram-WA2Y5GQK-DlXqXBte.js → sankeyDiagram-WA2Y5GQK-IOp7vxQp.js} +2 -2
  95. package/webapp/dist/assets/{sankeyDiagram-WA2Y5GQK-DlXqXBte.js.map → sankeyDiagram-WA2Y5GQK-IOp7vxQp.js.map} +1 -1
  96. package/webapp/dist/assets/{sequenceDiagram-2WXFIKYE-DtV5AvqW.js → sequenceDiagram-2WXFIKYE-BTImCEL7.js} +4 -4
  97. package/webapp/dist/assets/{sequenceDiagram-2WXFIKYE-DtV5AvqW.js.map → sequenceDiagram-2WXFIKYE-BTImCEL7.js.map} +1 -1
  98. package/webapp/dist/assets/{stateDiagram-RAJIS63D-BD05KYfc.js → stateDiagram-RAJIS63D-BhZQ-pCu.js} +9 -9
  99. package/webapp/dist/assets/{stateDiagram-RAJIS63D-BD05KYfc.js.map → stateDiagram-RAJIS63D-BhZQ-pCu.js.map} +1 -1
  100. package/webapp/dist/assets/{stateDiagram-v2-FVOUBMTO-ZWU-eA69.js → stateDiagram-v2-FVOUBMTO-9WcDoEut.js} +5 -5
  101. package/webapp/dist/assets/{stateDiagram-v2-FVOUBMTO-ZWU-eA69.js.map → stateDiagram-v2-FVOUBMTO-9WcDoEut.js.map} +1 -1
  102. package/webapp/dist/assets/{timeline-definition-YZTLITO2-Bz0iSxAq.js → timeline-definition-YZTLITO2-B4M7bruY.js} +3 -3
  103. package/webapp/dist/assets/{timeline-definition-YZTLITO2-Bz0iSxAq.js.map → timeline-definition-YZTLITO2-B4M7bruY.js.map} +1 -1
  104. package/webapp/dist/assets/{treemap-KZPCXAKY-VCn63bTk.js → treemap-KZPCXAKY-DpbBOd_r.js} +5 -5
  105. package/webapp/dist/assets/{treemap-KZPCXAKY-VCn63bTk.js.map → treemap-KZPCXAKY-DpbBOd_r.js.map} +1 -1
  106. package/webapp/dist/assets/{vennDiagram-LZ73GAT5-DMD4pzqJ.js → vennDiagram-LZ73GAT5-BBkDL813.js} +2 -2
  107. package/webapp/dist/assets/{vennDiagram-LZ73GAT5-DMD4pzqJ.js.map → vennDiagram-LZ73GAT5-BBkDL813.js.map} +1 -1
  108. package/webapp/dist/assets/{xychartDiagram-JWTSCODW-B5BYuiJN.js → xychartDiagram-JWTSCODW-CHuszw7E.js} +3 -3
  109. package/webapp/dist/assets/{xychartDiagram-JWTSCODW-B5BYuiJN.js.map → xychartDiagram-JWTSCODW-CHuszw7E.js.map} +1 -1
  110. package/webapp/dist/index.html +1 -1
@@ -126,7 +126,7 @@ members:
126
126
 
127
127
  Rules:
128
128
 
129
- - If missing, `diligence-push-max` defaults to **3** for that member.
129
+ - If missing, `diligence-push-max` defaults to **99** for that member.
130
130
  - If `diligence-push-max < 1`, diligence-push is disabled for that member (no injection), even if the diligence file exists.
131
131
  - Built-in shadow members `fuxi` and `pangu` default to `diligence-push-max: 0` unless explicitly overridden in team.yaml.
132
132
 
@@ -66,7 +66,7 @@ Dominds 主线对话旨在长期运行。主线对话"停止"(变为空闲)
66
66
 
67
67
  为避免无限循环,diligence-push 有一个按对话的预算(每个成员的 `diligence-push-max`),控制对于给定对话在当前预算内还能注入多少个自动继续的鞭策语;预算耗尽后,运行时会停止继续自动鞭策。
68
68
 
69
- - 默认值:**3**
69
+ - 默认值:**99**
70
70
  - 如果 `< 1`,则该成员的 diligence-push 有效禁用
71
71
  - 可通过 `.minds/team.yaml` 中的 `diligence-push-max` 按成员配置
72
72
 
@@ -114,7 +114,7 @@ members:
114
114
 
115
115
  规则:
116
116
 
117
- - 如果缺失,`diligence-push-max` 对于该成员默认为 **3**。
117
+ - 如果缺失,`diligence-push-max` 对于该成员默认为 **99**。
118
118
  - 如果 `diligence-push-max < 1`,则该成员的 diligence-push 被禁用(不注入),即使鞭策语文件存在。
119
119
  - 内置影子成员 `fuxi` 和 `pangu` 默认为 `diligence-push-max: 0`,除非在 team.yaml 中显式覆盖。
120
120
 
@@ -325,7 +325,8 @@ used in `.minds/team.yaml` member configurations.
325
325
  `apiType` notes (common values):
326
326
 
327
327
  - `openai`: uses the OpenAI **Responses API** (best for OpenAI official endpoints; requires a `/v1`-style `responses` endpoint)
328
- - `openai-compatible`: uses the OpenAI **Chat Completions API** (best for most “OpenAI-compatible third-party/proxy endpoints; e.g. Volcano Engine Ark `.../api/v3`)
328
+ - `anthropic`: uses the Anthropic **Messages API** (also used by Anthropic-compatible coding-plan endpoints; e.g. Volcano Engine Coding Plan `.../api/coding`)
329
+ - `openai-compatible`: uses the OpenAI **Chat Completions API** (best for most “OpenAI-compatible” third-party/proxy endpoints; e.g. a manually configured Ark `.../api/v3` endpoint)
329
330
  - **Vision support**: if the provider/model supports multimodal Chat Completions, Dominds will pass tool-output images (`func_result_msg.contentItems[].type=input_image`, e.g. from MCP tools) to the model as `image_url` inputs after reading the persisted artifact; unsupported mime types are downgraded to text.
330
331
 
331
332
  ```yaml
@@ -266,7 +266,8 @@
266
266
  `apiType` 说明(常见值):
267
267
 
268
268
  - `openai`:使用 OpenAI **Responses API**(适用于 OpenAI 官方;需要 `/v1` 语义的 `responses` 端点)
269
- - `openai-compatible`:使用 OpenAI **Chat Completions API**(适用于多数“OpenAI 兼容”第三方/代理;例如 Volcano Engine Ark `.../api/v3`)
269
+ - `anthropic`:使用 Anthropic **Messages API**(也用于 Anthropic 兼容的 Coding Plan 端点;例如 Volcano Engine Coding Plan `.../api/coding`)
270
+ - `openai-compatible`:使用 OpenAI **Chat Completions API**(适用于多数“OpenAI 兼容”第三方/代理;例如手动配置的 Ark `.../api/v3` 端点)
270
271
  - **识图支持**:如果该 provider/model 支持 Chat Completions 的多模态输入,Dominds 会把工具输出里的图片(`func_result_msg.contentItems[].type=input_image`,来自 MCP 等工具)读取 artifact 后作为 `image_url` 形式喂给模型;不支持的 mimeType 会降级成文本提示。
271
272
 
272
273
  ```yaml
@@ -43,7 +43,6 @@ export type ModelParamOption = (ModelParamOptionBase & {
43
43
  default?: string;
44
44
  });
45
45
  export type ProviderModelParamOptions = {
46
- general?: Record<string, ModelParamOption>;
47
46
  codex?: Record<string, ModelParamOption>;
48
47
  openai?: Record<string, ModelParamOption>;
49
48
  anthropic?: Record<string, ModelParamOption>;
@@ -28,12 +28,6 @@ providers:
28
28
  #
29
29
  # These are documentation hints for humans/agents; they are not auto-applied.
30
30
  model_param_options:
31
- general:
32
- max_tokens:
33
- # Provider-agnostic cap on generated tokens.
34
- type: integer
35
- min: 1
36
- description: Maximum tokens to generate (provider-agnostic override).
37
31
  codex:
38
32
  # Isolation principle:
39
33
  # - These hints describe the Codex wrapper only.
@@ -95,10 +89,6 @@ providers:
95
89
  json_response:
96
90
  type: boolean
97
91
  description: Force JSON object output mode.
98
- max_tokens:
99
- type: integer
100
- min: 1
101
- description: Provider-specific max tokens override.
102
92
  models:
103
93
  gpt-5.5:
104
94
  name: GPT-5.5
@@ -185,11 +175,6 @@ providers:
185
175
  tech_spec_url: https://platform.minimaxi.com/docs/api-reference/text-anthropic-api
186
176
  api_mgmt_url: https://platform.minimaxi.com/
187
177
  model_param_options:
188
- general:
189
- max_tokens:
190
- type: integer
191
- min: 1
192
- description: Fully supported. Maximum number of tokens to generate.
193
178
  anthropic:
194
179
  temperature:
195
180
  type: number
@@ -242,11 +227,6 @@ providers:
242
227
  tech_spec_url: https://platform.minimaxi.com/docs/api-reference/text-anthropic-api
243
228
  api_mgmt_url: https://platform.minimaxi.com/
244
229
  model_param_options:
245
- general:
246
- max_tokens:
247
- type: integer
248
- min: 1
249
- description: Fully supported. Maximum number of tokens to generate.
250
230
  anthropic:
251
231
  temperature:
252
232
  type: number
@@ -299,11 +279,6 @@ providers:
299
279
  tech_spec_url: https://platform.minimax.io/docs/api-reference/text-anthropic-api
300
280
  api_mgmt_url: https://platform.minimax.io/
301
281
  model_param_options:
302
- general:
303
- max_tokens:
304
- type: integer
305
- min: 1
306
- description: Fully supported. Maximum number of tokens to generate.
307
282
  anthropic:
308
283
  temperature:
309
284
  type: number
@@ -356,11 +331,6 @@ providers:
356
331
  tech_spec_url: https://platform.minimax.io/docs/api-reference/text-anthropic-api
357
332
  api_mgmt_url: https://platform.minimax.io/
358
333
  model_param_options:
359
- general:
360
- max_tokens:
361
- type: integer
362
- min: 1
363
- description: Fully supported. Maximum number of tokens to generate.
364
334
  anthropic:
365
335
  temperature:
366
336
  type: number
@@ -481,95 +451,81 @@ providers:
481
451
  name: Volcano Engine Coding Plan
482
452
  apiType: anthropic
483
453
  baseUrl: https://ark.cn-beijing.volces.com/api/coding
484
- apiKeyEnvVar: ARK_CP_API_KEY
454
+ apiKeyEnvVar: ARK_API_KEY
485
455
  tech_spec_url: https://www.volcengine.com/docs/82379/1928261
486
456
  api_mgmt_url: https://console.volcengine.com/ark
487
457
  models:
488
- doubao-seed-code:
489
- name: Doubao Seed Code Preview
458
+ doubao-seed-2.0-code:
459
+ name: Doubao-Seed-2.0-Code
490
460
  supports_image_input: true
491
461
  context_length: 256000
492
462
  input_length: 256000
493
463
  output_length: 8192
494
464
  context_window: '256K'
495
- optimization: 专为Agentic Coding任务优化
496
- deepseek-v3.2:
497
- name: DeepSeek-V3.2
498
- supports_image_input: false
499
- context_length: 128000
500
- input_length: 96000
501
- output_length: 32000
502
- context_window: '128K'
503
- glm-4.7:
504
- name: GLM 4.7
505
- supports_image_input: false
465
+ doubao-seed-2.0-pro:
466
+ name: Doubao-Seed-2.0-pro
467
+ supports_image_input: true
506
468
  context_length: 256000
507
469
  input_length: 256000
508
470
  output_length: 8192
509
471
  context_window: '256K'
510
- kimi-k2.5:
511
- name: Kimi K2.5
512
- context_length: 200000
513
- input_length: 200000
514
- output_length: 8192
515
- context_window: '200K (约20万汉字)'
516
- volcano-engine:
517
- name: Volcano Engine
518
- apiType: openai-compatible
519
- baseUrl: https://ark.cn-beijing.volces.com/api/v3
520
- apiKeyEnvVar: ARK_API_KEY
521
- tech_spec_url: https://api.volcengine.com/api-docs/view?serviceCode=ark&version=2024-01-01
522
- api_mgmt_url: https://console.volcengine.com/ark
523
- models:
524
- deepseek-v3-2-251201:
525
- name: DeepSeek-V3.2
472
+ doubao-seed-2.0-lite:
473
+ name: Doubao-Seed-2.0-lite
526
474
  supports_image_input: false
527
- context_length: 128000
528
- input_length: 96000
529
- output_length: 32000
530
- context_window: '128K'
531
- doubao-seed-code-preview-251028:
532
- name: Doubao Seed Code Preview 251028
475
+ context_length: 256000
476
+ input_length: 256000
477
+ output_length: 8192
478
+ context_window: '256K'
479
+ doubao-seed-code:
480
+ name: Doubao-Seed-Code
533
481
  supports_image_input: true
534
482
  context_length: 256000
535
483
  input_length: 256000
536
484
  output_length: 8192
537
485
  context_window: '256K'
538
- doubao-seed-1-6-251015:
539
- name: Doubao Seed 1.6
486
+ minimax-m2.7:
487
+ name: MiniMax-M2.7
488
+ upstream_model: minimax-m2.7
489
+ supports_image_input: false
490
+ context_length: 204800
491
+ input_length: 204800
492
+ output_length: 8192
493
+ context_window: '204K'
494
+ glm-5.1:
495
+ name: GLM-5.1
540
496
  supports_image_input: false
541
497
  context_length: 256000
542
498
  input_length: 256000
543
499
  output_length: 8192
544
500
  context_window: '256K'
545
- doubao-seed-1-6-thinking-250715:
546
- name: Doubao Seed 1.6 Thinking
501
+ glm-4.7:
502
+ name: GLM-4.7
547
503
  supports_image_input: false
548
504
  context_length: 256000
549
505
  input_length: 256000
550
506
  output_length: 8192
551
507
  context_window: '256K'
552
- doubao-seed-1-6-lite-251015:
553
- name: Doubao Seed 1.6 Lite
508
+ deepseek-v3.2:
509
+ name: DeepSeek-V3.2
554
510
  supports_image_input: false
555
- context_length: 32000
556
- input_length: 32000
557
- output_length: 8192
558
- context_window: '32K'
559
- kimi-k2-250905:
560
- name: Kimi K2
511
+ context_length: 128000
512
+ input_length: 96000
513
+ output_length: 32000
514
+ context_window: '128K'
515
+ kimi-k2.6:
516
+ name: Kimi-K2.6
561
517
  supports_image_input: false
562
518
  context_length: 200000
563
519
  input_length: 200000
564
520
  output_length: 8192
565
- context_window: '200K (约20万汉字)'
566
- deepseek-v3-1-terminus:
567
- name: DeepSeek V3.1 Terminus
521
+ context_window: '200K'
522
+ kimi-k2.5:
523
+ name: Kimi-K2.5
568
524
  supports_image_input: false
569
- context_length: 131072
570
- input_length: 131072
525
+ context_length: 200000
526
+ input_length: 200000
571
527
  output_length: 8192
572
- context_window: '128K'
528
+ context_window: '200K'
573
529
  anthropic:
574
530
  name: Anthropic
575
531
  apiType: anthropic
@@ -578,11 +534,6 @@ providers:
578
534
  tech_spec_url: https://docs.anthropic.com/en/docs
579
535
  api_mgmt_url: https://console.anthropic.com/
580
536
  model_param_options:
581
- general:
582
- max_tokens:
583
- type: integer
584
- min: 1
585
- description: Maximum tokens to generate (provider-agnostic override).
586
537
  anthropic:
587
538
  temperature:
588
539
  type: number
@@ -639,11 +590,6 @@ providers:
639
590
  tech_spec_url: https://api-docs.deepseek.com/zh-cn/guides/anthropic_api
640
591
  api_mgmt_url: https://platform.deepseek.com/api_keys
641
592
  model_param_options:
642
- general:
643
- max_tokens:
644
- type: integer
645
- min: 1
646
- description: Fully supported. Maximum number of tokens to generate.
647
593
  anthropic:
648
594
  temperature:
649
595
  type: number
@@ -698,11 +644,6 @@ providers:
698
644
  tech_spec_url: https://help.aliyun.com/zh/model-studio/other-tools-coding-plan
699
645
  api_mgmt_url: https://bailian.console.aliyun.com/cn-beijing/?tab=model#/efm/coding_plan
700
646
  model_param_options:
701
- general:
702
- max_tokens:
703
- type: integer
704
- min: 1
705
- description: Maximum tokens to generate (provider-agnostic override).
706
647
  anthropic:
707
648
  temperature:
708
649
  type: number
@@ -780,12 +721,6 @@ providers:
780
721
  api_mgmt_url: https://platform.openai.com/api-keys
781
722
  # These are documentation hints for humans/agents; they are not auto-applied.
782
723
  model_param_options:
783
- general:
784
- max_tokens:
785
- # Provider-agnostic cap on generated tokens.
786
- type: integer
787
- min: 1
788
- description: Maximum tokens to generate (provider-agnostic override).
789
724
  openai:
790
725
  # Isolation principle:
791
726
  # - These hints describe the OpenAI Responses wrapper only.
@@ -864,10 +799,6 @@ providers:
864
799
  web_search_include_sources:
865
800
  type: boolean
866
801
  description: Include `web_search_call.action.sources` in the response payload.
867
- max_tokens:
868
- type: integer
869
- min: 1
870
- description: Provider-specific max tokens override.
871
802
  models:
872
803
  gpt-5.5:
873
804
  name: GPT-5.5
@@ -1061,7 +1061,6 @@ class AnthropicGen {
1061
1061
  const requestMessages = await buildAnthropicRequestMessages(context, requestContext, providerConfig, receiver.toolResultImageIngest, receiver.userImageIngest);
1062
1062
  const anthropicParams = agent.model_params?.anthropic || {};
1063
1063
  const forceJsonResponse = resolveAnthropicJsonResponseEnabled(agent);
1064
- const maxTokens = agent.model_params?.max_tokens;
1065
1064
  // Safety check: model should never be undefined at this point due to validation in driver
1066
1065
  if (!agent.model) {
1067
1066
  throw new Error(`Internal error: Model is undefined for agent '${agent.id}' after validation`);
@@ -1074,7 +1073,7 @@ class AnthropicGen {
1074
1073
  model: agent.model,
1075
1074
  messages: requestMessages,
1076
1075
  system: systemPrompt.length > 0 ? systemPrompt : undefined,
1077
- max_tokens: maxTokens ?? anthropicParams.max_tokens ?? outputLength ?? 1024,
1076
+ max_tokens: anthropicParams.max_tokens ?? outputLength ?? 1024,
1078
1077
  ...(anthropicTools.length > 0 && { tools: anthropicTools }),
1079
1078
  ...(forceJsonResponse && {
1080
1079
  tool_choice: {
@@ -1116,7 +1115,6 @@ class AnthropicGen {
1116
1115
  });
1117
1116
  const anthropicParams = agent.model_params?.anthropic || {};
1118
1117
  const forceJsonResponse = resolveAnthropicJsonResponseEnabled(agent);
1119
- const maxTokens = agent.model_params?.max_tokens;
1120
1118
  // Safety check: model should never be undefined at this point due to validation in driver
1121
1119
  if (!agent.model) {
1122
1120
  throw new Error(`Internal error: Model is undefined for agent '${agent.id}' after validation`);
@@ -1129,7 +1127,7 @@ class AnthropicGen {
1129
1127
  model: agent.model,
1130
1128
  messages: requestMessages,
1131
1129
  system: systemPrompt.length > 0 ? systemPrompt : undefined,
1132
- max_tokens: maxTokens ?? anthropicParams.max_tokens ?? outputLength ?? 1024,
1130
+ max_tokens: anthropicParams.max_tokens ?? outputLength ?? 1024,
1133
1131
  ...(anthropicTools.length > 0 && { tools: anthropicTools }),
1134
1132
  ...(forceJsonResponse && {
1135
1133
  tool_choice: {
@@ -689,10 +689,6 @@ class OpenAiCompatibleGen {
689
689
  onUserImageIngest: receiver.userImageIngest,
690
690
  });
691
691
  const openAiParams = agent.model_params?.openai || {};
692
- const maxTokens = agent.model_params?.max_tokens;
693
- const modelInfo = providerConfig.models[agent.model];
694
- const outputLength = modelInfo?.output_length;
695
- const maxOutputTokens = maxTokens ?? openAiParams.max_tokens ?? outputLength ?? 1024;
696
692
  const parallelToolCalls = openAiParams.parallel_tool_calls ?? true;
697
693
  const responseFormat = buildChatCompletionResponseFormat(openAiParams);
698
694
  const payload = {
@@ -711,7 +707,6 @@ class OpenAiCompatibleGen {
711
707
  ? { tools: funcTools.map(funcToolToChatCompletionTool), tool_choice: 'auto' }
712
708
  : { tool_choice: 'none' }),
713
709
  parallel_tool_calls: parallelToolCalls,
714
- max_tokens: maxOutputTokens,
715
710
  };
716
711
  let sayingStarted = false;
717
712
  let thinkingStarted = false;
@@ -896,10 +891,6 @@ class OpenAiCompatibleGen {
896
891
  },
897
892
  });
898
893
  const openAiParams = agent.model_params?.openai || {};
899
- const maxTokens = agent.model_params?.max_tokens;
900
- const modelInfo = providerConfig.models[agent.model];
901
- const outputLength = modelInfo?.output_length;
902
- const maxOutputTokens = maxTokens ?? openAiParams.max_tokens ?? outputLength ?? 1024;
903
894
  const parallelToolCalls = openAiParams.parallel_tool_calls ?? true;
904
895
  const responseFormat = buildChatCompletionResponseFormat(openAiParams);
905
896
  const payload = {
@@ -914,7 +905,6 @@ class OpenAiCompatibleGen {
914
905
  ...(funcTools.length > 0 && { tools: funcTools.map(funcToolToChatCompletionTool) }),
915
906
  tool_choice: 'auto',
916
907
  parallel_tool_calls: parallelToolCalls,
917
- max_tokens: maxOutputTokens,
918
908
  };
919
909
  try {
920
910
  const response = await client.chat.completions.create(payload, {
@@ -1214,10 +1214,6 @@ class OpenAiGen {
1214
1214
  const client = new openai_1.default({ apiKey, baseURL: providerConfig.baseUrl });
1215
1215
  const requestInput = await buildOpenAiRequestInput(context, requestContext, providerConfig, receiver.toolResultImageIngest, receiver.userImageIngest);
1216
1216
  const openAiParams = agent.model_params?.openai || {};
1217
- const maxTokens = agent.model_params?.max_tokens;
1218
- const modelInfo = providerConfig.models[agent.model];
1219
- const outputLength = modelInfo?.output_length;
1220
- const maxOutputTokens = maxTokens ?? openAiParams.max_tokens ?? outputLength ?? 1024;
1221
1217
  const parallelToolCalls = openAiParams.parallel_tool_calls ?? true;
1222
1218
  const textConfig = buildOpenAiTextConfig(openAiParams);
1223
1219
  const reasoning = buildOpenAiReasoning(openAiParams);
@@ -1229,7 +1225,6 @@ class OpenAiGen {
1229
1225
  model: agent.model,
1230
1226
  input: requestInput,
1231
1227
  instructions: systemPrompt.trim().length > 0 ? systemPrompt : undefined,
1232
- max_output_tokens: maxOutputTokens,
1233
1228
  parallel_tool_calls: parallelToolCalls,
1234
1229
  store: false,
1235
1230
  stream: true,
@@ -1989,10 +1984,6 @@ class OpenAiGen {
1989
1984
  outputs.push({ kind: 'user_image_ingest', ingest });
1990
1985
  });
1991
1986
  const openAiParams = agent.model_params?.openai || {};
1992
- const maxTokens = agent.model_params?.max_tokens;
1993
- const modelInfo = providerConfig.models[agent.model];
1994
- const outputLength = modelInfo?.output_length;
1995
- const maxOutputTokens = maxTokens ?? openAiParams.max_tokens ?? outputLength ?? 1024;
1996
1987
  const parallelToolCalls = openAiParams.parallel_tool_calls ?? true;
1997
1988
  const textConfig = buildOpenAiTextConfig(openAiParams);
1998
1989
  const reasoning = buildOpenAiReasoning(openAiParams);
@@ -2003,7 +1994,6 @@ class OpenAiGen {
2003
1994
  model: agent.model,
2004
1995
  input: requestInput,
2005
1996
  instructions: systemPrompt.trim().length > 0 ? systemPrompt : undefined,
2006
- max_output_tokens: maxOutputTokens,
2007
1997
  parallel_tool_calls: parallelToolCalls,
2008
1998
  store: false,
2009
1999
  stream: false,
@@ -18,7 +18,6 @@ function mergeModelParams(base, overlay) {
18
18
  if (!overlay)
19
19
  return base;
20
20
  return {
21
- max_tokens: overlay.max_tokens ?? base.max_tokens,
22
21
  codex: { ...(base.codex ?? {}), ...(overlay.codex ?? {}) },
23
22
  openai: { ...(base.openai ?? {}), ...(overlay.openai ?? {}) },
24
23
  anthropic: { ...(base.anthropic ?? {}), ...(overlay.anthropic ?? {}) },
@@ -352,7 +352,6 @@ function extractProminentEnumModelParams(modelParamOptions) {
352
352
  sections.push([namespace, section]);
353
353
  }
354
354
  };
355
- addSection('general', modelParamOptions.general);
356
355
  addSection('codex', modelParamOptions.codex);
357
356
  addSection('openai', modelParamOptions.openai);
358
357
  addSection('anthropic', modelParamOptions.anthropic);
@@ -671,10 +670,7 @@ function parseOptionalTeamModelParams(value) {
671
670
  return null;
672
671
  const out = {};
673
672
  for (const [namespace, nsUnknown] of Object.entries(value)) {
674
- if (namespace !== 'general' &&
675
- namespace !== 'codex' &&
676
- namespace !== 'openai' &&
677
- namespace !== 'anthropic')
673
+ if (namespace !== 'codex' && namespace !== 'openai' && namespace !== 'anthropic')
678
674
  return null;
679
675
  if (!isRecord(nsUnknown))
680
676
  return null;
package/dist/team.d.ts CHANGED
@@ -28,7 +28,6 @@ export declare namespace Team {
28
28
  export function listExplicitToolsets(member: Team.Member): string[];
29
29
  type CodexModelParams = {
30
30
  temperature?: number;
31
- max_tokens?: number;
32
31
  service_tier?: 'auto' | 'default' | 'flex' | 'scale' | 'priority';
33
32
  top_p?: number;
34
33
  reasoning_effort?: 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh';
@@ -40,7 +39,6 @@ export declare namespace Team {
40
39
  };
41
40
  type OpenAiModelParams = {
42
41
  temperature?: number;
43
- max_tokens?: number;
44
42
  service_tier?: 'auto' | 'default' | 'flex' | 'scale' | 'priority';
45
43
  top_p?: number;
46
44
  reasoning_effort?: 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh';
@@ -58,7 +56,6 @@ export declare namespace Team {
58
56
  web_search_include_sources?: boolean;
59
57
  };
60
58
  export interface ModelParams {
61
- max_tokens?: number;
62
59
  json_response?: boolean;
63
60
  codex?: CodexModelParams;
64
61
  openai?: OpenAiModelParams;
@@ -177,10 +174,9 @@ export declare namespace Team {
177
174
  export function load(): Promise<Team>;
178
175
  export const TEAM_YAML_ROOT_KEYS: readonly ["member_defaults", "default_responder", "shell_specialists", "members"];
179
176
  export const TEAM_YAML_MEMBER_KEYS: readonly ["name", "from", "use", "import", "provider", "model", "gofor", "nogo", "toolsets", "tools", "model_params", "fbr-effort", "fbr_effort", "fbr_model_params", "diligence-push-max", "diligence_push_max", "read_dirs", "write_dirs", "no_read_dirs", "no_write_dirs", "read_file_ext_names", "write_file_ext_names", "no_read_file_ext_names", "no_write_file_ext_names", "icon", "streaming", "hidden"];
180
- export const TEAM_YAML_MODEL_PARAMS_ROOT_KEYS: readonly ["max_tokens", "json_response", "general", "codex", "openai", "anthropic"];
181
- export const TEAM_YAML_MODEL_PARAMS_GENERAL_KEYS: readonly ["max_tokens"];
182
- export const TEAM_YAML_MODEL_PARAMS_OPENAI_KEYS: readonly ["temperature", "max_tokens", "service_tier", "top_p", "reasoning_effort", "reasoning_summary", "verbosity", "parallel_tool_calls", "safety_identifier", "text_format", "text_format_json_schema_name", "text_format_json_schema", "text_format_json_schema_strict", "web_search_tool", "web_search_context_size", "web_search_allowed_domains", "web_search_include_sources"];
183
- export const TEAM_YAML_MODEL_PARAMS_CODEX_KEYS: readonly ["temperature", "max_tokens", "service_tier", "top_p", "reasoning_effort", "reasoning_summary", "verbosity", "parallel_tool_calls", "web_search", "json_response"];
177
+ export const TEAM_YAML_MODEL_PARAMS_ROOT_KEYS: readonly ["json_response", "codex", "openai", "anthropic"];
178
+ export const TEAM_YAML_MODEL_PARAMS_OPENAI_KEYS: readonly ["temperature", "service_tier", "top_p", "reasoning_effort", "reasoning_summary", "verbosity", "parallel_tool_calls", "safety_identifier", "text_format", "text_format_json_schema_name", "text_format_json_schema", "text_format_json_schema_strict", "web_search_tool", "web_search_context_size", "web_search_allowed_domains", "web_search_include_sources"];
179
+ export const TEAM_YAML_MODEL_PARAMS_CODEX_KEYS: readonly ["temperature", "service_tier", "top_p", "reasoning_effort", "reasoning_summary", "verbosity", "parallel_tool_calls", "web_search", "json_response"];
184
180
  export const TEAM_YAML_MODEL_PARAMS_ANTHROPIC_KEYS: readonly ["temperature", "max_tokens", "top_p", "top_k", "stop_sequences", "reasoning_split", "json_response"];
185
181
  export {};
186
182
  }