@researai/deepscientist 1.5.12 → 1.5.14

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 (99) hide show
  1. package/bin/ds.js +20 -3
  2. package/docs/en/00_QUICK_START.md +24 -5
  3. package/docs/en/01_SETTINGS_REFERENCE.md +4 -0
  4. package/docs/en/05_TUI_GUIDE.md +466 -96
  5. package/docs/en/09_DOCTOR.md +24 -5
  6. package/docs/en/15_CODEX_PROVIDER_SETUP.md +113 -15
  7. package/docs/en/README.md +2 -0
  8. package/docs/zh/00_QUICK_START.md +24 -5
  9. package/docs/zh/01_SETTINGS_REFERENCE.md +4 -0
  10. package/docs/zh/05_TUI_GUIDE.md +465 -82
  11. package/docs/zh/09_DOCTOR.md +24 -5
  12. package/docs/zh/15_CODEX_PROVIDER_SETUP.md +113 -15
  13. package/docs/zh/README.md +2 -0
  14. package/package.json +2 -1
  15. package/pyproject.toml +1 -1
  16. package/src/deepscientist/__init__.py +1 -1
  17. package/src/deepscientist/artifact/service.py +125 -2
  18. package/src/deepscientist/cli.py +3 -0
  19. package/src/deepscientist/codex_cli_compat.py +117 -0
  20. package/src/deepscientist/config/service.py +53 -6
  21. package/src/deepscientist/connector/lingzhu_support.py +23 -4
  22. package/src/deepscientist/daemon/app.py +111 -30
  23. package/src/deepscientist/mcp/server.py +161 -19
  24. package/src/deepscientist/prompts/builder.py +13 -54
  25. package/src/deepscientist/quest/service.py +99 -0
  26. package/src/deepscientist/quest/stage_views.py +134 -29
  27. package/src/deepscientist/runners/codex.py +11 -2
  28. package/src/deepscientist/runners/runtime_overrides.py +3 -0
  29. package/src/deepscientist/shared.py +6 -1
  30. package/src/prompts/system.md +220 -2065
  31. package/src/skills/baseline/SKILL.md +265 -994
  32. package/src/skills/baseline/references/artifact-payload-examples.md +39 -0
  33. package/src/skills/baseline/references/baseline-checklist-template.md +21 -32
  34. package/src/skills/baseline/references/baseline-plan-template.md +41 -57
  35. package/src/tui/dist/app/AppContainer.js +1442 -52
  36. package/src/tui/dist/components/Composer.js +1 -1
  37. package/src/tui/dist/components/ConfigScreen.js +190 -36
  38. package/src/tui/dist/components/GradientStatusText.js +1 -20
  39. package/src/tui/dist/components/InputPrompt.js +41 -32
  40. package/src/tui/dist/components/LoadingIndicator.js +1 -1
  41. package/src/tui/dist/components/Logo.js +61 -38
  42. package/src/tui/dist/components/MainContent.js +10 -3
  43. package/src/tui/dist/components/WelcomePanel.js +4 -12
  44. package/src/tui/dist/components/messages/AssistantMessage.js +1 -1
  45. package/src/tui/dist/components/messages/BashExecOperationMessage.js +3 -3
  46. package/src/tui/dist/components/messages/OperationMessage.js +1 -1
  47. package/src/tui/dist/index.js +28 -1
  48. package/src/tui/dist/layouts/DefaultAppLayout.js +3 -3
  49. package/src/tui/dist/lib/api.js +17 -0
  50. package/src/tui/dist/lib/connectorConfig.js +90 -0
  51. package/src/tui/dist/lib/connectors.js +261 -0
  52. package/src/tui/dist/lib/qr.js +21 -0
  53. package/src/tui/dist/semantic-colors.js +29 -19
  54. package/src/tui/package.json +2 -1
  55. package/src/ui/dist/assets/{AiManusChatView-CnJcXynW.js → AiManusChatView-DaF9Nge_.js} +12 -12
  56. package/src/ui/dist/assets/{AnalysisPlugin-DeyzPEhV.js → AnalysisPlugin-BSVx6dXE.js} +1 -1
  57. package/src/ui/dist/assets/{CliPlugin-CB1YODQn.js → CliPlugin-C9gzJX41.js} +9 -9
  58. package/src/ui/dist/assets/{CodeEditorPlugin-B-xicq1e.js → CodeEditorPlugin-DU9G0Tox.js} +8 -8
  59. package/src/ui/dist/assets/{CodeViewerPlugin-DT54ysXa.js → CodeViewerPlugin-DoX_fI9l.js} +5 -5
  60. package/src/ui/dist/assets/{DocViewerPlugin-DQtKT-VD.js → DocViewerPlugin-C4FWIXuU.js} +3 -3
  61. package/src/ui/dist/assets/{GitDiffViewerPlugin-hqHbCfnv.js → GitDiffViewerPlugin-BgfFMgtf.js} +20 -20
  62. package/src/ui/dist/assets/{ImageViewerPlugin-OcVo33jV.js → ImageViewerPlugin-tcPkfY_x.js} +5 -5
  63. package/src/ui/dist/assets/{LabCopilotPanel-DdGwhEUV.js → LabCopilotPanel-_dKV60Bf.js} +11 -11
  64. package/src/ui/dist/assets/{LabPlugin-Ciz1gDaX.js → LabPlugin-Bje0ayoC.js} +2 -2
  65. package/src/ui/dist/assets/{LatexPlugin-BhmjNQRC.js → LatexPlugin-CVsBzAln.js} +7 -7
  66. package/src/ui/dist/assets/{MarkdownViewerPlugin-BzdVH9Bx.js → MarkdownViewerPlugin-xjmrqv_8.js} +4 -4
  67. package/src/ui/dist/assets/{MarketplacePlugin-DmyHspXt.js → MarketplacePlugin-mMM2A8wP.js} +3 -3
  68. package/src/ui/dist/assets/{NotebookEditor-BTVYRGkm.js → NotebookEditor-3kVDSOBo.js} +11 -11
  69. package/src/ui/dist/assets/{NotebookEditor-BMXKrDRk.js → NotebookEditor-SoJ8X-MO.js} +1 -1
  70. package/src/ui/dist/assets/{PdfLoader-CvcjJHXv.js → PdfLoader-DElVuHl9.js} +1 -1
  71. package/src/ui/dist/assets/{PdfMarkdownPlugin-DW2ej8Vk.js → PdfMarkdownPlugin-Bq88XT4G.js} +2 -2
  72. package/src/ui/dist/assets/{PdfViewerPlugin-CmlDxbhU.js → PdfViewerPlugin-CsCXMo9S.js} +10 -10
  73. package/src/ui/dist/assets/{SearchPlugin-DAjQZPSv.js → SearchPlugin-oUPvy19k.js} +1 -1
  74. package/src/ui/dist/assets/{TextViewerPlugin-C-nVAZb_.js → TextViewerPlugin-CRkT9yNy.js} +5 -5
  75. package/src/ui/dist/assets/{VNCViewer-D7-dIYon.js → VNCViewer-BgbuvWhR.js} +10 -10
  76. package/src/ui/dist/assets/{bot-C_G4WtNI.js → bot-v_RASACv.js} +1 -1
  77. package/src/ui/dist/assets/{code-Cd7WfiWq.js → code-5hC9d0VH.js} +1 -1
  78. package/src/ui/dist/assets/{file-content-B57zsL9y.js → file-content-D1PxfOrp.js} +1 -1
  79. package/src/ui/dist/assets/{file-diff-panel-DVoheLFq.js → file-diff-panel-DG1oT_Hj.js} +1 -1
  80. package/src/ui/dist/assets/{file-socket-B5kXFxZP.js → file-socket-BmdFYQlk.js} +1 -1
  81. package/src/ui/dist/assets/{image-LLOjkMHF.js → image-Dqe2X2tW.js} +1 -1
  82. package/src/ui/dist/assets/{index-Dxa2eYMY.js → index-DVsMKK_y.js} +1 -1
  83. package/src/ui/dist/assets/{index-C3r2iGrp.js → index-Duvz8Ip0.js} +12 -12
  84. package/src/ui/dist/assets/{index-CLQauncb.js → index-Nt9hS4ck.js} +470 -165
  85. package/src/ui/dist/assets/{index-hOUOWbW2.js → index-RDlNXXx1.js} +2 -2
  86. package/src/ui/dist/assets/{monaco-BGGAEii3.js → monaco-DIXge1CP.js} +1 -1
  87. package/src/ui/dist/assets/{pdf-effect-queue-DlEr1_y5.js → pdf-effect-queue-BBTTQaO-.js} +1 -1
  88. package/src/ui/dist/assets/{popover-CWJbJuYY.js → popover-BWlolyxo.js} +1 -1
  89. package/src/ui/dist/assets/{project-sync-CRJiucYO.js → project-sync-BM5PkFH4.js} +1 -1
  90. package/src/ui/dist/assets/{select-CoHB7pvH.js → select-D4dAtrA8.js} +2 -2
  91. package/src/ui/dist/assets/{sigma-D5aJWR8J.js → sigma-CKbE5jJT.js} +1 -1
  92. package/src/ui/dist/assets/{square-check-big-DUK_mnkS.js → square-check-big-CZNGMgiB.js} +1 -1
  93. package/src/ui/dist/assets/{trash-ChU3SEE3.js → trash-DaB37xAz.js} +1 -1
  94. package/src/ui/dist/assets/{useCliAccess-BrJBV3tY.js → useCliAccess-C2OmAcWe.js} +1 -1
  95. package/src/ui/dist/assets/{useFileDiffOverlay-C2OQaVWc.js → useFileDiffOverlay-Dowd1Ij4.js} +1 -1
  96. package/src/ui/dist/assets/{wrap-text-C7Qqh-om.js → wrap-text-BGjAhAUq.js} +1 -1
  97. package/src/ui/dist/assets/{zoom-out-rtX0FKya.js → zoom-out-dMZQMXzc.js} +1 -1
  98. package/src/ui/dist/index.html +1 -1
  99. package/uv.lock +1 -1
