@researai/deepscientist 1.5.14 → 1.5.16

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 (225) hide show
  1. package/README.md +336 -90
  2. package/assets/branding/logo-raster.png +0 -0
  3. package/bin/ds.js +816 -131
  4. package/docs/en/00_QUICK_START.md +36 -15
  5. package/docs/en/01_SETTINGS_REFERENCE.md +53 -4
  6. package/docs/en/02_START_RESEARCH_GUIDE.md +7 -0
  7. package/docs/en/03_QQ_CONNECTOR_GUIDE.md +19 -0
  8. package/docs/en/05_TUI_GUIDE.md +6 -0
  9. package/docs/en/06_RUNTIME_AND_CANVAS.md +4 -3
  10. package/docs/en/09_DOCTOR.md +11 -5
  11. package/docs/en/10_WEIXIN_CONNECTOR_GUIDE.md +20 -0
  12. package/docs/en/14_PROMPT_SKILLS_AND_MCP_GUIDE.md +65 -13
  13. package/docs/en/15_CODEX_PROVIDER_SETUP.md +25 -8
  14. package/docs/en/16_TELEGRAM_CONNECTOR_GUIDE.md +134 -0
  15. package/docs/en/17_WHATSAPP_CONNECTOR_GUIDE.md +126 -0
  16. package/docs/en/18_FEISHU_CONNECTOR_GUIDE.md +136 -0
  17. package/docs/en/19_EXTERNAL_CONTROLLER_GUIDE.md +226 -0
  18. package/docs/en/19_LOCAL_BROWSER_AUTH.md +70 -0
  19. package/docs/en/20_WORKSPACE_MODES_GUIDE.md +250 -0
  20. package/docs/en/README.md +24 -0
  21. package/docs/zh/00_QUICK_START.md +36 -15
  22. package/docs/zh/01_SETTINGS_REFERENCE.md +53 -4
  23. package/docs/zh/02_START_RESEARCH_GUIDE.md +7 -0
  24. package/docs/zh/03_QQ_CONNECTOR_GUIDE.md +19 -0
  25. package/docs/zh/05_TUI_GUIDE.md +6 -0
  26. package/docs/zh/09_DOCTOR.md +11 -5
  27. package/docs/zh/10_WEIXIN_CONNECTOR_GUIDE.md +20 -0
  28. package/docs/zh/14_PROMPT_SKILLS_AND_MCP_GUIDE.md +65 -13
  29. package/docs/zh/15_CODEX_PROVIDER_SETUP.md +25 -8
  30. package/docs/zh/16_TELEGRAM_CONNECTOR_GUIDE.md +134 -0
  31. package/docs/zh/17_WHATSAPP_CONNECTOR_GUIDE.md +126 -0
  32. package/docs/zh/18_FEISHU_CONNECTOR_GUIDE.md +136 -0
  33. package/docs/zh/19_EXTERNAL_CONTROLLER_GUIDE.md +226 -0
  34. package/docs/zh/19_LOCAL_BROWSER_AUTH.md +68 -0
  35. package/docs/zh/20_WORKSPACE_MODES_GUIDE.md +251 -0
  36. package/docs/zh/README.md +24 -0
  37. package/install.sh +2 -0
  38. package/package.json +1 -1
  39. package/pyproject.toml +1 -1
  40. package/src/deepscientist/__init__.py +1 -1
  41. package/src/deepscientist/acp/envelope.py +6 -0
  42. package/src/deepscientist/artifact/charts.py +567 -0
  43. package/src/deepscientist/artifact/guidance.py +50 -10
  44. package/src/deepscientist/artifact/metrics.py +228 -5
  45. package/src/deepscientist/artifact/schemas.py +3 -0
  46. package/src/deepscientist/artifact/service.py +4276 -308
  47. package/src/deepscientist/bash_exec/models.py +23 -0
  48. package/src/deepscientist/bash_exec/monitor.py +147 -67
  49. package/src/deepscientist/bash_exec/runtime.py +218 -156
  50. package/src/deepscientist/bash_exec/service.py +309 -69
  51. package/src/deepscientist/bash_exec/shells.py +87 -0
  52. package/src/deepscientist/bridges/connectors.py +51 -2
  53. package/src/deepscientist/cli.py +115 -19
  54. package/src/deepscientist/codex_cli_compat.py +232 -0
  55. package/src/deepscientist/config/models.py +8 -4
  56. package/src/deepscientist/config/service.py +38 -11
  57. package/src/deepscientist/connector/weixin_support.py +122 -1
  58. package/src/deepscientist/daemon/api/handlers.py +199 -9
  59. package/src/deepscientist/daemon/api/router.py +5 -0
  60. package/src/deepscientist/daemon/app.py +1458 -289
  61. package/src/deepscientist/doctor.py +51 -0
  62. package/src/deepscientist/file_lock.py +48 -0
  63. package/src/deepscientist/gitops/__init__.py +10 -1
  64. package/src/deepscientist/gitops/diff.py +296 -1
  65. package/src/deepscientist/gitops/service.py +4 -1
  66. package/src/deepscientist/mcp/server.py +212 -5
  67. package/src/deepscientist/process_control.py +161 -0
  68. package/src/deepscientist/prompts/builder.py +501 -453
  69. package/src/deepscientist/quest/layout.py +15 -2
  70. package/src/deepscientist/quest/service.py +2539 -195
  71. package/src/deepscientist/quest/stage_views.py +177 -1
  72. package/src/deepscientist/runners/base.py +2 -0
  73. package/src/deepscientist/runners/codex.py +169 -31
  74. package/src/deepscientist/runners/runtime_overrides.py +17 -1
  75. package/src/deepscientist/skills/__init__.py +2 -2
  76. package/src/deepscientist/skills/installer.py +196 -5
  77. package/src/deepscientist/skills/registry.py +66 -0
  78. package/src/prompts/connectors/qq.md +18 -8
  79. package/src/prompts/connectors/weixin.md +16 -6
  80. package/src/prompts/contracts/shared_interaction.md +24 -4
  81. package/src/prompts/system.md +921 -72
  82. package/src/prompts/system_copilot.md +43 -0
  83. package/src/skills/analysis-campaign/SKILL.md +32 -2
  84. package/src/skills/analysis-campaign/references/artifact-orchestration.md +1 -1
  85. package/src/skills/analysis-campaign/references/writing-facing-slice-examples.md +65 -0
  86. package/src/skills/baseline/SKILL.md +10 -0
  87. package/src/skills/decision/SKILL.md +27 -2
  88. package/src/skills/experiment/SKILL.md +16 -2
  89. package/src/skills/figure-polish/SKILL.md +1 -0
  90. package/src/skills/finalize/SKILL.md +19 -0
  91. package/src/skills/idea/SKILL.md +79 -0
  92. package/src/skills/idea/references/idea-generation-playbook.md +100 -0
  93. package/src/skills/idea/references/outline-seeding-example.md +60 -0
  94. package/src/skills/intake-audit/SKILL.md +9 -1
  95. package/src/skills/mentor/SKILL.md +217 -0
  96. package/src/skills/mentor/references/correction-rules.md +210 -0
  97. package/src/skills/mentor/references/knowledge-profile.md +91 -0
  98. package/src/skills/mentor/references/persona-profile.md +138 -0
  99. package/src/skills/mentor/references/taste-profile.md +128 -0
  100. package/src/skills/mentor/references/thought-style-profile.md +138 -0
  101. package/src/skills/mentor/references/work-profile.md +289 -0
  102. package/src/skills/mentor/references/workflow-profile.md +240 -0
  103. package/src/skills/optimize/SKILL.md +1645 -0
  104. package/src/skills/rebuttal/SKILL.md +3 -1
  105. package/src/skills/review/SKILL.md +3 -1
  106. package/src/skills/scout/SKILL.md +8 -0
  107. package/src/skills/write/SKILL.md +81 -12
  108. package/src/skills/write/references/outline-evidence-contract-example.md +107 -0
  109. package/src/tui/dist/app/AppContainer.js +22 -11
  110. package/src/tui/dist/index.js +4 -1
  111. package/src/tui/dist/lib/api.js +33 -3
  112. package/src/tui/package.json +1 -1
  113. package/src/ui/dist/assets/AiManusChatView-COFACy7V.js +204 -0
  114. package/src/ui/dist/assets/AnalysisPlugin-DnSm0GZn.js +1 -0
  115. package/src/ui/dist/assets/CliPlugin-CvwCmDQ5.js +109 -0
  116. package/src/ui/dist/assets/CodeEditorPlugin-cOqSa0xq.js +2 -0
  117. package/src/ui/dist/assets/CodeViewerPlugin-itb0tltR.js +270 -0
  118. package/src/ui/dist/assets/DocViewerPlugin-DqKkiCI6.js +7 -0
  119. package/src/ui/dist/assets/GitCommitViewerPlugin-DVgNHBCS.js +1 -0
  120. package/src/ui/dist/assets/GitDiffViewerPlugin-DxL2ezFG.js +6 -0
  121. package/src/ui/dist/assets/GitSnapshotViewer-B_RQm1YZ.js +30 -0
  122. package/src/ui/dist/assets/ImageViewerPlugin-tHqlXY3n.js +26 -0
  123. package/src/ui/dist/assets/LabCopilotPanel-ClMbq5Yu.js +14 -0
  124. package/src/ui/dist/assets/LabPlugin-L_SuE8ow.js +22 -0
  125. package/src/ui/dist/assets/LatexPlugin-B495DTXC.js +25 -0
  126. package/src/ui/dist/assets/MarkdownViewerPlugin-DG28-61B.js +128 -0
  127. package/src/ui/dist/assets/MarketplacePlugin-BiOGT-Kj.js +13 -0
  128. package/src/ui/dist/assets/{NotebookEditor-CccQYZjX.css → NotebookEditor-BHH8rdGj.css} +1 -1
  129. package/src/ui/dist/assets/NotebookEditor-BOr3x3Ej.css +1 -0
  130. package/src/ui/dist/assets/NotebookEditor-C-4Kt1p9.js +81 -0
  131. package/src/ui/dist/assets/NotebookEditor-CVsj8h_T.js +361 -0
  132. package/src/ui/dist/assets/PdfLoader-CASDQmxJ.js +16 -0
  133. package/src/ui/dist/assets/PdfLoader-Cy5jtWrr.css +1 -0
  134. package/src/ui/dist/assets/PdfMarkdownPlugin-BFhwoKsY.js +1 -0
  135. package/src/ui/dist/assets/PdfViewerPlugin-DcOzU9vd.js +17 -0
  136. package/src/ui/dist/assets/PdfViewerPlugin-nwwE-fjJ.css +1 -0
  137. package/src/ui/dist/assets/SearchPlugin-CHj7M58O.js +16 -0
  138. package/src/ui/dist/assets/SearchPlugin-DA4en4hK.css +1 -0
  139. package/src/ui/dist/assets/TextViewerPlugin-CB4DYfWO.js +54 -0
  140. package/src/ui/dist/assets/VNCViewer-CjlbyCB3.js +11 -0
  141. package/src/ui/dist/assets/bot-CFkZY-JP.js +6 -0
  142. package/src/ui/dist/assets/browser-CTB2jwNe.js +8 -0
  143. package/src/ui/dist/assets/chevron-up-Dq5ofbht.js +6 -0
  144. package/src/ui/dist/assets/code-DLC6G24T.js +6 -0
  145. package/src/ui/dist/assets/file-content-Dv4LoZec.js +1 -0
  146. package/src/ui/dist/assets/file-diff-panel-Denq-lC3.js +1 -0
  147. package/src/ui/dist/assets/file-jump-queue-DA-SdG__.js +1 -0
  148. package/src/ui/dist/assets/file-socket-Cu4Qln7Y.js +1 -0
  149. package/src/ui/dist/assets/git-commit-horizontal-BUh6G52n.js +6 -0
  150. package/src/ui/dist/assets/image-B9HUUddG.js +6 -0
  151. package/src/ui/dist/assets/index-B2B1sg-M.js +1 -0
  152. package/src/ui/dist/assets/index-Cgla8biy.css +33 -0
  153. package/src/ui/dist/assets/index-DRyx7vAc.js +1 -0
  154. package/src/ui/dist/assets/index-Gbl53BNp.js +2496 -0
  155. package/src/ui/dist/assets/index-wQ7RIIRd.js +11 -0
  156. package/src/ui/dist/assets/monaco-CiHMMNH_.js +1 -0
  157. package/src/ui/dist/assets/pdf-effect-queue-ZtnHFCAi.js +6 -0
  158. package/src/ui/dist/assets/plugin-monaco-C8UgLomw.js +19 -0
  159. package/src/ui/dist/assets/plugin-notebook-HbW2K-1c.js +169 -0
  160. package/src/ui/dist/assets/plugin-pdf-CR8hgQBV.js +357 -0
  161. package/src/ui/dist/assets/plugin-terminal-MXFIPun8.js +227 -0
  162. package/src/ui/dist/assets/popover-DL6h35vr.js +1 -0
  163. package/src/ui/dist/assets/project-sync-CsX08Qno.js +1 -0
  164. package/src/ui/dist/assets/select-DvmXt1yY.js +11 -0
  165. package/src/ui/dist/assets/sigma-7jpXazui.js +6 -0
  166. package/src/ui/dist/assets/trash-xA7kFt8i.js +11 -0
  167. package/src/ui/dist/assets/useCliAccess-DsMwDjOp.js +1 -0
  168. package/src/ui/dist/assets/useFileDiffOverlay-FuhcnKiw.js +1 -0
  169. package/src/ui/dist/assets/wrap-text-CwMn-iqb.js +11 -0
  170. package/src/ui/dist/assets/zoom-out-R-GWEhzS.js +11 -0
  171. package/src/ui/dist/index.html +5 -2
  172. package/src/ui/dist/assets/AiManusChatView-DaF9Nge_.js +0 -26597
  173. package/src/ui/dist/assets/AnalysisPlugin-BSVx6dXE.js +0 -123
  174. package/src/ui/dist/assets/CliPlugin-C9gzJX41.js +0 -5905
  175. package/src/ui/dist/assets/CodeEditorPlugin-DU9G0Tox.js +0 -427
  176. package/src/ui/dist/assets/CodeViewerPlugin-DoX_fI9l.js +0 -905
  177. package/src/ui/dist/assets/DocViewerPlugin-C4FWIXuU.js +0 -278
  178. package/src/ui/dist/assets/GitDiffViewerPlugin-BgfFMgtf.js +0 -2661
  179. package/src/ui/dist/assets/ImageViewerPlugin-tcPkfY_x.js +0 -500
  180. package/src/ui/dist/assets/LabCopilotPanel-_dKV60Bf.js +0 -4104
  181. package/src/ui/dist/assets/LabPlugin-Bje0ayoC.js +0 -2677
  182. package/src/ui/dist/assets/LatexPlugin-CVsBzAln.js +0 -1792
  183. package/src/ui/dist/assets/MarkdownViewerPlugin-xjmrqv_8.js +0 -308
  184. package/src/ui/dist/assets/MarketplacePlugin-mMM2A8wP.js +0 -413
  185. package/src/ui/dist/assets/NotebookEditor-3kVDSOBo.js +0 -4214
  186. package/src/ui/dist/assets/NotebookEditor-C3VQ7ylN.css +0 -1405
  187. package/src/ui/dist/assets/NotebookEditor-SoJ8X-MO.js +0 -84873
  188. package/src/ui/dist/assets/PdfLoader-C-Y707R3.css +0 -49
  189. package/src/ui/dist/assets/PdfLoader-DElVuHl9.js +0 -25468
  190. package/src/ui/dist/assets/PdfMarkdownPlugin-Bq88XT4G.js +0 -409
  191. package/src/ui/dist/assets/PdfViewerPlugin-CsCXMo9S.js +0 -3095
  192. package/src/ui/dist/assets/PdfViewerPlugin-DQ11QcSf.css +0 -3627
  193. package/src/ui/dist/assets/SearchPlugin-DDMrGDkh.css +0 -379
  194. package/src/ui/dist/assets/SearchPlugin-oUPvy19k.js +0 -741
  195. package/src/ui/dist/assets/TextViewerPlugin-CRkT9yNy.js +0 -472
  196. package/src/ui/dist/assets/VNCViewer-BgbuvWhR.js +0 -18821
  197. package/src/ui/dist/assets/awareness-C0NPR2Dj.js +0 -292
  198. package/src/ui/dist/assets/bot-v_RASACv.js +0 -21
  199. package/src/ui/dist/assets/browser-BAcuE0Xj.js +0 -2895
  200. package/src/ui/dist/assets/code-5hC9d0VH.js +0 -17
  201. package/src/ui/dist/assets/file-content-D1PxfOrp.js +0 -377
  202. package/src/ui/dist/assets/file-diff-panel-DG1oT_Hj.js +0 -92
  203. package/src/ui/dist/assets/file-jump-queue-r5XKgJEV.js +0 -16
  204. package/src/ui/dist/assets/file-socket-BmdFYQlk.js +0 -58
  205. package/src/ui/dist/assets/function-B5QZkkHC.js +0 -1895
  206. package/src/ui/dist/assets/image-Dqe2X2tW.js +0 -18
  207. package/src/ui/dist/assets/index-BQG-1s2o.css +0 -12553
  208. package/src/ui/dist/assets/index-DVsMKK_y.js +0 -25
  209. package/src/ui/dist/assets/index-Duvz8Ip0.js +0 -159
  210. package/src/ui/dist/assets/index-Nt9hS4ck.js +0 -244829
  211. package/src/ui/dist/assets/index-RDlNXXx1.js +0 -120
  212. package/src/ui/dist/assets/monaco-DIXge1CP.js +0 -623
  213. package/src/ui/dist/assets/pdf-effect-queue-BBTTQaO-.js +0 -47
  214. package/src/ui/dist/assets/pdf_viewer-e0g1is2C.js +0 -8206
  215. package/src/ui/dist/assets/popover-BWlolyxo.js +0 -476
  216. package/src/ui/dist/assets/project-sync-BM5PkFH4.js +0 -297
  217. package/src/ui/dist/assets/select-D4dAtrA8.js +0 -1690
  218. package/src/ui/dist/assets/sigma-CKbE5jJT.js +0 -22
  219. package/src/ui/dist/assets/square-check-big-CZNGMgiB.js +0 -17
  220. package/src/ui/dist/assets/trash-DaB37xAz.js +0 -32
  221. package/src/ui/dist/assets/useCliAccess-C2OmAcWe.js +0 -957
  222. package/src/ui/dist/assets/useFileDiffOverlay-Dowd1Ij4.js +0 -53
  223. package/src/ui/dist/assets/wrap-text-BGjAhAUq.js +0 -35
  224. package/src/ui/dist/assets/yjs-DncrqiZ8.js +0 -11243
  225. package/src/ui/dist/assets/zoom-out-dMZQMXzc.js +0 -34
