@researai/deepscientist 1.5.9 → 1.5.12

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 (165) hide show
  1. package/README.md +112 -99
  2. package/assets/branding/connector-qq.png +0 -0
  3. package/assets/branding/connector-rokid.png +0 -0
  4. package/assets/branding/connector-weixin.png +0 -0
  5. package/assets/branding/projects.png +0 -0
  6. package/bin/ds.js +519 -63
  7. package/docs/assets/branding/projects.png +0 -0
  8. package/docs/en/00_QUICK_START.md +338 -68
  9. package/docs/en/01_SETTINGS_REFERENCE.md +14 -0
  10. package/docs/en/02_START_RESEARCH_GUIDE.md +180 -4
  11. package/docs/en/04_LINGZHU_CONNECTOR_GUIDE.md +62 -179
  12. package/docs/en/09_DOCTOR.md +66 -5
  13. package/docs/en/10_WEIXIN_CONNECTOR_GUIDE.md +137 -0
  14. package/docs/en/11_LICENSE_AND_RISK.md +256 -0
  15. package/docs/en/12_GUIDED_WORKFLOW_TOUR.md +446 -0
  16. package/docs/en/13_CORE_ARCHITECTURE_GUIDE.md +297 -0
  17. package/docs/en/14_PROMPT_SKILLS_AND_MCP_GUIDE.md +506 -0
  18. package/docs/en/15_CODEX_PROVIDER_SETUP.md +284 -0
  19. package/docs/en/99_ACKNOWLEDGEMENTS.md +4 -1
  20. package/docs/en/README.md +83 -0
  21. package/docs/images/lingzhu/rokid-agent-platform-create.png +0 -0
  22. package/docs/images/weixin/weixin-plugin-entry.png +0 -0
  23. package/docs/images/weixin/weixin-plugin-entry.svg +33 -0
  24. package/docs/images/weixin/weixin-qr-confirm.svg +30 -0
  25. package/docs/images/weixin/weixin-quest-media-flow.svg +44 -0
  26. package/docs/images/weixin/weixin-settings-bind.svg +57 -0
  27. package/docs/zh/00_QUICK_START.md +345 -72
  28. package/docs/zh/01_SETTINGS_REFERENCE.md +14 -0
  29. package/docs/zh/02_START_RESEARCH_GUIDE.md +181 -3
  30. package/docs/zh/04_LINGZHU_CONNECTOR_GUIDE.md +62 -193
  31. package/docs/zh/09_DOCTOR.md +68 -5
  32. package/docs/zh/10_WEIXIN_CONNECTOR_GUIDE.md +144 -0
  33. package/docs/zh/11_LICENSE_AND_RISK.md +256 -0
  34. package/docs/zh/12_GUIDED_WORKFLOW_TOUR.md +442 -0
  35. package/docs/zh/13_CORE_ARCHITECTURE_GUIDE.md +296 -0
  36. package/docs/zh/14_PROMPT_SKILLS_AND_MCP_GUIDE.md +506 -0
  37. package/docs/zh/15_CODEX_PROVIDER_SETUP.md +285 -0
  38. package/docs/zh/99_ACKNOWLEDGEMENTS.md +4 -1
  39. package/docs/zh/README.md +129 -0
  40. package/install.sh +0 -34
  41. package/package.json +2 -2
  42. package/pyproject.toml +1 -1
  43. package/src/deepscientist/__init__.py +1 -1
  44. package/src/deepscientist/annotations.py +343 -0
  45. package/src/deepscientist/artifact/arxiv.py +484 -37
  46. package/src/deepscientist/artifact/service.py +574 -108
  47. package/src/deepscientist/arxiv_library.py +275 -0
  48. package/src/deepscientist/bash_exec/monitor.py +7 -5
  49. package/src/deepscientist/bash_exec/service.py +93 -21
  50. package/src/deepscientist/bridges/builtins.py +2 -0
  51. package/src/deepscientist/bridges/connectors.py +447 -0
  52. package/src/deepscientist/channels/__init__.py +2 -0
  53. package/src/deepscientist/channels/builtins.py +3 -1
  54. package/src/deepscientist/channels/local.py +3 -3
  55. package/src/deepscientist/channels/qq.py +8 -8
  56. package/src/deepscientist/channels/qq_gateway.py +1 -1
  57. package/src/deepscientist/channels/relay.py +14 -8
  58. package/src/deepscientist/channels/weixin.py +59 -0
  59. package/src/deepscientist/channels/weixin_ilink.py +388 -0
  60. package/src/deepscientist/config/models.py +23 -2
  61. package/src/deepscientist/config/service.py +539 -67
  62. package/src/deepscientist/connector/__init__.py +4 -0
  63. package/src/deepscientist/connector/connector_profiles.py +481 -0
  64. package/src/deepscientist/connector/lingzhu_support.py +668 -0
  65. package/src/deepscientist/connector/qq_profiles.py +206 -0
  66. package/src/deepscientist/connector/weixin_support.py +663 -0
  67. package/src/deepscientist/connector_profiles.py +1 -374
  68. package/src/deepscientist/connector_runtime.py +2 -0
  69. package/src/deepscientist/daemon/api/handlers.py +165 -5
  70. package/src/deepscientist/daemon/api/router.py +13 -1
  71. package/src/deepscientist/daemon/app.py +1444 -67
  72. package/src/deepscientist/doctor.py +4 -5
  73. package/src/deepscientist/gitops/diff.py +120 -29
  74. package/src/deepscientist/lingzhu_support.py +1 -182
  75. package/src/deepscientist/mcp/server.py +135 -7
  76. package/src/deepscientist/prompts/builder.py +128 -11
  77. package/src/deepscientist/qq_profiles.py +1 -196
  78. package/src/deepscientist/quest/node_traces.py +23 -0
  79. package/src/deepscientist/quest/service.py +359 -74
  80. package/src/deepscientist/quest/stage_views.py +71 -5
  81. package/src/deepscientist/runners/codex.py +170 -19
  82. package/src/deepscientist/runners/runtime_overrides.py +6 -0
  83. package/src/deepscientist/shared.py +33 -14
  84. package/src/deepscientist/weixin_support.py +1 -0
  85. package/src/prompts/connectors/lingzhu.md +3 -1
  86. package/src/prompts/connectors/qq.md +2 -1
  87. package/src/prompts/connectors/weixin.md +231 -0
  88. package/src/prompts/contracts/shared_interaction.md +4 -1
  89. package/src/prompts/system.md +61 -9
  90. package/src/skills/analysis-campaign/SKILL.md +46 -6
  91. package/src/skills/analysis-campaign/references/campaign-plan-template.md +21 -8
  92. package/src/skills/baseline/SKILL.md +1 -1
  93. package/src/skills/decision/SKILL.md +1 -1
  94. package/src/skills/experiment/SKILL.md +1 -1
  95. package/src/skills/finalize/SKILL.md +1 -1
  96. package/src/skills/idea/SKILL.md +1 -1
  97. package/src/skills/intake-audit/SKILL.md +1 -1
  98. package/src/skills/rebuttal/SKILL.md +74 -1
  99. package/src/skills/rebuttal/references/response-letter-template.md +55 -11
  100. package/src/skills/review/SKILL.md +118 -1
  101. package/src/skills/review/references/experiment-todo-template.md +23 -0
  102. package/src/skills/review/references/review-report-template.md +16 -0
  103. package/src/skills/review/references/revision-log-template.md +4 -0
  104. package/src/skills/scout/SKILL.md +1 -1
  105. package/src/skills/write/SKILL.md +168 -7
  106. package/src/skills/write/references/paper-experiment-matrix-template.md +131 -0
  107. package/src/tui/package.json +1 -1
  108. package/src/ui/dist/assets/{AiManusChatView-BKZ103sn.js → AiManusChatView-CnJcXynW.js} +156 -48
  109. package/src/ui/dist/assets/{AnalysisPlugin-mTTzGAlK.js → AnalysisPlugin-DeyzPEhV.js} +1 -1
  110. package/src/ui/dist/assets/{CliPlugin-BH58n3GY.js → CliPlugin-CB1YODQn.js} +164 -9
  111. package/src/ui/dist/assets/{CodeEditorPlugin-BKGRUH7e.js → CodeEditorPlugin-B-xicq1e.js} +8 -8
  112. package/src/ui/dist/assets/{CodeViewerPlugin-BMADwFWJ.js → CodeViewerPlugin-DT54ysXa.js} +5 -5
  113. package/src/ui/dist/assets/{DocViewerPlugin-ZOnTIHLN.js → DocViewerPlugin-DQtKT-VD.js} +3 -3
  114. package/src/ui/dist/assets/{GitDiffViewerPlugin-CQ7h1Djm.js → GitDiffViewerPlugin-hqHbCfnv.js} +20 -21
  115. package/src/ui/dist/assets/{ImageViewerPlugin-GVS5MsnC.js → ImageViewerPlugin-OcVo33jV.js} +5 -5
  116. package/src/ui/dist/assets/{LabCopilotPanel-BZNv1JML.js → LabCopilotPanel-DdGwhEUV.js} +11 -11
  117. package/src/ui/dist/assets/{LabPlugin-TWcJsdQA.js → LabPlugin-Ciz1gDaX.js} +2 -1
  118. package/src/ui/dist/assets/{LatexPlugin-DIjHiR2x.js → LatexPlugin-BhmjNQRC.js} +37 -11
  119. package/src/ui/dist/assets/{MarkdownViewerPlugin-D3ooGAH0.js → MarkdownViewerPlugin-BzdVH9Bx.js} +4 -4
  120. package/src/ui/dist/assets/{MarketplacePlugin-DfVfE9hN.js → MarketplacePlugin-DmyHspXt.js} +3 -3
  121. package/src/ui/dist/assets/{NotebookEditor-DDl0_Mc0.js → NotebookEditor-BMXKrDRk.js} +1 -1
  122. package/src/ui/dist/assets/{NotebookEditor-s8JhzuX1.js → NotebookEditor-BTVYRGkm.js} +12 -12
  123. package/src/ui/dist/assets/{PdfLoader-C2Sf6SJM.js → PdfLoader-CvcjJHXv.js} +14 -7
  124. package/src/ui/dist/assets/{PdfMarkdownPlugin-CXFLoIsa.js → PdfMarkdownPlugin-DW2ej8Vk.js} +73 -6
  125. package/src/ui/dist/assets/{PdfViewerPlugin-BYTmz2fK.js → PdfViewerPlugin-CmlDxbhU.js} +103 -34
  126. package/src/ui/dist/assets/PdfViewerPlugin-DQ11QcSf.css +3627 -0
  127. package/src/ui/dist/assets/{SearchPlugin-CjWBI1O9.js → SearchPlugin-DAjQZPSv.js} +1 -1
  128. package/src/ui/dist/assets/{TextViewerPlugin-DdOBU3-S.js → TextViewerPlugin-C-nVAZb_.js} +5 -4
  129. package/src/ui/dist/assets/{VNCViewer-B8HGgLwQ.js → VNCViewer-D7-dIYon.js} +10 -10
  130. package/src/ui/dist/assets/bot-C_G4WtNI.js +21 -0
  131. package/src/ui/dist/assets/branding/logo-rokid.png +0 -0
  132. package/src/ui/dist/assets/browser-BAcuE0Xj.js +2895 -0
  133. package/src/ui/dist/assets/{code-BWAY76JP.js → code-Cd7WfiWq.js} +1 -1
  134. package/src/ui/dist/assets/{file-content-C1NwU5oQ.js → file-content-B57zsL9y.js} +1 -1
  135. package/src/ui/dist/assets/{file-diff-panel-CywslwB9.js → file-diff-panel-DVoheLFq.js} +1 -1
  136. package/src/ui/dist/assets/{file-socket-B4kzuOBQ.js → file-socket-B5kXFxZP.js} +1 -1
  137. package/src/ui/dist/assets/{image-D-NZM-6P.js → image-LLOjkMHF.js} +1 -1
  138. package/src/ui/dist/assets/{index-DGIYDuTv.css → index-BQG-1s2o.css} +40 -13
  139. package/src/ui/dist/assets/{index-DHZJ_0TI.js → index-C3r2iGrp.js} +12 -12
  140. package/src/ui/dist/assets/{index-7Chr1g9c.js → index-CLQauncb.js} +15050 -9561
  141. package/src/ui/dist/assets/index-Dxa2eYMY.js +25 -0
  142. package/src/ui/dist/assets/{index-BdM1Gqfr.js → index-hOUOWbW2.js} +2 -2
  143. package/src/ui/dist/assets/{monaco-Cb2uKKe6.js → monaco-BGGAEii3.js} +1 -1
  144. package/src/ui/dist/assets/{pdf-effect-queue-DSw_D3RV.js → pdf-effect-queue-DlEr1_y5.js} +16 -1
  145. package/src/ui/dist/assets/pdf.worker.min-yatZIOMy.mjs +21 -0
  146. package/src/ui/dist/assets/{popover-Bg72DGgT.js → popover-CWJbJuYY.js} +1 -1
  147. package/src/ui/dist/assets/{project-sync-Ce_0BglY.js → project-sync-CRJiucYO.js} +18 -77
  148. package/src/ui/dist/assets/select-CoHB7pvH.js +1690 -0
  149. package/src/ui/dist/assets/{sigma-DPaACDrh.js → sigma-D5aJWR8J.js} +1 -1
  150. package/src/ui/dist/assets/{index-CDxNdQdz.js → square-check-big-DUK_mnkS.js} +2 -13
  151. package/src/ui/dist/assets/{trash-BvTgE5__.js → trash-ChU3SEE3.js} +1 -1
  152. package/src/ui/dist/assets/{useCliAccess-CgPeMOwP.js → useCliAccess-BrJBV3tY.js} +1 -1
  153. package/src/ui/dist/assets/{useFileDiffOverlay-xPhz7P5B.js → useFileDiffOverlay-C2OQaVWc.js} +1 -1
  154. package/src/ui/dist/assets/{wrap-text-C3Un3YQr.js → wrap-text-C7Qqh-om.js} +1 -1
  155. package/src/ui/dist/assets/{zoom-out-BgxLa0Ri.js → zoom-out-rtX0FKya.js} +1 -1
  156. package/src/ui/dist/index.html +2 -2
  157. package/src/ui/dist/assets/AutoFigurePlugin-BGxN8Umr.css +0 -3056
  158. package/src/ui/dist/assets/AutoFigurePlugin-C_wWw4AP.js +0 -8149
  159. package/src/ui/dist/assets/PdfViewerPlugin-BJXtIwj_.css +0 -260
  160. package/src/ui/dist/assets/Stepper-B0Dd8CxK.js +0 -158
  161. package/src/ui/dist/assets/bibtex-CKaefIN2.js +0 -189
  162. package/src/ui/dist/assets/file-utils-H2fjA46S.js +0 -109
  163. package/src/ui/dist/assets/message-square-BzjLiXir.js +0 -16
  164. package/src/ui/dist/assets/pdfjs-DU1YE8WO.js +0 -3
  165. package/src/ui/dist/assets/tooltip-C_mA6R0w.js +0 -108