@@ -25,12 +25,19 @@ ds
25
25
 
26
26
  ### 2. One-off provider profile
27
27
 
28
- Use this when you already have a named Codex profile such as `minimax`, `glm`, `ark`, or `bailian`.
28
+ Use this when you already have a named Codex profile such as `m27`, `glm`, `ark`, or `bailian`.
29
29
 
30
30
  ```bash
31
- codex --profile minimax
32
- ds doctor --codex-profile minimax
33
- ds --codex-profile minimax
31
+ codex --profile m27
32
+ ds doctor --codex-profile m27
33
+ ds --codex-profile m27
34
+ ```
35
+
36
+ If you need one specific Codex binary for this run, use:
37
+
38
+ ```bash
39
+ ds doctor --codex /absolute/path/to/codex --codex-profile m27
40
+ ds --codex /absolute/path/to/codex --codex-profile m27
34
41
  ```
35
42
 
36
43
  This is the simplest path. You do not need to edit `runners.yaml` just to try one provider-backed session.
@@ -61,7 +68,7 @@ Important:
61
68
  | Provider | Official docs | Codex login needed | What DeepScientist should use |
62
69
  |---|---|---|---|
63
70
  | OpenAI | use the normal Codex setup | Yes | no profile; run `ds` |
64
- | MiniMax | [MiniMax Codex CLI](https://platform.minimaxi.com/docs/coding-plan/codex-cli) | No | your Codex profile, for example `ds --codex-profile minimax` |
71
+ | MiniMax | [MiniMax Codex CLI](https://platform.minimaxi.com/docs/coding-plan/codex-cli) | No | your Codex profile, for example `ds --codex-profile m27` |
65
72
  | GLM | [GLM Coding Plan: Other Tools](https://docs.bigmodel.cn/cn/coding-plan/tool/others) | No | a Codex profile that targets the GLM coding endpoint |
66
73
  | Volcengine Ark | [Ark Coding Plan Overview](https://www.volcengine.com/docs/82379/1925114?lang=zh) | No | a Codex profile that targets the Ark coding endpoint |
67
74
  | Alibaba Bailian | [Bailian Coding Plan: Other Tools](https://help.aliyun.com/zh/model-studio/other-tools-coding-plan) | No | a Codex profile that targets the Bailian coding endpoint |
@@ -99,15 +106,65 @@ Official doc:
99
106
 
100
107
  - <https://platform.minimaxi.com/docs/coding-plan/codex-cli>
101
108
 
109
+ ### Verified compatibility note
110
+
111
+ Checked against MiniMax's current Codex CLI doc and local compatibility validation on 2026-03-25:
112
+
113
+ - MiniMax's Codex CLI page currently recommends `@openai/codex@0.57.0`
114
+ - the Coding Plan endpoint to use is `https://api.minimaxi.com/v1`
115
+ - MiniMax's official page uses `m21` as the profile name, but that profile name is only a local alias; this repo uses `m27` consistently in examples
116
+ - the `codex-MiniMax-*` model names shown on MiniMax's page did not pass reliably through Codex CLI in local testing with the provided key
117
+ - the locally verified working path was `MiniMax-M2.7` + `m27` + `model: inherit` + Codex CLI `0.57.0`
118
+ - the current `@openai/codex` latest release still does not line up cleanly with MiniMax's current guide
119
+
120
+ If you want the most reproducible DeepScientist + MiniMax path today, use Codex CLI `0.57.0`.
121
+
102
122
  ### What to prepare
103
123
 
104
- - Codex CLI installed
124
+ - Codex CLI `0.57.0`
125
+ - a MiniMax `Coding Plan Key`
105
126
  - `MINIMAX_API_KEY` available in the shell that starts Codex and DeepScientist
127
+ - the current shell cleared of `OPENAI_API_KEY` and `OPENAI_BASE_URL`
106
128
  - a working Codex profile in `~/.codex/config.toml`
107
129
 
130
+ ### Install Codex CLI `0.57.0`
131
+
132
+ The simplest path is to pin the global Codex install:
133
+
134
+ ```bash
135
+ npm install -g @openai/codex@0.57.0
136
+ codex --version
137
+ ```
138
+
139
+ Expected output:
140
+
141
+ ```text
142
+ codex-cli 0.57.0
143
+ ```
144
+
145
+ If you want to keep another Codex version elsewhere, create a small wrapper script and point `runners.codex.binary` at that absolute path.
146
+
108
147
  ### Codex-side setup
109
148
 
110
- MiniMax's official page provides a real Codex custom-provider example. The profile name is yours to choose. Use `minimax` below as an example; if you already created `m27`, keep using `m27`.
149
+ Use `https://api.minimaxi.com/v1`, not `https://api.minimax.io/v1`.
150
+
151
+ MiniMax's doc requires clearing the OpenAI environment variables first:
152
+
153
+ ```bash
154
+ unset OPENAI_API_KEY
155
+ unset OPENAI_BASE_URL
156
+ export MINIMAX_API_KEY="..."
157
+ ```
158
+
159
+ MiniMax's official page uses `m21` as the example profile name. Since the profile name is only a local alias, this repo rewrites that example to `m27`.
160
+
161
+ The important difference is the model name:
162
+
163
+ - MiniMax's page currently shows `codex-MiniMax-M2.5`
164
+ - in local testing, direct MiniMax API calls worked with `MiniMax-M2.7`
165
+ - with the same key, `codex-MiniMax-M2.5` and `codex-MiniMax-M2.7` both failed through Codex CLI
166
+
167
+ So the config below is the currently recommended DeepScientist working configuration:
111
168
 
112
169
  ```toml
113
170
  [model_providers.minimax]
@@ -120,23 +177,50 @@ request_max_retries = 4
120
177
  stream_max_retries = 10
121
178
  stream_idle_timeout_ms = 300000
122
179
 
123
- [profiles.minimax]
124
- model = "codex-MiniMax-M2.5"
180
+ [profiles.m27]
181
+ model = "MiniMax-M2.7"
182
+ model_provider = "minimax"
183
+ ```
184
+
185
+ What DeepScientist supports now:
186
+
187
+ - if you use this profile-only MiniMax config with Codex CLI `0.57.0`, DeepScientist automatically promotes the selected profile's `model_provider` and `model` to the top level inside its probe/runtime copy of `.codex/config.toml`
188
+ - this means DeepScientist can start even when plain terminal `codex --profile m27` still fails on that exact profile-only shape
189
+
190
+ If you want plain terminal `codex --profile <name>` to work too, use the explicit top-level compatibility form instead:
191
+
192
+ ```toml
193
+ model = "MiniMax-M2.7"
194
+ model_provider = "minimax"
195
+ approval_policy = "never"
196
+ sandbox_mode = "workspace-write"
197
+
198
+ [model_providers.minimax]
199
+ name = "MiniMax Chat Completions API"
200
+ base_url = "https://api.minimaxi.com/v1"
201
+ env_key = "MINIMAX_API_KEY"
202
+ wire_api = "chat"
203
+ requires_openai_auth = false
204
+ request_max_retries = 4
205
+ stream_max_retries = 10
206
+ stream_idle_timeout_ms = 300000
207
+
208
+ [profiles.m27]
209
+ model = "MiniMax-M2.7"
125
210
  model_provider = "minimax"
126
211
  ```
127
212
 
128
213
  Then:
129
214
 
130
215
  ```bash
131
- export MINIMAX_API_KEY="..."
132
- codex --profile minimax
216
+ codex --profile m27
133
217
  ```
134
218
 
135
219
  ### DeepScientist commands
136
220
 
137
221
  ```bash
138
- ds doctor --codex-profile minimax
139
- ds --codex-profile minimax
222
+ ds doctor --codex-profile m27
223
+ ds --codex-profile m27
140
224
  ```
141
225
 
142
226
  ### Persistent runner config
@@ -144,12 +228,26 @@ ds --codex-profile minimax
144
228
  ```yaml
145
229
  codex:
146
230
  enabled: true
147
- binary: codex
231
+ binary: /tmp/codex057-wrapper
148
232
  config_dir: ~/.codex
149
- profile: minimax
233
+ profile: m27
150
234
  model: inherit
235
+ model_reasoning_effort: high
151
236
  ```
152
237
 
238
+ If you already pinned your global `codex` binary to `0.57.0`, you can set `binary: codex` instead. The absolute wrapper path here is only to make the version choice explicit.
239
+
240
+ If you do not want to persist that path in `runners.yaml`, you can keep `binary: codex` there and launch ad hoc with:
241
+
242
+ ```bash
243
+ ds --codex /absolute/path/to/codex --codex-profile m27
244
+ ```
245
+
246
+ DeepScientist now does two MiniMax-specific compatibility steps for the `0.57.0` path:
247
+
248
+ - it downgrades `xhigh` to `high` automatically when the Codex CLI does not support `xhigh`
249
+ - it auto-adapts MiniMax's profile-only `model_provider` / `model` shape inside the temporary DeepScientist Codex home when needed
250
+
153
251
  ## GLM
154
252
 
155
253
  GLM documents the Coding Plan as an OpenAI-compatible coding endpoint rather than a dedicated Codex login flow.
package/docs/en/README.md CHANGED
@@ -30,6 +30,8 @@ This page is the shortest path to the right document.
30
30
 
31
31
  - [00 Quick Start](./00_QUICK_START.md)
32
32
  Start here if you want to install DeepScientist, launch it locally, and create your first project.
33
+ - [05 TUI Guide](./05_TUI_GUIDE.md)
34
+ Read this if your main surface is the terminal and you want one end-to-end path through `ds --tui`, quests, connectors, and cross-surface work.
33
35
  - [15 Codex Provider Setup](./15_CODEX_PROVIDER_SETUP.md)
34
36
  Read this when you want to run DeepScientist through MiniMax, GLM, Volcengine Ark, Alibaba Bailian, or another Codex profile.
35
37
  - [12 Guided Workflow Tour](./12_GUIDED_WORKFLOW_TOUR.md)
@@ -79,7 +79,7 @@ npm install -g @researai/deepscientist
79
79
 
80
80
  这一步会把 `ds` 命令安装到你的机器上。
81
81
 
82
- DeepScientist 依赖一个可用的 Codex CLI。npm 包会尽量把随包的 Codex 依赖一起装好,但如果安装完成后 `codex` 仍然不可用,请显式修复:
82
+ DeepScientist 依赖一个可用的 Codex CLI。它会优先使用你机器上已经可用的 `codex`,只有在本机找不到时才回退到 npm 包内置的依赖。如果安装完成后 `codex` 仍然不可用,请显式修复:
83
83
 
84
84
  ```bash
85
85
  npm install -g @openai/codex
@@ -124,25 +124,44 @@ ds doctor
124
124
  如果你已经在 MiniMax、GLM、火山方舟、阿里百炼或其他 provider 上配置了一个命名的 Codex profile,请先在终端里确认这个 profile 本身可用:
125
125
 
126
126
  ```bash
127
- codex --profile minimax
127
+ codex --profile m27
128
128
  ```
129
129
 
130
130
  然后用同一个 profile 去跑 DeepScientist:
131
131
 
132
132
  ```bash
133
- ds doctor --codex-profile minimax
133
+ ds doctor --codex-profile m27
134
134
  ```
135
135
 
136
136
  之后启动:
137
137
 
138
138
  ```bash
139
- ds --codex-profile minimax
139
+ ds --codex-profile m27
140
140
  ```
141
141
 
142
- 把这里的 `minimax` 替换成你真实的 profile 名,例如 `m27`、`glm`、`ark`、`bailian`。
142
+ 如果你这一轮还想强制指定某一个 Codex 可执行文件,也可以一起加上 `--codex`:
143
+
144
+ ```bash
145
+ ds doctor --codex /absolute/path/to/codex --codex-profile m27
146
+ ds --codex /absolute/path/to/codex --codex-profile m27
147
+ ```
148
+
149
+ 这里的 `m27` 是本仓库统一使用的 MiniMax profile 示例名。MiniMax 官方页面当前示例名是 `m21`,但 profile 名只是本地别名;如果你自己用了别的名字,就把命令里的名字一起改掉。
143
150
 
144
151
  DeepScientist 会在启动前强制做一次真实的 Codex hello 探测。默认情况下,`~/DeepScientist/config/runners.yaml` 里的 runner 模型还是 `gpt-5.4`。如果你的 profile 希望模型由 profile 自己决定,请把 `runners.yaml` 里的 `model` 改成 `inherit`;或者直接使用 `--codex-profile <name>`,让这一轮启动自动继承 profile 对应的模型。
145
152
 
153
+ MiniMax 额外说明:
154
+
155
+ - 如果当前最新版 `@openai/codex` 和 MiniMax 走不通,直接安装 `npm install -g @openai/codex@0.57.0`
156
+ - 先创建 MiniMax `Coding Plan Key`
157
+ - 在当前 shell 里先执行 `unset OPENAI_API_KEY` 和 `unset OPENAI_BASE_URL`
158
+ - 使用 `https://api.minimaxi.com/v1`
159
+ - MiniMax 官方 Codex CLI 页面当前给出的 `codex-MiniMax-*` 模型名,在本地用提供的 key 实测并不能稳定通过 Codex CLI
160
+ - 当前本地实测可用的模型名是 `MiniMax-M2.7`
161
+ - DeepScientist 现在可以在 probe 和运行时自动适配 MiniMax profile-only 的 `model_provider` / `model` 配置形态
162
+ - 如果你还希望终端里的 `codex --profile <name>` 也直接可用,再在 `~/.codex/config.toml` 顶层补上 `model_provider = "minimax"` 和 `model = "MiniMax-M2.7"`
163
+ - 当 DeepScientist 检测到旧版 Codex CLI 不支持 `xhigh` 时,会自动把它降级成 `high`
164
+
146
165
  ## 3. 启动本地运行时
147
166
 
148
167
  运行:
@@ -444,6 +444,8 @@ claude:
444
444
  - 页面标签:`Binary`
445
445
  - 作用:启动 runner 时使用的命令名或绝对路径。
446
446
  - `Test` 行为:检查该二进制是否在 `PATH` 上。
447
+ - `codex` 的解析顺序:环境变量覆盖、显式路径、本机 `PATH`、最后才是 bundled fallback。
448
+ - 临时使用说明:你也可以直接用 `ds --codex /absolute/path/to/codex` 临时覆盖这里的设置。
447
449
  - 首次使用说明:DeepScientist 不会替你完成 Codex 认证。第一次运行 `ds` 前,必须先确保 `codex --login`(或 `codex`)已经成功完成。
448
450
  - 修复说明:如果执行 `npm install -g @researai/deepscientist` 之后 bundled Codex 依赖仍然缺失,请显式安装 `npm install -g @openai/codex`。
449
451
 
@@ -462,6 +464,7 @@ claude:
462
464
  - 作用:可选的 Codex profile 名称,会直接透传为 `codex --profile <name>`。
463
465
  - 当你的 Codex CLI 已经配置成 MiniMax、GLM、火山方舟、阿里百炼或其他 provider-backed 路径时,就在这里填写。
464
466
  - 临时使用说明:如果你不想持久化写配置,也可以保持这里为空,直接使用 `ds --codex-profile <name>` 启动。
467
+ - 组合使用说明:如果你还想临时指定 Codex 可执行文件,也可以组合成 `ds --codex /absolute/path/to/codex --codex-profile <name>`。
465
468
 
466
469
  **`model`**
467
470
 
@@ -480,6 +483,7 @@ claude:
480
483
  - 允许值:`""`、`minimal`、`low`、`medium`、`high`、`xhigh`
481
484
  - 作用:默认推理强度。
482
485
  - 推荐:当前仓库的 Codex 默认就是 `xhigh`。
486
+ - 兼容性说明:当 DeepScientist 检测到 Codex CLI 低于 `0.63.0` 时,会在启动探测和实际 runner 命令里自动把 `xhigh` 降级成 `high`。这也覆盖了 MiniMax 当前推荐的 `@openai/codex@0.57.0` 路径。
483
487
 
484
488
  **`approval_policy`**
485
489