@@ -0,0 +1,250 @@
1
+ # 20 Workspace Modes Guide: Copilot vs Autonomous
2
+
3
+ This page explains the two normal project-start modes in DeepScientist:
4
+
5
+ - `Copilot`
6
+ - `Autonomous`
7
+
8
+ Use this when:
9
+
10
+ - you are about to create a new project
11
+ - you are unsure which launch mode to choose
12
+ - you want to understand why one project waits for you while another starts moving immediately
13
+
14
+ If you only want the shortest install-and-launch path, read [00 Quick Start](./00_QUICK_START.md) first.
15
+
16
+ If you want the exact startup payload and form field contract, read [02 Start Research Guide](./02_START_RESEARCH_GUIDE.md) after this page.
17
+
18
+ ## 1. One-sentence summary
19
+
20
+ - `Copilot`: quiet start, user-directed, stops after the current requested unit unless you ask it to continue
21
+ - `Autonomous`: standard DeepScientist, keeps pushing the quest forward on its own
22
+
23
+ ## 2. Where You Choose This
24
+
25
+ On the home / projects surface, start a new project and then choose the start style:
26
+
27
+ - `Copilot Mode`
28
+ - `Autonomous Mode`
29
+
30
+ Current UI wording may appear in two layers:
31
+
32
+ - outer launcher step: `Start Research` or `Start Experiment`
33
+ - mode picker title: `Choose the start style`
34
+
35
+ After that choice, the two flows diverge.
36
+
37
+ ## 3. Copilot Mode
38
+
39
+ ### 3.1 What it is
40
+
41
+ Copilot mode is the user-directed workspace.
42
+
43
+ It is for cases where you want DeepScientist to help actively, but you still want to steer each unit of work:
44
+
45
+ - inspect a repo
46
+ - read a paper
47
+ - debug code
48
+ - design an experiment
49
+ - check a running process
50
+ - rewrite a section
51
+ - summarize a result
52
+
53
+ The system should not assume that one request means “run the whole autonomous research loop”.
54
+
55
+ ### 3.2 What happens after creation
56
+
57
+ After you create a Copilot project:
58
+
59
+ - the project is created
60
+ - the quest stays idle
61
+ - the agent waits for your first real instruction
62
+
63
+ In practical terms:
64
+
65
+ - there is no immediate autonomous launch
66
+ - no baseline / experiment / writing loop starts just because the project exists
67
+ - the first substantial action begins when you send the first message
68
+
69
+ ### 3.3 Continuation behavior
70
+
71
+ Copilot mode is intentionally conservative about continuation.
72
+
73
+ After the current requested unit is complete, DeepScientist should normally:
74
+
75
+ - summarize what changed
76
+ - preserve context durably
77
+ - wait for your next message or `/resume`
78
+
79
+ This is the right mode when you want:
80
+
81
+ - tight human control
82
+ - short request-scoped help
83
+ - less background churn
84
+ - clearer handoff points
85
+
86
+ ### 3.4 Good fit
87
+
88
+ Choose `Copilot` when:
89
+
90
+ - you want to inspect before launching expensive work
91
+ - the task is still ambiguous
92
+ - you expect to iterate interactively
93
+ - you want DeepScientist to behave more like a strong research IDE partner than a long-running autonomous operator
94
+
95
+ ### 3.5 Bad fit
96
+
97
+ Avoid `Copilot` when:
98
+
99
+ - you already know the quest should keep running for hours
100
+ - you want detached experiments, monitoring, and follow-up routing without repeated user nudges
101
+ - the goal is full quest ownership, not request-by-request collaboration
102
+
103
+ ## 4. Autonomous Mode
104
+
105
+ ### 4.1 What it is
106
+
107
+ Autonomous mode is the standard DeepScientist path.
108
+
109
+ It is meant for quests where the system should keep making ordinary route choices on its own and continue until the next real checkpoint is reached.
110
+
111
+ This is the right mode for:
112
+
113
+ - baseline establishment
114
+ - long experiments
115
+ - analysis campaigns
116
+ - durable writing / finalize loops
117
+ - connector-facing project progress over time
118
+
119
+ ### 4.2 What happens after creation
120
+
121
+ After you create an Autonomous project:
122
+
123
+ - the quest is created
124
+ - the first turn is launched immediately
125
+ - the system begins turning the startup contract into real work
126
+
127
+ This may mean:
128
+
129
+ - reading the baseline and references
130
+ - checking environment and constraints
131
+ - preparing scripts
132
+ - selecting the next route
133
+ - launching detached `bash_exec` work
134
+
135
+ ### 4.3 Continuation behavior
136
+
137
+ Autonomous mode has two practical continuation regimes.
138
+
139
+ #### A. No real long-running external task yet
140
+
141
+ If no real long-running external task exists yet, DeepScientist should not park.
142
+
143
+ It should keep using the next turns to:
144
+
145
+ - prepare the real task
146
+ - launch the real task
147
+ - or make a durable route decision about what the real next task must be
148
+
149
+ This is the “active preparation / launch” phase.
150
+
151
+ #### B. A real long-running external task is already active
152
+
153
+ Once a real detached task is already running, continuation changes shape.
154
+
155
+ At that point, DeepScientist should not busy-loop through rapid model turns just to imitate continuous execution.
156
+
157
+ Instead:
158
+
159
+ - the real work should remain alive in detached `bash_exec` sessions or the runtime process they launched
160
+ - agent turns become lower-frequency monitoring / synthesis passes
161
+ - the current default monitoring cadence is roughly every `240` seconds
162
+
163
+ This is the “background progress monitoring” phase.
164
+
165
+ ### 4.4 Good fit
166
+
167
+ Choose `Autonomous` when:
168
+
169
+ - the quest should keep moving on its own
170
+ - you expect real long-running experiment or analysis work
171
+ - you want DeepScientist to keep routing after milestones
172
+ - you want the standard research-operating-system behavior
173
+
174
+ ### 4.5 Bad fit
175
+
176
+ Avoid `Autonomous` when:
177
+
178
+ - you only want a quiet project shell first
179
+ - you want to inspect the repo manually before any real movement
180
+ - you want every next unit to be explicitly user-directed
181
+
182
+ ## 5. The Most Important Practical Difference
183
+
184
+ The easiest way to remember the split is:
185
+
186
+ - `Copilot` asks: “What single useful unit should I help with right now?”
187
+ - `Autonomous` asks: “What is the next real quest step, and how do I keep the quest moving?”
188
+
189
+ That difference matters more than the labels themselves.
190
+
191
+ ## 6. How Resume Works
192
+
193
+ Both modes preserve context durably, but they resume differently.
194
+
195
+ On later turns, DeepScientist now carries a compact resume spine that can include:
196
+
197
+ - the latest durable user message
198
+ - the latest assistant checkpoint
199
+ - the latest run summary
200
+ - recent memory cues
201
+ - current `bash_exec` state
202
+
203
+ But the continuation policy still differs:
204
+
205
+ - `Copilot`: resume only when you speak again or explicitly resume
206
+ - `Autonomous`: keep going unless a real blocker or explicit waiting state applies
207
+
208
+ ## 7. Choosing Quickly
209
+
210
+ Use this fast rule:
211
+
212
+ 1. If you want the project to wait quietly until you tell it what to do, choose `Copilot`.
213
+ 2. If you want DeepScientist to begin turning the quest contract into real work immediately, choose `Autonomous`.
214
+ 3. If you are unsure, start with `Copilot`; you can still move into longer-running work once the route is clearer.
215
+
216
+ ## 8. Common Misunderstandings
217
+
218
+ ### “Autonomous means it should always spin rapidly”
219
+
220
+ No.
221
+
222
+ Autonomous means the quest should keep moving.
223
+
224
+ When there is no real long-running task yet, that can mean rapid preparation / launch turns.
225
+ When a real long-running task is already active, it should usually mean lower-frequency monitoring, not constant model churn.
226
+
227
+ ### “Copilot means it cannot run experiments”
228
+
229
+ Also no.
230
+
231
+ Copilot can still help launch, inspect, analyze, and write.
232
+ The difference is that it should not assume long autonomous continuation unless you ask for it.
233
+
234
+ ### “The two modes only change wording”
235
+
236
+ No.
237
+
238
+ They affect:
239
+
240
+ - initial launch behavior
241
+ - continuation policy
242
+ - when the quest parks
243
+ - how much autonomous routing is appropriate
244
+
245
+ ## 9. Related Docs
246
+
247
+ - [00 Quick Start](./00_QUICK_START.md)
248
+ - [02 Start Research Guide](./02_START_RESEARCH_GUIDE.md)
249
+ - [12 Guided Workflow Tour](./12_GUIDED_WORKFLOW_TOUR.md)
250
+ - [14 Prompt, Skills, and MCP Guide](./14_PROMPT_SKILLS_AND_MCP_GUIDE.md)
package/docs/en/README.md CHANGED
@@ -4,6 +4,8 @@ DeepScientist is not just a long-running autonomous scientific discovery system.
4
4
 