@@ -0,0 +1,285 @@
1
+ # 15 Codex Provider 配置
2
+
3
+ DeepScientist 不会为 MiniMax、GLM、火山方舟、阿里百炼单独实现一套 provider 适配器。
4
+
5
+ 它复用的是你本机已经能正常工作的 Codex CLI 配置。
6
+
7
+ 推荐顺序始终是:
8
+
9
+ 1. 先让 Codex 自己能工作
10
+ 2. 确认 `codex` 或 `codex --profile <name>` 在终端里可用
11
+ 3. 运行 `ds doctor`
12
+ 4. 再运行 `ds` 或 `ds --codex-profile <name>`
13
+
14
+ ## 三种推荐使用方式
15
+
16
+ ### 1. 默认 OpenAI 登录路径
17
+
18
+ 如果你的 Codex CLI 走的是标准 OpenAI 登录流,就用这一条。
19
+
20
+ ```bash
21
+ codex --login
22
+ ds doctor
23
+ ds
24
+ ```
25
+
26
+ ### 2. 临时使用 provider profile
27
+
28
+ 如果你已经有一个可用的 Codex profile,例如 `minimax`、`glm`、`ark`、`bailian`,最简单的方式就是直接在启动 `ds` 时透传它。
29
+
30
+ ```bash
31
+ codex --profile minimax
32
+ ds doctor --codex-profile minimax
33
+ ds --codex-profile minimax
34
+ ```
35
+
36
+ 这是最简单的路径。只是临时试用某个 provider 时,不需要先改 `runners.yaml`。
37
+
38
+ ### 3. 持久化 provider profile
39
+
40
+ 如果你希望 DeepScientist 之后默认就走这个 profile,可以写进 `runners.yaml`:
41
+
42
+ ```yaml
43
+ codex:
44
+ enabled: true
45
+ binary: codex
46
+ config_dir: ~/.codex
47
+ profile: minimax
48
+ model: inherit
49
+ model_reasoning_effort: xhigh
50
+ approval_policy: on-request
51
+ sandbox_mode: workspace-write
52
+ ```
53
+
54
+ 注意:
55
+
56
+ - 对 provider-backed 的 Codex profile,建议优先使用 `model: inherit`
57
+ - 除非你非常确定该 provider 接受你要显式传入的模型名,否则不要再额外硬写一个模型
58
+ - DeepScientist 会复用你终端里同一个 `~/.codex/config.toml` 与环境变量
59
+
60
+ ## Provider 一览
61
+
62
+ | Provider | 官方文档 | 是否需要 Codex 登录 | DeepScientist 应该怎么用 |
63
+ |---|---|---|---|
64
+ | OpenAI | 正常 Codex 配置即可 | 是 | 不需要 profile,直接 `ds` |
65
+ | MiniMax | [MiniMax Codex CLI](https://platform.minimaxi.com/docs/coding-plan/codex-cli) | 否 | 使用你自己的 Codex profile,例如 `ds --codex-profile minimax` |
66
+ | GLM | [GLM Coding Plan:其他工具](https://docs.bigmodel.cn/cn/coding-plan/tool/others) | 否 | 使用一个指向 GLM coding endpoint 的 Codex profile |
67
+ | 火山方舟 | [Ark Coding Plan 总览](https://www.volcengine.com/docs/82379/1925114?lang=zh) | 否 | 使用一个指向 Ark coding endpoint 的 Codex profile |
68
+ | 阿里百炼 | [百炼 Coding Plan:其他工具](https://help.aliyun.com/zh/model-studio/other-tools-coding-plan) | 否 | 使用一个指向 Bailian coding endpoint 的 Codex profile |
69
+
70
+ ## OpenAI
71
+
72
+ ### 需要准备什么
73
+
74
+ - 正常安装的 Codex CLI
75
+ - 已成功执行过一次 `codex --login`,或者在 `codex` 交互界面里完成首次认证
76
+
77
+ ### DeepScientist 命令
78
+
79
+ ```bash
80
+ ds doctor
81
+ ds
82
+ ```
83
+
84
+ ### 持久化 runner 配置
85
+
86
+ ```yaml
87
+ codex:
88
+ enabled: true
89
+ binary: codex
90
+ config_dir: ~/.codex
91
+ profile: ""
92
+ model: gpt-5.4
93
+ ```
94
+
95
+ ## MiniMax
96
+
97
+ MiniMax 是最典型的 profile 模式。它的官方 Codex CLI 文档直接给了自定义 provider 的配置方式,并明确写了 `requires_openai_auth = false`。
98
+
99
+ 官方文档:
100
+
101
+ - <https://platform.minimaxi.com/docs/coding-plan/codex-cli>
102
+
103
+ ### 需要准备什么
104
+
105
+ - 已安装 Codex CLI
106
+ - 在启动 Codex 和 DeepScientist 的 shell 中可见的 `MINIMAX_API_KEY`
107
+ - `~/.codex/config.toml` 中已经配置好的 Codex profile
108
+
109
+ ### Codex 侧配置
110
+
111
+ MiniMax 官方页面给了真实的 Codex custom provider 示例。profile 名称由你自己决定。下面用 `minimax` 作为示例;如果你已经配置成 `m27`,就继续使用 `m27`。
112
+
113
+ ```toml
114
+ [model_providers.minimax]
115
+ name = "MiniMax Chat Completions API"
116
+ base_url = "https://api.minimaxi.com/v1"
117
+ env_key = "MINIMAX_API_KEY"
118
+ wire_api = "chat"
119
+ requires_openai_auth = false
120
+ request_max_retries = 4
121
+ stream_max_retries = 10
122
+ stream_idle_timeout_ms = 300000
123
+
124
+ [profiles.minimax]
125
+ model = "codex-MiniMax-M2.5"
126
+ model_provider = "minimax"
127
+ ```
128
+
129
+ 然后执行:
130
+
131
+ ```bash
132
+ export MINIMAX_API_KEY="..."
133
+ codex --profile minimax
134
+ ```
135
+
136
+ ### DeepScientist 命令
137
+
138
+ ```bash
139
+ ds doctor --codex-profile minimax
140
+ ds --codex-profile minimax
141
+ ```
142
+
143
+ ### 持久化 runner 配置
144
+
145
+ ```yaml
146
+ codex:
147
+ enabled: true
148
+ binary: codex
149
+ config_dir: ~/.codex
150
+ profile: minimax
151
+ model: inherit
152
+ ```
153
+
154
+ ## GLM
155
+
156
+ GLM 的官方文档把 Coding Plan 描述成 OpenAI-compatible 的 coding endpoint,而不是单独的 Codex 登录流程。
157
+
158
+ 官方文档:
159
+
160
+ - <https://docs.bigmodel.cn/cn/coding-plan/tool/others>
161
+ - <https://docs.bigmodel.cn/cn/coding-plan/faq>
162
+
163
+ ### 官方给出的 provider 关键值
164
+
165
+ - Base URL:`https://open.bigmodel.cn/api/coding/paas/v4`
166
+ - API Key:你的 GLM Coding Plan key
167
+ - Model:文档中明确写了 `GLM-4.7`,部分场景也支持 `GLM-5`
168
+
169
+ ### 推荐做法
170
+
171
+ GLM 当前没有像 MiniMax 那样单独给出一篇 Codex CLI 专页。对 DeepScientist 来说,最稳的做法是:
172
+
173
+ 1. 在 `~/.codex/config.toml` 中创建一个指向上面 GLM coding endpoint 的 Codex profile
174
+ 2. 先确保 `codex --profile glm` 在终端里能工作
175
+ 3. 再让 DeepScientist 复用同一个 profile
176
+
177
+ ### DeepScientist 命令
178
+
179
+ ```bash
180
+ ds doctor --codex-profile glm
181
+ ds --codex-profile glm
182
+ ```
183
+
184
+ ### 持久化 runner 配置
185
+
186
+ ```yaml
187
+ codex:
188
+ enabled: true
189
+ binary: codex
190
+ config_dir: ~/.codex
191
+ profile: glm
192
+ model: inherit
193
+ ```
194
+
195
+ ## 火山方舟
196
+
197
+ 火山方舟的 Coding Plan 官方文档明确列出了 Codex CLI。
198
+
199
+ 官方文档:
200
+
201
+ - <https://www.volcengine.com/docs/82379/1925114?lang=zh>
202
+
203
+ ### 官方给出的 provider 关键值
204
+
205
+ - OpenAI-compatible Base URL:`https://ark.cn-beijing.volces.com/api/coding/v3`
206
+ - 支持的 coding 模型:`doubao-seed-code-preview-latest`、`ark-code-latest`
207
+ - 必须使用 Coding Plan 的 key 和对应的 Coding Plan endpoint
208
+
209
+ ### 推荐做法
210
+
211
+ 先创建一个指向 Ark coding endpoint 的 Codex profile,并先验证:
212
+
213
+ ```bash
214
+ codex --profile ark
215
+ ```
216
+
217
+ 然后再启动 DeepScientist:
218
+
219
+ ```bash
220
+ ds doctor --codex-profile ark
221
+ ds --codex-profile ark
222
+ ```
223
+
224
+ ### 持久化 runner 配置
225
+
226
+ ```yaml
227
+ codex:
228
+ enabled: true
229
+ binary: codex
230
+ config_dir: ~/.codex
231
+ profile: ark
232
+ model: inherit
233
+ ```
234
+
235
+ ## 阿里百炼
236
+
237
+ 阿里百炼的 Coding Plan 官方文档也是 OpenAI-compatible endpoint 路径。它特别强调:必须使用 Coding Plan 专属 key 和 endpoint,而不是普通平台 endpoint。
238
+
239
+ 官方文档:
240
+
241
+ - <https://help.aliyun.com/zh/model-studio/other-tools-coding-plan>
242
+ - <https://help.aliyun.com/zh/model-studio/coding-plan-faq>
243
+
244
+ ### 官方给出的 provider 关键值
245
+
246
+ - OpenAI-compatible Base URL:`https://coding.dashscope.aliyuncs.com/v1`
247
+ - API Key:Coding Plan 专属 key,通常形如 `sk-sp-...`
248
+ - Model:请以当前百炼 Coding Plan 概览页支持的模型为准
249
+
250
+ ### 推荐做法
251
+
252
+ 先创建一个指向 Bailian Coding Plan endpoint 的 Codex profile,并先验证:
253
+
254
+ ```bash
255
+ codex --profile bailian
256
+ ```
257
+
258
+ 然后再启动 DeepScientist:
259
+
260
+ ```bash
261
+ ds doctor --codex-profile bailian
262
+ ds --codex-profile bailian
263
+ ```
264
+
265
+ ### 持久化 runner 配置
266
+
267
+ ```yaml
268
+ codex:
269
+ enabled: true
270
+ binary: codex
271
+ config_dir: ~/.codex
272
+ profile: bailian
273
+ model: inherit
274
+ ```
275
+
276
+ ## 一份统一的排障清单
277
+
278
+ 如果 provider-backed profile 在 DeepScientist 里还是失败:
279
+
280
+ 1. 先手动运行 `codex --profile <name>`
281
+ 2. 确认 provider API key 在同一个 shell 中可见
282
+ 3. 确认 Base URL 使用的是 Coding Plan endpoint,而不是普通通用 API endpoint
283
+ 4. DeepScientist 里优先保持 `model: inherit`
284
+ 5. 运行 `ds doctor --codex-profile <name>`
285
+ 6. 最后再运行 `ds --codex-profile <name>`
@@ -13,8 +13,11 @@ DeepScientist 的构思、架构设计与实现过程中,受到了许多优秀
13
13
  - EvoScientist
14
14
  - Orchestra-Research
15
15
  - Orchestra-Research/AI-Research-SKILLs
16
+ - Overleaf / overleaf/overleaf
17
+ - Monaco Editor / microsoft/monaco-editor
18
+ - Novel / steven-tey/novel
16
19
 
17
- 这些项目在自动化科研、开放式探索、进化式搜索、实验组织与智能研究代理等方向上的探索,为 DeepScientist 的设计提供了重要参照。
20
+ 这些项目在自动化科研、开放式探索、进化式搜索、实验组织、智能研究代理、协作式 LaTeX 编辑工作流、浏览器端代码编辑体验,以及富文本 notebook 式写作交互等方向上的探索,为 DeepScientist 的设计提供了重要参照。
18
21
 
19
22
  ## 个人致谢
20
23
 
@@ -0,0 +1,129 @@
1
+ # DeepScientist 文档总览
2
+
3
+ DeepScientist 不仅仅是一个可长期运行的自动化科学发现系统,更是一个真正持续保存在你自己机器里的科研地图。
4
+
5
+ 2 分钟安装,2 分钟配置微信,2 分钟启动。极快、方便、易用。
6
+
7
+ 它也是一种工作坊式协作环境:可以长期自主推进,也允许你随时接管、协作、改代码、自己跑终端,亦或者用 Notion 式方式记录笔记、计划与协作内容。
8
+
9
+ DeepScientist 灵活且易于使用,支持:
10
+
11
+ - 本地优先、开源、一条命令安装
12
+ - Git 驱动的 quest 仓库、Web 工作区、Studio / Canvas 与 TUI
13
+ - 工作坊式协作:可长期自主推进,也可随时接管、协作、改代码、跑终端或记录 Notion 式笔记
14
+ - 默认使用 Codex + `gpt-5.4`
15
+ - 兼容外部 OpenAI-compatible 模型端点
16
+ - 你可以在任何地方使用 DeepScientist:服务器(TUI)、浏览器(Web)、手机(微信或 QQ),甚至眼镜(Rokid Glasses)
17
+ - 每个 quest 绑定一个外部 connector
18
+ - 支持 [微信](./10_WEIXIN_CONNECTOR_GUIDE.md)、[QQ](./03_QQ_CONNECTOR_GUIDE.md)、Telegram、Discord、Slack、Feishu、WhatsApp、[灵珠 / Rokid](./04_LINGZHU_CONNECTOR_GUIDE.md)
19
+ - 一题一仓库
20
+ - 分支与 worktree 是原生科研结构
21
+ - Studio 与 Canvas 从持久状态实时重建
22
+ - baseline 可复用,不是一次性跑分
23
+ - `bash_exec` 是持久化 shell 会话
24
+ - 支持会议扩展期刊与 rebuttal 工作流
25
+
26
+ ## 端到端自治科研系统
27
+
28
+ 以下是基于公开仓库、论文、demo 与公开报道整理的保守快照,检查日期为 `2026/03/23`。打勾表示该能力在公开材料中被清晰呈现为一等能力,而不是用户自行拼装后才可能实现。
29
+
30
+ | 系统 | 系统类型 | E2E | Research Map | Workshop | Keeps Growing | Channels | Figure & Rebuttal & Review |
31
+ |---|---|---|---|---|---|---|---|
32
+ | [autoresearch](https://github.com/karpathy/autoresearch) | Open-source | | | ✓ | | | |
33
+ | [RD-Agent](https://github.com/microsoft/RD-Agent) | Open-source | | | | ✓ | | |
34
+ | [Agent Laboratory](https://github.com/SamuelSchmidgall/AgentLaboratory) | Open-source | ✓ | | ✓ | ✓ | | |
35
+ | [AI-Scientist](https://github.com/SakanaAI/AI-Scientist) | Open-source | ✓ | | | | | |
36
+ | [AI-Scientist-v2](https://github.com/SakanaAI/AI-Scientist-v2) | Open-source | ✓ | | | | | |
37
+ | [AutoResearchClaw](https://github.com/aiming-lab/AutoResearchClaw) | Open-source | ✓ | | | ✓ | ✓ | |
38
+ | [ClawPhD](https://github.com/ZhihaoAIRobotic/ClawPhD) | Open-source | | | ✓ | | ✓ | |
39
+ | [Dr. Claw](https://github.com/OpenLAIR/dr-claw) | Open-source | ✓ | | ✓ | | ✓ | |
40
+ | [FARS](https://analemma.ai/fars/) | Closed-source | ✓ | | | | | |
41
+ | [EvoScientist](https://github.com/EvoScientist/EvoScientist) | Open-source | ✓ | | ✓ | ✓ | ✓ | |
42
+ | [ScienceClaw](https://github.com/beita6969/ScienceClaw) | Open-source | | | | ✓ | ✓ | |
43
+ | [claude-scholar](https://github.com/Galaxy-Dawn/claude-scholar) | Open-source | ✓ | | ✓ | ✓ | | |
44
+ | [Research-Claw](https://github.com/wentorai/Research-Claw) | Open-source | ✓ | | ✓ | ✓ | ✓ | |
45
+ | [DeepScientist](https://github.com/ResearAI/DeepScientist) | Open-source | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
46
+
47
+ 列含义:
48
+
49
+ - `系统类型`:系统本体是开源还是闭源。
50
+ - `E2E`:是否覆盖从想法或文献到实验与写作的完整链路。
51
+ - `Research Map`:是否把研究过程显式组织成可回看的地图,而不只是日志或聊天记录。
52
+ - `Workshop`:人类是否可以随时接管、改计划、改代码、跑命令、继续推进。
53
+ - `Keeps Growing`:后续轮次是否能基于持久记忆、经验与产物持续累积。
54
+ - `Channels`:是否能通过消息或会议式外部协作面持续推进同一研究会话。
55
+ - `Figure & Rebuttal & Review`:是否把图表生成、审稿、rebuttal 或 review 工作流做成明确能力。
56
+
57
+ ## 动态
58
+
59
+ - `2026/03/24`:DeepScientist 正式发布 `v1.5` 版本。
60
+ - `2026/02/01`:DeepScientist 论文已上线 [OpenReview](https://openreview.net/forum?id=cZFgsLq8Gs),对应 `ICLR 2026`。
61
+
62
+ ## ResearAI 相关项目
63
+
64
+ 这里聚焦与 DeepScientist 关联最强的一组 AI Scientist 与 AutoFigure 项目。
65
+
66
+ | 项目 | 用途 |
67
+ |---|---|
68
+ | [AutoFigure](https://github.com/ResearAI/AutoFigure) | 生成论文级图像 |
69
+ | [AutoFigure-Edit](https://github.com/ResearAI/AutoFigure-Edit) | 可编辑矢量论文图 |
70
+ | [DeepReviewer-v2](https://github.com/ResearAI/DeepReviewer-v2) | 审稿与论文建议 |
71
+ | [Awesome-AI-Scientist](https://github.com/ResearAI/Awesome-AI-Scientist) | AI Scientist 导航 |
72
+
73
+ 这页的目标很简单:帮你最快找到该看的那篇文档。
74
+
75
+ ## 如果你是第一次使用
76
+
77
+ - [00 快速开始](./00_QUICK_START.md)
78
+ 从安装、启动,到创建第一个项目,先看这一篇。
79
+ - [15 Codex Provider 配置](./15_CODEX_PROVIDER_SETUP.md)
80
+ 如果你准备通过 MiniMax、GLM、火山方舟、阿里百炼或其他 Codex profile 来运行 DeepScientist,先看这一篇。
81
+ - [12 引导式工作流教程](./12_GUIDED_WORKFLOW_TOUR.md)
82
+ 按真实产品流程,逐步理解从首页到工作区应该怎么使用。
83
+ - [02 Start Research 参考](./02_START_RESEARCH_GUIDE.md)
84
+ 如果你想真正理解 `Start Research` 弹窗里每个字段该怎么填、会提交什么,就接着看这篇。
85
+
86
+ ## 如果你想把项目启动得更稳
87
+
88
+ - [02 Start Research 参考](./02_START_RESEARCH_GUIDE.md)
89
+ 解释当前前端字段、自动推导合同字段,以及实际可照抄的例子。
90
+ - [01 设置参考](./01_SETTINGS_REFERENCE.md)
91
+ 当你需要配置 runner、connector、运行时默认值或主目录路径时,看这一篇。
92
+ - [11 协议与风险说明](./11_LICENSE_AND_RISK.md)
93
+ 如果你关心开源协议、责任边界、服务器安全、结果伪造风险和 connector 泄露风险,先看这一篇。
94
+
95
+ ## 如果你想通过外部协作面继续推进
96
+
97
+ - [10 微信连接器指南](./10_WEIXIN_CONNECTOR_GUIDE.md)
98
+ 适合通过 DeepScientist 内置扫码流程,把个人微信直接绑定进来。
99
+ - [03 QQ 连接器指南](./03_QQ_CONNECTOR_GUIDE.md)
100
+ 适合把 QQ 当作日常协作、里程碑通知和命令入口。
101
+ - [04 灵珠 / Rokid 指南](./04_LINGZHU_CONNECTOR_GUIDE.md)
102
+ 适合绑定灵珠 / Rokid Glasses。
103
+
104
+ ## 如果你想理解系统是怎么工作的
105
+
106
+ - [13 核心架构说明](./13_CORE_ARCHITECTURE_GUIDE.md)
107
+ 先看这篇,理解 launcher、daemon、quest、Canvas、memory 与 connector 是怎样拼起来的。
108
+ - [14 Prompt、Skills 与 MCP 指南](./14_PROMPT_SKILLS_AND_MCP_GUIDE.md)
109
+ 适合你想直接弄清楚每轮 prompt 组装顺序、各个 skill 分工,以及内建 MCP 工具家族结构的时候阅读。
110
+ - [06 Runtime 与 Canvas](./06_RUNTIME_AND_CANVAS.md)
111
+ 说明 daemon、工作区、canvas 和 connector 视图之间的关系。
112
+ - [07 Memory 与 MCP](./07_MEMORY_AND_MCP.md)
113
+ 说明 memory、artifact 和内置 MCP 的行为。
114
+
115
+ ## 如果你遇到了问题
116
+
117
+ - [09 启动诊断](./09_DOCTOR.md)
118
+ 启动诊断、排查常见运行问题,先看这篇。
119
+ - [15 Codex Provider 配置](./15_CODEX_PROVIDER_SETUP.md)
120
+ 如果问题更像出在 Codex profile、provider endpoint、API key 或模型配置上,优先看这篇。
121
+ - [01 设置参考](./01_SETTINGS_REFERENCE.md)
122
+ 如果问题可能和配置、凭据或 connector 有关,再查这篇。
123
+
124
+ ## 如果你在维护 DeepScientist
125
+
126
+ - [90 Architecture](../en/90_ARCHITECTURE.md)
127
+ 说明系统级约束、核心契约和仓库结构。
128
+ - [91 Development](../en/91_DEVELOPMENT.md)
129
+ 面向维护者的开发工作流和实现说明。
package/install.sh CHANGED
@@ -421,40 +421,6 @@ write_global_wrapper() {
421
421
  cat >"$target_path" <<EOF
422
422
  #!/usr/bin/env bash
423
423
  set -euo pipefail
424
- WRAPPER_PATH="\${BASH_SOURCE[0]}"
425
- WRAPPER_DIR="\$(cd "\$(dirname "\$WRAPPER_PATH")" && pwd)"
426
- PREFERRED_COMMAND="$command_name"
427
- LOOKUP_PATH=""
428
- OLD_IFS="\$IFS"
429
- IFS=:
430
- for ENTRY in \$PATH; do
431
- if [ -z "\$ENTRY" ]; then
432
- continue
433
- fi
434
- ENTRY_REAL="\$ENTRY"
435
- if ENTRY_CANONICAL="\$(cd "\$ENTRY" 2>/dev/null && pwd)"; then
436
- ENTRY_REAL="\$ENTRY_CANONICAL"
437
- fi
438
- if [ "\$ENTRY_REAL" = "\$WRAPPER_DIR" ]; then
439
- continue
440
- fi
441
- if [ -z "\$LOOKUP_PATH" ]; then
442
- LOOKUP_PATH="\$ENTRY"
443
- else
444
- LOOKUP_PATH="\$LOOKUP_PATH:\$ENTRY"
445
- fi
446
- done
447
- IFS="\$OLD_IFS"
448
- if [ -n "\$LOOKUP_PATH" ]; then
449
- if RESOLVED_LAUNCHER="\$(PATH="\$LOOKUP_PATH" command -v "\$PREFERRED_COMMAND" 2>/dev/null)"; then
450
- if [ -n "\$RESOLVED_LAUNCHER" ] && [ "\$RESOLVED_LAUNCHER" != "\$WRAPPER_PATH" ]; then
451
- if [ -z "\${DEEPSCIENTIST_HOME:-}" ]; then
452
- export DEEPSCIENTIST_HOME="$BASE_DIR"
453
- fi
454
- exec "\$RESOLVED_LAUNCHER" "\$@"
455
- fi
456
- fi
457
- fi
458
424
  if [ -z "\${DEEPSCIENTIST_HOME:-}" ]; then
459
425
  export DEEPSCIENTIST_HOME="$BASE_DIR"
460
426
  fi
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@researai/deepscientist",
3
- "version": "1.5.9",
4
- "description": "Local-first research operating system with a Python runtime and npm launcher",
3
+ "version": "1.5.12",
4
+ "description": "DeepScientist is not just a fully open-source autonomous scientific discovery system. It is also a research map that keeps growing from every round.",
5
5
  "license": "Apache-2.0",
6
6
  "files": [
7
7
  "AGENTS.md",
package/pyproject.toml CHANGED
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "deepscientist"
7
- version = "1.5.9"
7
+ version = "1.5.12"
8
8
  description = "DeepScientist Core skeleton"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -5,4 +5,4 @@ __all__ = ["__version__"]
5
5
  try:
6
6
  __version__ = _package_version("deepscientist")
7
7
  except PackageNotFoundError: # pragma: no cover - source checkout fallback
8
- __version__ = "1.5.9"
8
+ __version__ = "1.5.12"