5
5
  2 minutes to install. 2 minutes to bind Weixin. 2 minutes to launch. Extremely fast and easy to use.
6
6
 
7
+ Local Web access now starts without a password gate by default. If you want a generated 16-character browser password for one launch, run `ds --auth true`; DeepScientist then prints the password in the terminal and the browser can reuse the stored login after the first successful entry.
8
+
7
9
  It is also a workshop-style collaboration environment: let it keep moving autonomously, or step in anytime to collaborate, edit code, run the terminal yourself, or keep notes and plans in a Notion-style workspace.
8
10
 
9
11
  Use DeepScientist anywhere: on the server through TUI, in the browser through Web, on the phone through Weixin or QQ, and even on glasses through Rokid Glasses.
@@ -30,6 +32,10 @@ This page is the shortest path to the right document.
30
32
 
31
33
  - [00 Quick Start](./00_QUICK_START.md)
32
34
  Start here if you want to install DeepScientist, launch it locally, and create your first project.
35
+ - [20 Workspace Modes Guide](./20_WORKSPACE_MODES_GUIDE.md)
36
+ Read this if you want to choose correctly between Copilot and Autonomous before creating a project.
37
+ - [19 Local Browser Auth](./19_LOCAL_BROWSER_AUTH.md)
38
+ Read this if you want to understand the local password prompt, where to find the password, and how to disable it.
33
39
  - [05 TUI Guide](./05_TUI_GUIDE.md)
34
40
  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.
35
41
  - [15 Codex Provider Setup](./15_CODEX_PROVIDER_SETUP.md)
@@ -43,6 +49,8 @@ This page is the shortest path to the right document.
43
49
 
44
50
  - [02 Start Research Guide](./02_START_RESEARCH_GUIDE.md)
45
51
  Explains the current frontend fields, derived contract fields, and practical examples.
52
+ - [20 Workspace Modes Guide](./20_WORKSPACE_MODES_GUIDE.md)
53
+ Use this when the main question is not “how do I fill the form?” but “should this project start as Copilot or Autonomous?”.
46
54
  - [01 Settings Reference](./01_SETTINGS_REFERENCE.md)
47
55
  Use this when you need to configure runners, connectors, runtime defaults, or home paths.
48
56
  - [11 License And Risk Notice](./11_LICENSE_AND_RISK.md)
@@ -50,6 +58,12 @@ This page is the shortest path to the right document.
50
58
 
51
59
  ## If you want to collaborate through external surfaces
52
60
 
61
+ - [16 Telegram Connector Guide](./16_TELEGRAM_CONNECTOR_GUIDE.md)
62
+ Bind Telegram through the built-in polling runtime and continue quests from bot chats.
63
+ - [17 WhatsApp Connector Guide](./17_WHATSAPP_CONNECTOR_GUIDE.md)
64
+ Bind WhatsApp through the local-session runtime and continue quests from local chat sessions.
65
+ - [18 Feishu Connector Guide](./18_FEISHU_CONNECTOR_GUIDE.md)
66
+ Bind Feishu through the built-in long-connection runtime and continue quests from bot chats.
53
67
  - [10 Weixin Connector Guide](./10_WEIXIN_CONNECTOR_GUIDE.md)
54
68
  Bind personal WeChat through DeepScientist's built-in QR login and iLink runtime.
55
69
  - [03 QQ Connector Guide](./03_QQ_CONNECTOR_GUIDE.md)
@@ -67,6 +81,8 @@ This page is the shortest path to the right document.
67
81
  Explains how the daemon, workspace, canvas, and connector views fit together.
68
82
  - [07 Memory and MCP](./07_MEMORY_AND_MCP.md)
69
83
  Explains memory, artifacts, and built-in MCP behavior.
84
+ - [19 External Controller Guide](./19_EXTERNAL_CONTROLLER_GUIDE.md)
85
+ Shows how to build optional outer-orchestration guards on top of mailbox and `quest_control` without patching core runtime code.
70
86
 
71
87
  ## If something is broken
72
88
 
@@ -83,3 +99,11 @@ This page is the shortest path to the right document.
83
99
  High-level system contracts and repository structure.
84
100
  - [91 Development](./91_DEVELOPMENT.md)
85
101
  Maintainer-facing workflow and implementation notes.
102
+
103
+ ## Community
104
+
105
+ Welcome to join the WeChat group for discussion.
106
+
107
+ <p align="center">
108
+ <img src="../../assets/readme/wechat.jpg" alt="DeepScientist WeChat group" width="360" />
109
+ </p>
@@ -13,7 +13,7 @@
13
13
 
14
14
  本文中的截图直接使用当前在线页面 `deepscientist.cc:20999` 作为示例。你本地运行后的页面 `127.0.0.1:20999` 通常会与它保持一致或非常接近。
15
15
 
16
- 当前平台支持:DeepScientist 目前仅支持 Linux 和 macOS,当前版本暂不支持 Windows
16
+ 当前平台支持:DeepScientist 目前完整支持 Linux 和 macOS。原生 Windows 支持目前仍处于实验阶段(强烈建议优先使用 WSL2,尤其是在你希望获得最接近 Linux 的终端行为时)。
17
17
 
18
18
  ## 安全建议:先隔离,再启动
19
19
 
@@ -60,7 +60,7 @@
60
60
 
61
61
  ## 1. 先安装 Node.js,再安装 DeepScientist
62
62
 
63
- DeepScientist 目前仅支持 Linux 和 macOS
63
+ DeepScientist 目前完整支持 Linux 和 macOS。原生 Windows 支持目前仍处于实验阶段(强烈建议优先使用 WSL2,尤其是在你希望获得更稳定、更接近 Linux 的 shell 行为时)。
64
64
 
65
65
  在安装 DeepScientist 本身之前,请先从 Node.js 官方页面安装 Node.js:
66
66
 
@@ -85,6 +85,15 @@ DeepScientist 依赖一个可用的 Codex CLI。它会优先使用你机器上
85
85
  npm install -g @openai/codex
86
86
  ```
87
87
 
88
+ 最稳妥的做法是立刻验证命令是否真的可用:
89
+
90
+ ```bash
91
+ which codex
92
+ codex --login
93
+ ```
94
+
95
+ 如果 `which codex` 没有输出,问题通常不是 DeepScientist 本身,而是 npm 全局 bin 目录没有正确进入 shell 的 PATH。先修复 PATH,再重新执行 `npm install -g @openai/codex`。
96
+
88
97
  如果你后面还要在本地编译论文 PDF,可以再运行:
89
98
 
90
99
  ```bash
@@ -148,18 +157,21 @@ ds --codex /absolute/path/to/codex --codex-profile m27
148
157
 
149
158
  这里的 `m27` 是本仓库统一使用的 MiniMax profile 示例名。MiniMax 官方页面当前示例名是 `m21`,但 profile 名只是本地别名;如果你自己用了别的名字,就把命令里的名字一起改掉。
150
159
 
151
- DeepScientist 会在启动前强制做一次真实的 Codex hello 探测。默认情况下,`~/DeepScientist/config/runners.yaml` 里的 runner 模型还是 `gpt-5.4`。如果你的 profile 希望模型由 profile 自己决定,请把 `runners.yaml` 里的 `model` 改成 `inherit`;或者直接使用 `--codex-profile <name>`,让这一轮启动自动继承 profile 对应的模型。
160
+ DeepScientist 会在启动前强制做一次真实的 Codex hello 探测。当前 `~/DeepScientist/config/runners.yaml` 里的默认 runner 模型已经是 `inherit`。如果你的旧配置里还固定写着某个显式模型,而你的 provider 又希望模型由 profile 自己决定,请把 `model` 改成 `inherit`;或者直接使用 `--codex-profile <name>`,让这一轮启动自动继承 profile 对应的模型。
152
161
 
153
162
  MiniMax 额外说明:
154
163
 
155
164
  - 如果当前最新版 `@openai/codex` 和 MiniMax 走不通,直接安装 `npm install -g @openai/codex@0.57.0`
165
+ - 如果 DeepScientist 在启动时检测到 MiniMax profile,但当前 Codex CLI 不是 `0.57.0`,现在会在交互式终端里主动提示是否自动安装 `0.57.0`
156
166
  - 先创建 MiniMax `Coding Plan Key`
157
- - 在当前 shell 里先执行 `unset OPENAI_API_KEY` 和 `unset OPENAI_BASE_URL`
167
+ - 如果你要单独在终端里验证 `codex --profile <name>`,先在当前 shell 里执行 `unset OPENAI_API_KEY` 和 `unset OPENAI_BASE_URL`
158
168
  - 使用 `https://api.minimaxi.com/v1`
159
169
  - MiniMax 官方 Codex CLI 页面当前给出的 `codex-MiniMax-*` 模型名,在本地用提供的 key 实测并不能稳定通过 Codex CLI
160
- - 当前本地实测可用的模型名是 `MiniMax-M2.7`
170
+ - 当前本地实测可用于 DeepScientist 的模型名是 `MiniMax-M2.7` 和 `MiniMax-M2.5`
171
+ - 如果你要走 `m25`,请使用 `MiniMax-M2.5`,不要写成 `codex-MiniMax-M2.5`
161
172
  - DeepScientist 现在可以在 probe 和运行时自动适配 MiniMax profile-only 的 `model_provider` / `model` 配置形态
162
- - 如果你还希望终端里的 `codex --profile <name>` 也直接可用,再在 `~/.codex/config.toml` 顶层补上 `model_provider = "minimax"` `model = "MiniMax-M2.7"`
173
+ - provider 设置了 `requires_openai_auth = false` 时,DeepScientist 也会自动移除冲突的 `OPENAI_*` 认证环境变量
174
+ - 如果你还希望终端里的 `codex --profile <name>` 也直接可用,再在 `~/.codex/config.toml` 顶层补上 `model_provider = "minimax"`,以及对应的顶层 `model`,例如 `MiniMax-M2.7` 或 `MiniMax-M2.5`
163
175
  - 当 DeepScientist 检测到旧版 Codex CLI 不支持 `xhigh` 时,会自动把它降级成 `high`
164
176
 
165
177
  ## 3. 启动本地运行时
@@ -200,13 +212,14 @@ ds --port 21000
200
212
 
201
213
  这会把网页界面放到 `21000` 端口。
202
214
 
203
- 默认情况下,本地网页地址是:
215
+ 默认情况下,DeepScientist 启动时不会开启本地浏览器密码门禁。
204
216
 
205
- ```text
206
- http://127.0.0.1:20999
207
- ```
208
-
209
- 如果浏览器没有自动打开,就手动访问这个地址。
217
+ - 如果浏览器没有自动打开,就手动访问普通本地地址,例如 `http://127.0.0.1:20999`
218
+ - 如果你想在某次启动里启用本地浏览器密码,可以用 `ds --auth true`
219
+ - 在启用密码模式的启动中,终端会直接打印这次启动生成的密码
220
+ - 如果当前浏览器还没有登录,本地首页会先弹出密码框,再继续显示后续界面
221
+ - 第一次成功进入后,浏览器会保存这次本地登录,之后再次访问通常不需要重复输入
222
+ - 如果你之后忘了某次启用密码启动的密码,可以回到启动终端查看,或者执行 `ds --status`
210
223
 
211
224
  ## 4. 打开首页
212
225
 
@@ -220,10 +233,18 @@ http://127.0.0.1:20999
220
233
 
221
234
  你最先会看到两个入口:
222
235
 
223
- - `Start Research`:创建一个新项目,并立刻开始新的研究任务
236
+ - `Start Research` 或 `Start Experiment`:进入新项目创建流程
224
237
  - `Open Project`:重新打开已有项目
225
238
 
226
- 第一次使用时,先点击 `Start Research`。
239
+ 第一次使用时,先点击 `Start Research` 或 `Start Experiment`。
240
+
241
+ 这里有一个重要变化:
242
+
243
+ - 现在系统会先让你选择启动方式
244
+ - `Copilot`:先创建一个安静待命的项目,等你发第一条明确指令
245
+ - `Autonomous`:标准版 DeepScientist,创建后直接开始推进
246
+
247
+ 如果你还不确定该选哪一个,先看 [20 工作区模式指南](./20_WORKSPACE_MODES_GUIDE.md)。
227
248
 
228
249
  ## 5. 用一个真实示例创建第一个项目
229
250
 
@@ -236,7 +257,7 @@ http://127.0.0.1:20999
236
257
  - 研究在混合正确 / 错误社会信号下,如何实现更强的 truth-preserving collaboration
237
258
  - 使用两个本地推理端点提高吞吐量
238
259
 
239
- 点击 `Start Research`,打开启动弹窗。
260
+ 点击 `Start Research` / `Start Experiment`,然后选择 `Autonomous Mode`,再进入下面这条标准创建流程。
240
261
 
241
262
  ![Start Research 弹窗](../images/quickstart/01-start-research.png)
242
263
 
@@ -52,6 +52,7 @@ daemon:
52
52
  ui:
53
53
  host: 0.0.0.0
54
54
  port: 20999
55
+ auth_enabled: false
55
56
  auto_open_browser: true
56
57
  default_mode: both
57
58
  logging:
@@ -172,6 +173,17 @@ acp:
172
173
  - 作用:本地 UI 服务监听端口。
173
174
  - 何时修改:端口冲突时。
174
175
 
176
+ **`ui.auth_enabled`**
177
+
178
+ - 类型:`boolean`
179
+ - 默认值:`false`
180
+ - 页面标签:`Require local password`
181
+ - 作用:为 Web 工作区和所有 `/api/*` 路由启用本地 16 位浏览器访问密码。
182
+ - 行为:
183
+ - `true`:`ds` 会在终端打印这次启动生成的密码;如果浏览器里没有有效登录态,就必须先输入密码;登录成功后会在浏览器中持久化。
184
+ - `false`:关闭本地密码门禁,保持普通本地地址直连行为。
185
+ - CLI 覆盖:`ds --auth true` 或 `ds --auth false`
186
+
175
187
  **`ui.auto_open_browser`**
176
188
 
177
189
  - 类型:`boolean`
@@ -274,6 +286,7 @@ acp:
274
286
  - 默认值:`true`
275
287
  - 页面标签:`Sync project skills on create`
276
288
  - 作用:创建项目时,把技能镜像到项目本地 `.codex/skills` / `.claude/agents`。
289
+ - Prompt 说明:同时会初始化 quest 本地的受管 prompt 镜像 `.codex/prompts/`。
277
290
 
278
291
  **`skills.sync_quest_on_open`**
279
292
 
@@ -281,6 +294,26 @@ acp:
281
294
  - 默认值:`true`
282
295
  - 页面标签:`Sync project skills on open`
283
296
  - 作用:打开已有项目时刷新本地技能镜像。
297
+ - Prompt 说明:会刷新当前 DeepScientist home 下已发现 quest 的本地技能与 prompt 镜像。
298
+
299
+ 受管 prompt 行为:
300
+
301
+ - `.codex/prompts/` 现在应被视为“当前 active prompt 树”的受管副本,而不是长期手工维护的 override。
302
+ - 每次真实 runner turn 开始前,DeepScientist 都会把 quest 本地 active prompt 树和仓库当前 `src/prompts/` 做比较,并自动修复漂移。
303
+ - 如果 active prompt 树与仓库源不同,系统会先把旧树备份到 `.codex/prompt_versions/<backup_id>/`,再写入新的 active 副本。
304
+ - 这个运行前同步是针对“本次 turn 实际使用的 quest_root”执行的,所以即使 quest 不在默认 `home/quests` 下面,也仍然会更新。
305
+ - 运行时覆盖:`ds daemon --prompt-version latest` 使用当前受管 active prompt;`ds daemon --prompt-version <official_version>` 会优先选择该正式版本号下最新的一份 prompt 备份。
306
+ - 如果你不是想用“这个正式版本下最新的一份”,而是想精确回放某一次备份,也仍然可以直接传 `.codex/prompt_versions/` 里的精确目录名。
307
+ - 同样的覆盖也支持一次性 CLI run:`ds run --prompt-version <official_version> ...`。
308
+
309
+ 受管 auto-continue 行为:
310
+
311
+ - `workspace_mode = copilot`
312
+ - 完成当前请求单元后,DeepScientist 通常停驻,等待下一条用户消息或 `/resume`
313
+ - `workspace_mode = autonomous`
314
+ - 如果真实外部长任务还没跑起来,就继续用后续 turns 做准备、启动或耐久路由
315
+ - 一旦真实外部长任务已经在跑,auto-continue 就切成低频巡检,默认大约每 `240` 秒一轮
316
+ - auto-continue prompt 现在还会带上一个紧凑的 resume spine:最近用户消息、最近 assistant checkpoint、最近 run 摘要、少量 memory cues,以及当前 `bash_exec` 状态
284
317
 
285
318
  ### Connector policy
286
319
 
@@ -409,8 +442,8 @@ codex:
409
442
  profile: ""
410
443
  model: gpt-5.4
411
444
  model_reasoning_effort: xhigh
412
- approval_policy: on-request
413
- sandbox_mode: workspace-write
445
+ approval_policy: never
446
+ sandbox_mode: danger-full-access
414
447
  retry_on_failure: true
415
448
  retry_max_attempts: 5
416
449
  retry_initial_backoff_sec: 1.0
@@ -488,19 +521,35 @@ claude:
488
521
  **`approval_policy`**
489
522
 
490
523
  - 类型:`string`
491
- - 默认值:`on-request`
524
+ - 默认值:`never`
492
525
  - 页面标签:`Approval policy`
493
526
  - 允许值:`never`、`on-failure`、`on-request`、`untrusted`
494
527
  - 作用:控制高权限动作如何申请许可。
528
+ - 运行说明:launcher 现在默认以 YOLO 模式启动 Codex。若要临时关闭,可显式传 `ds --yolo false`,这会恢复到 `approval_policy=on-request` 与 `sandbox_mode=workspace-write`。
495
529
 
496
530
  **`sandbox_mode`**
497
531
 
498
532
  - 类型:`string`
499
- - 默认值:`workspace-write`
533
+ - 默认值:`danger-full-access`
500
534
  - 页面标签:`Sandbox mode`
501
535
  - 允许值:`read-only`、`workspace-write`、`danger-full-access`
502
536
  - 作用:控制 runner 的文件系统/进程访问权限。
503
537
 
538
+ **`env`**
539
+
540
+ - 类型:`mapping<string, string>`
541
+ - 默认值:`{}`
542
+ - 页面入口:
543
+ - 全局设置:可在 `runners` 结构化表单中直接编辑 `env`
544
+ - 项目设置:`Project settings -> Codex environment`
545
+ - 项目设置行为:
546
+ - 点击 `Add` 新增一行环境变量
547
+ - 默认会显示 `OPENAI_BASE_URL` 和 `OPENAI_API_KEY`
548
+ - 修改后不会自动保存,需要手动点击 `Save env vars`
549
+ - 空值会被忽略,不会注入到 Codex 进程
550
+ - 作用:DeepScientist 启动 Codex run 时,额外传入给 Codex 的环境变量。
551
+ - 常见用途:需要 API Key 或自定义 Base URL 的 provider-backed Codex 配置。
552
+
504
553
  **`retry_on_failure`**
505
554
 
506
555
  - 类型:`boolean`
@@ -326,9 +326,16 @@ type StartResearchContractFields = {
326
326
 
327
327
  - `autonomous`
328
328
  - 普通路线由 agent 自行决定
329
+ - 一轮结束后默认继续:如果真实长时间外部任务还没跑起来,就继续准备或启动;一旦真实长任务已经在跑,后台监控应切成低频,而不是亚分钟轮询
329
330
  - `user_gated`
330
331
  - 只有真正依赖用户偏好时,才允许阻塞式决策请求
331
332
 
333
+ 关于 workspace mode 的实际含义:
334
+
335
+ - DeepScientist 还会区分用户导向的 `copilot` 模式和默认的 `autonomous` 模式。
336
+ - 在 `copilot` 下,当前请求单元完成后通常应该停驻,等待下一条用户消息或 `/resume`。
337
+ - 在 `autonomous` 下,不能因为“当前还没有长任务在跑”就停住;系统应继续推进,直到下一个真实长任务被准备好或启动起来。
338
+
332
339
  ### 启动模式
333
340
 
334
341
  **`launch_mode`**
@@ -20,6 +20,7 @@
20
20
  - 在 QQ 中使用 `/new`、`/use latest`、`/status` 等命令
21
21
  - 在 `Settings` 页面看到自动检测到的 `openid`
22
22
  - 从 `Settings` 页面执行非破坏性的连接测试
23
+ - 当 QQ 绑定到 quest 时,在每次主实验完成后自动收到按指标生成的时间线图片
23
24
 
24
25
  ### 部署前检查清单
25
26
 
@@ -221,6 +222,24 @@ QQ readiness is healthy, but no OpenID has been learned yet. Save credentials, t
221
222
  - 再次点击“发送测试消息”时,不再提示 target 为空
222
223
  - 如果当前已经有最新项目,普通文本会自动进入该项目;如果还没有项目,则优先返回帮助信息
223
224
 
225
+ ## 5.3 主实验指标图自动推送
226
+
227
+ 当 QQ 是当前 quest 的绑定连接器时,DeepScientist 现在会在每次主实验完成后自动发送指标时间线图片。
228
+
229
+ 当前行为:
230
+
231
+ - 每个指标生成一张图
232
+ - 如果 baseline 存在该指标,会画一条横向虚线作为 baseline 参考线
233
+ - 系统会自动判断该指标是“越高越好”还是“越低越好”
234
+ - 超过 baseline 的点会额外标星
235
+ - 最新点使用莫兰迪深红色填充
236
+ - 较早的点使用莫兰迪深蓝色填充
237
+ - 如果指标有多个,DeepScientist 会按顺序发送,并在相邻两张图之间间隔约 2 秒
238
+
239
+ 这些图来自 quest 本地生成的文件,并会作为 QQ 原生图片自动发送。
240
+
241
+ 如果你想关闭这项自动推送,可以在 QQ 连接器配置中关闭 `auto_send_main_experiment_png`。
242
+
224
243
  ### 5.2 报错提示速查
225
244
 
226
245
  | 提示 | 代表什么 | 应该怎么做 |
@@ -58,6 +58,7 @@ ds --stop
58
58
  含义:
59
59
 
60
60
  - `ds`:启动 daemon,打印本地 Web 地址,尝试打开浏览器,然后退出。
61
+ 如果你是用 `ds --auth true` 启动,DeepScientist 也会同时打印这次启动生成的本地浏览器密码。
61
62
  - `ds --tui`:启动 daemon,并进入终端工作区。
62
63
  - `ds --both`:同时开 Web 和 TUI。
63
64
  - `ds --status`:查看 daemon 状态。
@@ -71,6 +72,11 @@ ds --stop
71
72
  - 当前本地 Web 地址
72
73
  - 当前有哪些 quest 可以切换
73
74
 
75
+ 如果本地浏览器密码模式是开启的,那么终端里打印出来的 Web 地址就是你应该优先使用的地址。
76
+
77
+ - 第一次优先打开终端里打印的完整 URL
78
+ - 当 TUI 已经拿到本地密码 token 时,`Ctrl+O` 重新打开 Web 也会带上同一个 token
79
+
74
80
  如果欢迎区显示的是 `request mode`,说明你还没有绑定 quest。
75
81
 
76
82
  这时正确动作不是直接输入普通文本,而是先做下面两件事之一:
@@ -116,13 +116,16 @@ ds --codex /absolute/path/to/codex --codex-profile m27
116
116
  MiniMax 补充说明:
117
117
 
118
118
  - 如果 MiniMax 在当前最新版 `@openai/codex` 上失败,直接安装 `npm install -g @openai/codex@0.57.0`
119
+ - 如果 DeepScientist 在启动时检测到 MiniMax profile,但当前 Codex CLI 不是 `0.57.0`,现在会在交互式终端里主动提示是否自动安装 `0.57.0`
119
120
  - 先创建 MiniMax `Coding Plan Key`
120
- - 在当前 shell 里先执行 `unset OPENAI_API_KEY` 和 `unset OPENAI_BASE_URL`
121
+ - 如果你要单独在终端里验证 `codex --profile <name>`,先在当前 shell 里执行 `unset OPENAI_API_KEY` 和 `unset OPENAI_BASE_URL`
121
122
  - 使用 `https://api.minimaxi.com/v1`
122
123
  - MiniMax 官方 Codex CLI 页面当前给出的 `codex-MiniMax-*` 模型名,在本地用提供的 key 实测并不能稳定通过 Codex CLI
123
- - 当前本地实测可用的模型名是 `MiniMax-M2.7`
124
+ - 当前本地实测可用于 DeepScientist 的模型名是 `MiniMax-M2.7` 和 `MiniMax-M2.5`
125
+ - 如果你要走 `m25`,请使用 `MiniMax-M2.5`,不要写成 `codex-MiniMax-M2.5`
124
126
  - DeepScientist 现在可以在 probe 和运行时自动适配 MiniMax profile-only 的 `model_provider` / `model` 配置形态
125
- - 如果你还希望终端里的 `codex --profile <name>` 也直接可用,再在 `~/.codex/config.toml` 顶层补上 `model_provider = "minimax"` `model = "MiniMax-M2.7"`
127
+ - provider 设置了 `requires_openai_auth = false` 时,DeepScientist 也会自动移除冲突的 `OPENAI_*` 认证环境变量
128
+ - 如果你还希望终端里的 `codex --profile <name>` 也直接可用,再在 `~/.codex/config.toml` 顶层补上 `model_provider = "minimax"`,以及对应的顶层 `model`,例如 `MiniMax-M2.7` 或 `MiniMax-M2.5`
126
129
  - 当 DeepScientist 检测到 Codex CLI 版本低于 `0.63.0` 时,会自动把 `xhigh` 降级成 `high`
127
130
 
128
131
  ### 当前配置的 Codex 模型不可用
@@ -149,7 +152,7 @@ ds doctor
149
152
  curl -LsSf https://astral.sh/uv/install.sh | sh
150
153
  ```
151
154
 
152
- 如果你在 Windows PowerShell
155
+ 如果你在 Windows PowerShell(但日常使用 DeepScientist 仍然强烈建议优先使用 WSL2):
153
156
 
154
157
  ```powershell
155
158
  powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
@@ -233,4 +236,7 @@ git config --global user.email "you@example.com"
233
236
  ## 说明
234
237
 
235
238
  - `ds docker` 保留为兼容别名,但正式命令是 `ds doctor`。
236
- - 默认浏览器访问地址是 `http://127.0.0.1:20999`。
239
+ - 默认情况下,浏览器访问地址保持普通本地形式,例如 `http://127.0.0.1:20999`。
240
+ - 如果启用了本地浏览器密码模式,首页会先弹出密码框,再继续进入工作区。
241
+ - 你可以回到启动终端查看当前密码,或者执行 `ds --status`。
242
+ - 默认情况下不会出现密码弹窗;如果你想在某次启动中启用本地浏览器密码模式,可以使用 `ds --auth true`。