@researai/deepscientist 1.5.9 → 1.5.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/README.md +107 -94
  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 +168 -9
  7. package/docs/assets/branding/projects.png +0 -0
  8. package/docs/en/00_QUICK_START.md +308 -70
  9. package/docs/en/01_SETTINGS_REFERENCE.md +3 -0
  10. package/docs/en/02_START_RESEARCH_GUIDE.md +112 -0
  11. package/docs/en/04_LINGZHU_CONNECTOR_GUIDE.md +62 -179
  12. package/docs/en/09_DOCTOR.md +41 -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 +427 -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/99_ACKNOWLEDGEMENTS.md +4 -1
  19. package/docs/en/README.md +79 -0
  20. package/docs/images/lingzhu/rokid-agent-platform-create.png +0 -0
  21. package/docs/images/weixin/weixin-plugin-entry.png +0 -0
  22. package/docs/images/weixin/weixin-plugin-entry.svg +33 -0
  23. package/docs/images/weixin/weixin-qr-confirm.svg +30 -0
  24. package/docs/images/weixin/weixin-quest-media-flow.svg +44 -0
  25. package/docs/images/weixin/weixin-settings-bind.svg +57 -0
  26. package/docs/zh/00_QUICK_START.md +315 -74
  27. package/docs/zh/01_SETTINGS_REFERENCE.md +3 -0
  28. package/docs/zh/02_START_RESEARCH_GUIDE.md +112 -0
  29. package/docs/zh/04_LINGZHU_CONNECTOR_GUIDE.md +62 -193
  30. package/docs/zh/09_DOCTOR.md +41 -5
  31. package/docs/zh/10_WEIXIN_CONNECTOR_GUIDE.md +144 -0
  32. package/docs/zh/11_LICENSE_AND_RISK.md +256 -0
  33. package/docs/zh/12_GUIDED_WORKFLOW_TOUR.md +423 -0
  34. package/docs/zh/13_CORE_ARCHITECTURE_GUIDE.md +296 -0
  35. package/docs/zh/14_PROMPT_SKILLS_AND_MCP_GUIDE.md +506 -0
  36. package/docs/zh/99_ACKNOWLEDGEMENTS.md +4 -1
  37. package/docs/zh/README.md +126 -0
  38. package/install.sh +0 -34
  39. package/package.json +2 -2
  40. package/pyproject.toml +1 -1
  41. package/src/deepscientist/__init__.py +1 -1
  42. package/src/deepscientist/annotations.py +343 -0
  43. package/src/deepscientist/artifact/arxiv.py +484 -37
  44. package/src/deepscientist/artifact/service.py +574 -108
  45. package/src/deepscientist/arxiv_library.py +275 -0
  46. package/src/deepscientist/bash_exec/service.py +9 -0
  47. package/src/deepscientist/bridges/builtins.py +2 -0
  48. package/src/deepscientist/bridges/connectors.py +447 -0
  49. package/src/deepscientist/channels/__init__.py +2 -0
  50. package/src/deepscientist/channels/builtins.py +3 -1
  51. package/src/deepscientist/channels/qq.py +1 -1
  52. package/src/deepscientist/channels/qq_gateway.py +1 -1
  53. package/src/deepscientist/channels/relay.py +7 -1
  54. package/src/deepscientist/channels/weixin.py +59 -0
  55. package/src/deepscientist/channels/weixin_ilink.py +317 -0
  56. package/src/deepscientist/config/models.py +22 -2
  57. package/src/deepscientist/config/service.py +431 -60
  58. package/src/deepscientist/connector/__init__.py +4 -0
  59. package/src/deepscientist/connector/connector_profiles.py +481 -0
  60. package/src/deepscientist/connector/lingzhu_support.py +668 -0
  61. package/src/deepscientist/connector/qq_profiles.py +206 -0
  62. package/src/deepscientist/connector/weixin_support.py +663 -0
  63. package/src/deepscientist/connector_profiles.py +1 -374
  64. package/src/deepscientist/connector_runtime.py +2 -0
  65. package/src/deepscientist/daemon/api/handlers.py +165 -5
  66. package/src/deepscientist/daemon/api/router.py +13 -1
  67. package/src/deepscientist/daemon/app.py +1130 -61
  68. package/src/deepscientist/doctor.py +5 -2
  69. package/src/deepscientist/gitops/diff.py +120 -29
  70. package/src/deepscientist/lingzhu_support.py +1 -182
  71. package/src/deepscientist/mcp/server.py +11 -4
  72. package/src/deepscientist/prompts/builder.py +15 -0
  73. package/src/deepscientist/qq_profiles.py +1 -196
  74. package/src/deepscientist/quest/node_traces.py +23 -0
  75. package/src/deepscientist/quest/service.py +112 -43
  76. package/src/deepscientist/quest/stage_views.py +71 -5
  77. package/src/deepscientist/runners/codex.py +55 -3
  78. package/src/deepscientist/weixin_support.py +1 -0
  79. package/src/prompts/connectors/lingzhu.md +3 -1
  80. package/src/prompts/connectors/weixin.md +230 -0
  81. package/src/prompts/system.md +2 -0
  82. package/src/tui/package.json +1 -1
  83. package/src/ui/dist/assets/{AiManusChatView-BKZ103sn.js → AiManusChatView-D0mTXG4-.js} +156 -48
  84. package/src/ui/dist/assets/{AnalysisPlugin-mTTzGAlK.js → AnalysisPlugin-Db0cTXxm.js} +1 -1
  85. package/src/ui/dist/assets/{CliPlugin-BH58n3GY.js → CliPlugin-DrV8je02.js} +164 -9
  86. package/src/ui/dist/assets/{CodeEditorPlugin-BKGRUH7e.js → CodeEditorPlugin-QXMSCH71.js} +8 -8
  87. package/src/ui/dist/assets/{CodeViewerPlugin-BMADwFWJ.js → CodeViewerPlugin-7hhtWj_E.js} +5 -5
  88. package/src/ui/dist/assets/{DocViewerPlugin-ZOnTIHLN.js → DocViewerPlugin-BWMSnRJe.js} +3 -3
  89. package/src/ui/dist/assets/{GitDiffViewerPlugin-CQ7h1Djm.js → GitDiffViewerPlugin-7J9h9Vy_.js} +20 -21
  90. package/src/ui/dist/assets/{ImageViewerPlugin-GVS5MsnC.js → ImageViewerPlugin-CHJl_0lr.js} +5 -5
  91. package/src/ui/dist/assets/{LabCopilotPanel-BZNv1JML.js → LabCopilotPanel-1qSow1es.js} +11 -11
  92. package/src/ui/dist/assets/{LabPlugin-TWcJsdQA.js → LabPlugin-eQpPPCEp.js} +2 -1
  93. package/src/ui/dist/assets/{LatexPlugin-DIjHiR2x.js → LatexPlugin-BwRfi89Z.js} +7 -7
  94. package/src/ui/dist/assets/{MarkdownViewerPlugin-D3ooGAH0.js → MarkdownViewerPlugin-836PVQWV.js} +4 -4
  95. package/src/ui/dist/assets/{MarketplacePlugin-DfVfE9hN.js → MarketplacePlugin-C2y_556i.js} +3 -3
  96. package/src/ui/dist/assets/{NotebookEditor-s8JhzuX1.js → NotebookEditor-BRzJbGsn.js} +12 -12
  97. package/src/ui/dist/assets/{NotebookEditor-DDl0_Mc0.js → NotebookEditor-DIX7Mlzu.js} +1 -1
  98. package/src/ui/dist/assets/{PdfLoader-C2Sf6SJM.js → PdfLoader-DzRaTAlq.js} +14 -7
  99. package/src/ui/dist/assets/{PdfMarkdownPlugin-CXFLoIsa.js → PdfMarkdownPlugin-DZUfIUnp.js} +73 -6
  100. package/src/ui/dist/assets/{PdfViewerPlugin-BYTmz2fK.js → PdfViewerPlugin-BwtICzue.js} +103 -34
  101. package/src/ui/dist/assets/PdfViewerPlugin-DQ11QcSf.css +3627 -0
  102. package/src/ui/dist/assets/{SearchPlugin-CjWBI1O9.js → SearchPlugin-DHeIAMsx.js} +1 -1
  103. package/src/ui/dist/assets/{TextViewerPlugin-DdOBU3-S.js → TextViewerPlugin-C3tCmFox.js} +5 -4
  104. package/src/ui/dist/assets/{VNCViewer-B8HGgLwQ.js → VNCViewer-CQsKVm3t.js} +10 -10
  105. package/src/ui/dist/assets/bot-BEA2vWuK.js +21 -0
  106. package/src/ui/dist/assets/branding/logo-rokid.png +0 -0
  107. package/src/ui/dist/assets/browser-BAcuE0Xj.js +2895 -0
  108. package/src/ui/dist/assets/{code-BWAY76JP.js → code-XfbSR8K2.js} +1 -1
  109. package/src/ui/dist/assets/{file-content-C1NwU5oQ.js → file-content-BjxNaIfy.js} +1 -1
  110. package/src/ui/dist/assets/{file-diff-panel-CywslwB9.js → file-diff-panel-D_lLVQk0.js} +1 -1
  111. package/src/ui/dist/assets/{file-socket-B4kzuOBQ.js → file-socket-D9x_5vlY.js} +1 -1
  112. package/src/ui/dist/assets/{image-D-NZM-6P.js → image-BhWT33W1.js} +1 -1
  113. package/src/ui/dist/assets/{index-DHZJ_0TI.js → index--c4iXtuy.js} +12 -12
  114. package/src/ui/dist/assets/{index-BdM1Gqfr.js → index-BDxipwrC.js} +2 -2
  115. package/src/ui/dist/assets/{index-7Chr1g9c.js → index-DZTZ8mWP.js} +14221 -9523
  116. package/src/ui/dist/assets/{index-DGIYDuTv.css → index-Dqj-Mjb4.css} +2 -13
  117. package/src/ui/dist/assets/index-PJbSbPTy.js +25 -0
  118. package/src/ui/dist/assets/{monaco-Cb2uKKe6.js → monaco-K8izTGgo.js} +1 -1
  119. package/src/ui/dist/assets/{pdf-effect-queue-DSw_D3RV.js → pdf-effect-queue-DfBors6y.js} +16 -1
  120. package/src/ui/dist/assets/pdf.worker.min-yatZIOMy.mjs +21 -0
  121. package/src/ui/dist/assets/{popover-Bg72DGgT.js → popover-yFK1J4fL.js} +1 -1
  122. package/src/ui/dist/assets/{project-sync-Ce_0BglY.js → project-sync-PENr2zcz.js} +1 -74
  123. package/src/ui/dist/assets/select-CAbJDfYv.js +1690 -0
  124. package/src/ui/dist/assets/{sigma-DPaACDrh.js → sigma-DEuYJqTl.js} +1 -1
  125. package/src/ui/dist/assets/{index-CDxNdQdz.js → square-check-big-omoSUmcd.js} +2 -13
  126. package/src/ui/dist/assets/{trash-BvTgE5__.js → trash--F119N47.js} +1 -1
  127. package/src/ui/dist/assets/{useCliAccess-CgPeMOwP.js → useCliAccess-D31UR23I.js} +1 -1
  128. package/src/ui/dist/assets/{useFileDiffOverlay-xPhz7P5B.js → useFileDiffOverlay-BH6KcMzq.js} +1 -1
  129. package/src/ui/dist/assets/{wrap-text-C3Un3YQr.js → wrap-text-CZ613PM5.js} +1 -1
  130. package/src/ui/dist/assets/{zoom-out-BgxLa0Ri.js → zoom-out-BgDLAv3z.js} +1 -1
  131. package/src/ui/dist/index.html +2 -2
  132. package/src/ui/dist/assets/AutoFigurePlugin-BGxN8Umr.css +0 -3056
  133. package/src/ui/dist/assets/AutoFigurePlugin-C_wWw4AP.js +0 -8149
  134. package/src/ui/dist/assets/PdfViewerPlugin-BJXtIwj_.css +0 -260
  135. package/src/ui/dist/assets/Stepper-B0Dd8CxK.js +0 -158
  136. package/src/ui/dist/assets/bibtex-CKaefIN2.js +0 -189
  137. package/src/ui/dist/assets/file-utils-H2fjA46S.js +0 -109
  138. package/src/ui/dist/assets/message-square-BzjLiXir.js +0 -16
  139. package/src/ui/dist/assets/pdfjs-DU1YE8WO.js +0 -3
  140. package/src/ui/dist/assets/tooltip-C_mA6R0w.js +0 -108
@@ -1,152 +1,347 @@
1
1
  # 00 Quick Start: Launch DeepScientist and Run Your First Project
2
2
 
3
- This is the fastest way to go from installation to a running project.
3
+ Think of DeepScientist as a local workspace for long-running research tasks. You define the task, prepare the resources it needs, and DeepScientist keeps the files, branches, notes, and results on your machine.
4
+
5
+ This guide is written for first-time users. It is intentionally hands-on: one step, one action, one explanation.
4
6
 
5
7
  You will do four things:
6
8
 
7
9
  1. install DeepScientist
8
10
  2. start the local runtime
9
- 3. create a new project from the home page
10
- 4. reopen old projects from the project list
11
+ 3. open the home page
12
+ 4. create a real project with a worked example
11
13
 
12
14
  The screenshots in this guide use the current live web UI at `deepscientist.cc:20999` as an example. Your local UI at `127.0.0.1:20999` should look the same or very close.
13
15
 
14
- ## 1. Install
16
+ Current platform support: DeepScientist currently supports Linux and macOS only. Windows is not supported in the current release.
17
+
18
+ ## Safety First: Isolate Before You Start
19
+
20
+ Before your first DeepScientist run, strongly adopt this baseline:
21
+
22
+ - if your environment allows it, prefer Docker, a virtual machine, or an equivalent isolation boundary
23
+ - always run DeepScientist under a non-root account
24
+ - do not use a production host, critical server, or sensitive-data machine for the first run
25
+ - do not casually share a `0.0.0.0` binding, reverse-proxy URL, or the web entry with other people
26
+ - if you plan to bind WeChat, QQ, Lingzhu, or other connectors later, be even more conservative about public exposure
27
+
28
+ The reason is simple: DeepScientist can execute commands, modify files, install dependencies, send external messages, and read or write project data. If you give it too much privilege, or expose it carelessly, the outcome can include server damage, data loss, secret leakage, connector misuse, or fabricated research outputs that are not caught in time.
29
+
30
+ See the full notice here:
31
+
32
+ - [11 License And Risk Notice](./11_LICENSE_AND_RISK.md)
33
+
34
+ ## 0. Before You Start
35
+
36
+ Prepare these first:
37
+
38
+ - Node.js `>=18.18` and npm `>=9`; install them from the official download page: https://nodejs.org/en/download
39
+ - a working Codex CLI setup; before the first `ds`, run `codex --login` (or `codex`) and finish authentication
40
+ - a model or API credential if your project needs external inference
41
+ - GPU or server access if your experiments are compute-heavy
42
+ - if you plan to run DeepScientist for real work, prepare Docker or another isolated environment and a dedicated non-root user
43
+ - code, data, or repository links if the task starts from an existing baseline
44
+ - optionally, one connector such as QQ if you want updates outside the web workspace
45
+
46
+ If you are still choosing a coding plan or subscription, these are practical starting points:
47
+
48
+ - ChatGPT pricing: https://openai.com/chatgpt/pricing/
49
+ - ChatGPT Plus help: https://help.openai.com/en/articles/6950777-what-is-chatgpt-plus%3F.eps
50
+ - MiniMax Coding Plan: https://platform.minimaxi.com/docs/guides/pricing-codingplan
51
+ - GLM Coding Plan: https://docs.bigmodel.cn/cn/coding-plan/overview
52
+ - Alibaba Cloud Bailian Coding Plan: https://help.aliyun.com/zh/model-studio/coding-plan
53
+ - Volcengine Ark Coding Plan: https://www.volcengine.com/docs/82379/1925115?lang=zh
54
+
55
+ ## 1. Install Node.js and DeepScientist
56
+
57
+ DeepScientist currently supports Linux and macOS only.
58
+
59
+ Before installing DeepScientist itself, install Node.js from the official page:
60
+
61
+ https://nodejs.org/en/download
15
62
 
16
- Install DeepScientist globally:
63
+ Make sure your environment satisfies:
64
+
65
+ - Node.js `>=18.18`
66
+ - npm `>=9`
67
+
68
+ Run:
17
69
 
18
70
  ```bash
19
71
  npm install -g @researai/deepscientist
20
72
  ```
21
73
 
22
- If you plan to compile LaTeX locally later, you can also install the lightweight PDF runtime:
74
+ This installs the `ds` command globally.
75
+
76
+ DeepScientist depends on a working Codex CLI. The npm package tries to bring the bundled Codex dependency with it, but if `codex` is still missing afterward, repair it explicitly:
23
77
 
24
78
  ```bash
25
- ds latex install-runtime
79
+ npm install -g @openai/codex
26
80
  ```
27
81
 
28
- ## 2. Start DeepScientist
29
-
30
- Start the local daemon and web workspace:
82
+ If you want local PDF compilation later, also run:
31
83
 
32
84
  ```bash
33
- ds
85
+ ds latex install-runtime
34
86
  ```
35
87
 
36
- DeepScientist now uses `uv` to manage a locked local Python runtime. If a conda environment is active and already provides Python `>=3.11`, `ds` will prefer that environment automatically. Otherwise `uv` will provision a managed Python under the DeepScientist home.
88
+ This installs a lightweight TinyTeX runtime for local paper compilation.
89
+
90
+ ## 2. Finish Codex Setup Before The First `ds`
37
91
 
38
- If `uv` is missing on your machine, `ds` will bootstrap a local copy automatically during the first start. The npm package also ships with the Codex CLI dependency, so you do not need a separate `npm install -g @openai/codex`. You may still need to run `codex` once later to finish login.
92
+ Run:
39
93
 
40
- By default, the DeepScientist home is `~/DeepScientist` on macOS and Linux, and `%USERPROFILE%\\DeepScientist` on Windows. You can override it with `ds --home <path>`.
94
+ ```bash
95
+ codex --login
96
+ ```
41
97
 
42
- If you want to place the DeepScientist home under the current working directory, run:
98
+ If your Codex CLI version does not expose `--login`, run:
43
99
 
44
100
  ```bash
45
- ds --here
101
+ codex
46
102
  ```
47
103
 
48
- This is equivalent to `ds --home "$PWD/DeepScientist"`.
104
+ and finish the interactive authentication there.
49
105
 
50
- If you install from a source checkout and want another default base path for the bundled CLI tree, use:
106
+ Then verify the environment before startup:
51
107
 
52
108
  ```bash
53
- bash install.sh --dir /data/DeepScientist
109
+ ds doctor
54
110
  ```
55
111
 
56
- If you already have a populated DeepScientist home and need to move it to another path later, use:
112
+ DeepScientist blocks startup until Codex can pass a real hello probe. In the current release, that probe first tries the runner model configured in `~/DeepScientist/config/runners.yaml`, which defaults to `gpt-5.4`. If that model is unavailable to your Codex setup, DeepScientist falls back to the current Codex default model and persists `model: inherit` for future runs.
113
+
114
+ ## 3. Start the Local Runtime
115
+
116
+ Run:
57
117
 
58
118
  ```bash
59
- ds migrate /data/DeepScientist
119
+ ds
60
120
  ```
61
121
 
62
- The migration command prints the absolute source and target paths, stops the managed daemon, asks for a double confirmation, verifies the copied tree, updates launcher wrappers, and removes the old path only after the migration succeeds.
122
+ This starts the local daemon and the web workspace.
63
123
 
64
- By default, the web UI is served at:
124
+ Again, strongly recommended:
65
125
 
66
- ```text
67
- http://127.0.0.1:20999
126
+ - prefer Docker or another isolated environment
127
+ - always run under a non-root user
128
+ - do not expose the service publicly for your first run
129
+
130
+ DeepScientist now uses `uv` to manage a locked local Python runtime. If a conda environment is already active and provides Python `>=3.11`, `ds` will prefer it. Otherwise it will bootstrap a managed Python under the DeepScientist home.
131
+
132
+ By default, the DeepScientist home is:
133
+
134
+ - macOS / Linux: `~/DeepScientist`
135
+
136
+ If you want to place the DeepScientist home under the current working directory instead, run:
137
+
138
+ ```bash
139
+ ds --here
68
140
  ```
69
141
 
70
- If the browser does not open automatically, paste that address into your browser manually.
142
+ This is equivalent to `ds --home "$PWD/DeepScientist"`.
71
143
 
72
- If you want another port:
144
+ If you want another port, run:
73
145
 
74
146
  ```bash
75
147
  ds --port 21000
76
148
  ```
77
149
 
78
- If you want the web UI to bind on all interfaces:
150
+ This keeps everything the same, but serves the web UI on port `21000`.
79
151
 
80
- ```bash
81
- ds --host 0.0.0.0 --port 21000
152
+ By default, the local web UI is:
153
+
154
+ ```text
155
+ http://127.0.0.1:20999
82
156
  ```
83
157
 
84
- ## 3. Understand the Home Page
158
+ If the browser does not open automatically, paste that address into your browser manually.
159
+
160
+ ## 4. Open the Home Page
85
161
 
86
162
  When DeepScientist starts, open the home page at `/`.
87
163
 
88
164
  ![DeepScientist home page](../images/quickstart/00-home.png)
89
165
 
90
- The home page is intentionally simple. The two main entry buttons are:
166
+ After 12 hours of running, the projects surface will often look more like this:
167
+
168
+ ![DeepScientist projects surface](../assets/branding/projects.png)
169
+
170
+ The two main entry points are:
91
171
 
92
172
  - `Start Research`: create a new project and launch a new research run
93
173
  - `Open Project`: reopen an existing project
94
174
 
95
- If you are using DeepScientist for the first time, start with `Start Research`.
175
+ For your first run, click `Start Research`.
176
+
177
+ ## 5. Create Your First Project With A Worked Example
178
+
179
+ This walkthrough uses a cleaned-up version of a real project input from quest `025`.
96
180
 
97
- ## 4. Create a New Project With Start Research
181
+ The example task is:
98
182
 
99
- Click `Start Research` to open the launch dialog.
183
+ - reproduce the official Mandela-Effect baseline
184
+ - keep the original task setting and evaluation protocol
185
+ - study how to improve truth-preserving collaboration under mixed correct and incorrect social signals
186
+ - use two local inference endpoints to keep throughput high
187
+
188
+ Click `Start Research` to open the dialog.
100
189
 
101
190
  ![Start Research dialog](../images/quickstart/01-start-research.png)
102
191
 
103
- This dialog creates a new project repository and writes the startup contract for the agent.
192
+ ### 5.1 Fill the short identity fields first
193
+
194
+ Use these values:
195
+
196
+ | Field in the UI | Example value | Why |
197
+ |---|---|---|
198
+ | `Project title` | `Mandela-Effect Reproduction and Truth-Preserving Collaboration` | Short, clear, and easy to recognize later in the project list |
199
+ | `Project ID` | leave blank, or enter `025` | Leave it blank if you want automatic sequential numbering; enter a fixed id only when you need one |
200
+ | `Connector delivery` | `Local only` for the first run | Keep the first run simple; if QQ or another connector is already configured, you can bind one target here |
201
+
202
+ ### 5.2 Paste the main research request
104
203
 
105
- The most important fields are:
204
+ Paste this into `Primary research request`:
106
205
 
107
- - `Project ID`: usually auto-generated in sequence such as `00`, `01`, `02`
108
- - `Primary request` / research goal: the actual scientific task you want the agent to work on
109
- - `Reuse Baseline`: optional; choose an existing baseline if you want to continue from an earlier result
110
- - `Research intensity`: how aggressive the run should be
111
- - `Decision mode`: `Autonomous` means the agent should keep going by itself unless a true approval is needed
112
- - `Research paper`: choose whether the run should also aim to produce paper-style output
113
- - `Language`: choose the user-facing language for the run
206
+ ```text
207
+ Please reproduce the official Mandela-Effect repository and paper, then study how to improve truth-preserving collaboration under mixed correct and incorrect social signals.
208
+
209
+ The core research question is: how can a multi-agent system remain factually robust under social influence while still learning from correct peers?
210
+
211
+ Keep the task definition and evaluation protocol aligned with the original work. Focus on prompt-based or system-level methods that improve truth preservation without simply refusing all social information.
212
+ ```
114
213
 
115
- For a first test, keep it simple:
214
+ Why this is a good request:
116
215
 
117
- - write one clear research question
118
- - leave baseline empty unless you already have one
119
- - use `Balanced` or `Sprint`
120
- - keep decision mode on `Autonomous`
216
+ - it states the baseline to reproduce
217
+ - it names the research question explicitly
218
+ - it gives a boundary: stay on the same task and protocol
219
+ - it hints at promising directions without over-prescribing the implementation
121
220
 
122
- Then click the final `Start Research` action in the dialog.
221
+ ### 5.3 Add the baseline and reference sources
123
222
 
124
- ## 5. Reopen an Existing Project With Open Project
223
+ If this is your first run, leave `Reusable baseline` empty.
125
224
 
126
- Click `Open Project` on the home page to open the existing project list.
225
+ If you already imported a reusable official baseline into the registry, select it here instead. That lets DeepScientist attach the trusted baseline directly.
226
+
227
+ Paste this into `Baseline links`:
228
+
229
+ ```text
230
+ https://github.com/bluedream02/Mandela-Effect
231
+ ```
232
+
233
+ Paste this into `Reference papers / repos`:
234
+
235
+ ```text
236
+ https://arxiv.org/abs/2602.00428
237
+ ```
238
+
239
+ These fields tell DeepScientist where the baseline comes from and what prior work defines the task.
240
+
241
+ ### 5.4 Add the runtime constraints
242
+
243
+ Paste this into `Runtime constraints`:
244
+
245
+ ```text
246
+ - Keep the task definition and evaluation protocol aligned with the official baseline unless a change is explicitly justified.
247
+ - Use two OpenAI-compatible local inference endpoints for throughput:
248
+ - `http://127.0.0.1:8004/v1`
249
+ - `http://127.0.0.1:8008/v1`
250
+ - Use API key `1234` and model `/model/gpt-oss-120b` on both endpoints.
251
+ - Keep generation settings close to the baseline unless a justified adjustment is required.
252
+ - Implement asynchronous execution, automatic retry on request failure, and resumable scripts.
253
+ - Split requests across both endpoints so throughput stays high without overloading the service.
254
+ - Record failed, degraded, or inconclusive runs honestly instead of hiding them.
255
+ ```
256
+
257
+ This is one of the most important fields in the whole dialog. It turns vague operational wishes into hard project rules.
258
+
259
+ ### 5.5 Add the goals
260
+
261
+ Paste this into `Goals`:
262
+
263
+ ```text
264
+ 1. Restore and verify the official Mandela-Effect baseline as a trustworthy starting point.
265
+ 2. Measure key metrics and failure modes on the designated `gpt-oss-120b` setup.
266
+ 3. Propose at least one literature-grounded direction for stronger truth-preserving collaboration.
267
+ 4. Produce experiment and analysis artifacts that are strong enough to support paper writing.
268
+ ```
269
+
270
+ This field should describe the outcomes of the first meaningful research cycle, not a vague aspiration like “do something new”.
271
+
272
+ ### 5.6 Choose the policy fields
273
+
274
+ For this example, use these settings:
275
+
276
+ | Field in the UI | Example value | What it means |
277
+ |---|---|---|
278
+ | `Research paper` | `On` | The project should continue through analysis and paper-ready outputs |
279
+ | `Research intensity` | `Balanced` | Secure the baseline first, then test one justified direction |
280
+ | `Decision mode` | `Autonomous` | The run should keep moving unless a real user decision is needed |
281
+ | `Launch mode` | `Standard` | Start from the ordinary research graph |
282
+ | `Language` | `English` | Use English for the kickoff prompt and user-facing artifacts by default |
283
+
284
+ What the frontend derives automatically from these choices:
285
+
286
+ - `scope = baseline_plus_direction`
287
+ - `baseline_mode = restore_from_url` if no reusable baseline is selected
288
+ - `baseline_mode = existing` if a reusable baseline is selected
289
+ - `resource_policy = balanced`
290
+ - `time_budget_hours = 24`
291
+ - `git_strategy = semantic_head_plus_controlled_integration`
292
+
293
+ This matters because the dialog does not only create a project. It also writes a structured `startup_contract` that later prompt building keeps reading.
294
+
295
+ ### 5.7 Review the preview, then create the project
296
+
297
+ Look at the prompt preview on the right before you click `Create project`.
298
+
299
+ Check that it clearly includes:
300
+
301
+ - the primary research request
302
+ - the baseline repository
303
+ - the reference paper
304
+ - the runtime constraints
305
+ - the goals
306
+ - the chosen delivery and decision mode
307
+
308
+ When it looks right, click `Create project`.
309
+
310
+ At this point, the frontend submits:
311
+
312
+ - a compiled kickoff prompt
313
+ - an optional `requested_baseline_ref`
314
+ - an optional `requested_connector_bindings`
315
+ - a structured `startup_contract`
316
+
317
+ If you want to understand that payload in detail, read [02 Start Research Guide](./02_START_RESEARCH_GUIDE.md).
318
+
319
+ ## 6. Reopen an Existing Project
320
+
321
+ Click `Open Project` on the home page to open the project list.
127
322
 
128
323
  ![Open Project dialog](../images/quickstart/02-list-quest.png)
129
324
 
130
- Use this dialog when you want to:
325
+ Use this when you want to:
131
326
 
132
- - reopen a project that is already running or already finished
133
- - search by project title or project id
134
- - jump back into a previous workspace quickly
327
+ - reopen a running project
328
+ - reopen a finished project
329
+ - search by project title or id
135
330
 
136
- Each row corresponds to one project repository. Click a project card to open it.
331
+ Each row is one project repository. Click the card to open it.
137
332
 
138
- ## 6. What Happens After Opening a Project
333
+ ## 7. What Happens After Opening a Project
139
334
 
140
335
  After you create or open a project, DeepScientist takes you to the workspace page for that project.
141
336
 
142
- Inside the workspace, the usual flow is:
337
+ The usual first loop is:
143
338
 
144
- 1. watch agent progress in Copilot / Studio
339
+ 1. watch progress in Copilot / Studio
145
340
  2. inspect files, notes, and generated artifacts
146
- 3. use Canvas to understand the current project graph and stage progress
147
- 4. stop the run only when you intentionally want to interrupt it
341
+ 3. use Canvas to understand the project graph and stage progress
342
+ 4. let the run continue unless you intentionally want to interrupt it
148
343
 
149
- ## 7. Useful Runtime Commands
344
+ ## 8. Useful Runtime Commands
150
345
 
151
346
  Check status:
152
347
 
@@ -154,21 +349,64 @@ Check status:
154
349
  ds --status
155
350
  ```
156
351
 
157
- Stop the current local daemon:
352
+ This shows whether the local runtime is up.
353
+
354
+ Stop the daemon:
158
355
 
159
356
  ```bash
160
357
  ds --stop
161
358
  ```
162
359
 
163
- Run diagnostics if something looks broken:
360
+ This stops the local DeepScientist daemon.
361
+
362
+ Run diagnostics:
164
363
 
165
364
  ```bash
166
365
  ds doctor
167
366
  ```
168
367
 
169
- ## 8. What To Read Next
368
+ Use this when startup, config, runner, or connector behavior looks wrong.
369
+
370
+ ## 9. What To Read Next
371
+
372
+ - [DeepScientist Docs Index](./README.md)
373
+ - [12 Guided Workflow Tour](./12_GUIDED_WORKFLOW_TOUR.md)
374
+ - [02 Start Research Guide](./02_START_RESEARCH_GUIDE.md)
375
+ - [13 Core Architecture Guide](./13_CORE_ARCHITECTURE_GUIDE.md)
376
+ - [01 Settings Reference](./01_SETTINGS_REFERENCE.md)
377
+ - [03 QQ Connector Guide](./03_QQ_CONNECTOR_GUIDE.md)
378
+ - [05 TUI Guide](./05_TUI_GUIDE.md)
379
+
380
+ ## 10. Short FAQ
381
+
382
+ ### How do I install from a source checkout into another base directory?
383
+
384
+ Run:
385
+
386
+ ```bash
387
+ bash install.sh --dir /data/DeepScientist
388
+ ```
389
+
390
+ Use this when you are working from a repository checkout but want the bundled CLI installed into a separate runtime location.
391
+
392
+ ### How do I move an existing DeepScientist home safely?
393
+
394
+ Run:
395
+
396
+ ```bash
397
+ ds migrate /data/DeepScientist
398
+ ```
399
+
400
+ This is the supported way to migrate an existing DeepScientist home to a new path.
401
+
402
+ ### How do I bind on all interfaces?
403
+
404
+ Run:
405
+
406
+ ```bash
407
+ ds --host 0.0.0.0 --port 21000
408
+ ```
409
+
410
+ Only do this when you really need external reachability, and review the risk notice first:
170
411
 
171
- - [01 Settings Reference: Configure DeepScientist](./01_SETTINGS_REFERENCE.md)
172
- - [02 Start Research Guide: Fill the Start Research Contract](./02_START_RESEARCH_GUIDE.md)
173
- - [03 QQ Connector Guide: Use QQ With DeepScientist](./03_QQ_CONNECTOR_GUIDE.md)
174
- - [05 TUI Guide: Use the Terminal Interface](./05_TUI_GUIDE.md)
412
+ - [11 License And Risk Notice](./11_LICENSE_AND_RISK.md)
@@ -429,6 +429,8 @@ claude:
429
429
  - UI label: `Binary`
430
430
  - Meaning: command name or absolute path used to launch the runner.
431
431
  - `Test` behavior: checks whether the binary is on `PATH`.
432
+ - First-run note: DeepScientist does not finish Codex authentication for you. Before the first `ds`, make sure `codex --login` (or `codex`) has completed successfully.
433
+ - Repair note: if the bundled dependency is missing after `npm install -g @researai/deepscientist`, install Codex explicitly with `npm install -g @openai/codex`.
432
434
 
433
435
  **`config_dir`**
434
436
 
@@ -443,6 +445,7 @@ claude:
443
445
  - Default: `codex=gpt-5.4`, `claude=inherit`
444
446
  - UI label: `Default model`
445
447
  - Meaning: default model used when a project does not override it.
448
+ - Startup note: DeepScientist's Codex readiness probe uses this configured model first. If your Codex account cannot access it, DeepScientist falls back to the current Codex default model and persists `model: inherit`.
446
449
 
447
450
  **`model_reasoning_effort`**
448
451
 
@@ -16,6 +16,92 @@ Implementation sources:
16
16
  3. binds an optional reusable baseline
17
17
  4. persists a structured `startup_contract` for later prompt building
18
18
 
19
+ ## Worked example: a cleaned-up version of quest 025
20
+
21
+ The quickest way to understand the dialog is to walk through a real example.
22
+
23
+ This example is adapted from a real project input in quest `025`, but normalized into a cleaner public form. The task is:
24
+
25
+ - reproduce the official Mandela-Effect baseline
26
+ - keep the original task and evaluation protocol
27
+ - study stronger truth-preserving collaboration under mixed correct and incorrect social signals
28
+ - use two local OpenAI-compatible endpoints to keep throughput high
29
+
30
+ ### Short fields in the current frontend
31
+
32
+ | Field in the dialog | Example value | Why |
33
+ |---|---|---|
34
+ | `Project title` | `Mandela-Effect Reproduction and Truth-Preserving Collaboration` | Clear project title for cards, workspace headers, and later search |
35
+ | `Project ID` | leave blank, or set `025` | Leave blank for automatic sequential ids; only pin it manually if you need a fixed id |
36
+ | `Connector delivery` | `Local only` for the first run, or one QQ target if already configured | The current frontend allows at most one external connector target per quest |
37
+ | `Reusable baseline` | empty for the first run, or the imported official baseline if already available | If selected, derived `baseline_mode` becomes `existing` |
38
+ | `Research paper` | `On` | Keep paper-oriented analysis and writing in scope |
39
+ | `Research intensity` | `Balanced` | Secure the baseline, then probe one justified direction |
40
+ | `Decision mode` | `Autonomous` | Keep moving unless a real blocking decision depends on the user |
41
+ | `Launch mode` | `Standard` | Start from the ordinary research graph |
42
+ | `Language` | `English` | Use English for the kickoff prompt and user-facing artifacts |
43
+
44
+ ### Multi-line fields for the same example
45
+
46
+ `Primary research request`
47
+
48
+ ```text
49
+ Please reproduce the official Mandela-Effect repository and paper, then study how to improve truth-preserving collaboration under mixed correct and incorrect social signals.
50
+
51
+ The core research question is: how can a multi-agent system remain factually robust under social influence while still learning from correct peers?
52
+
53
+ Keep the task definition and evaluation protocol aligned with the original work. Focus on prompt-based or system-level methods that improve truth preservation without simply refusing all social information.
54
+ ```
55
+
56
+ `Baseline links`
57
+
58
+ ```text
59
+ https://github.com/bluedream02/Mandela-Effect
60
+ ```
61
+
62
+ `Reference papers / repos`
63
+
64
+ ```text
65
+ https://arxiv.org/abs/2602.00428
66
+ ```
67
+
68
+ `Runtime constraints`
69
+
70
+ ```text
71
+ - Keep the task definition and evaluation protocol aligned with the official baseline unless a change is explicitly justified.
72
+ - Use two OpenAI-compatible local inference endpoints for throughput:
73
+ - `http://127.0.0.1:8004/v1`
74
+ - `http://127.0.0.1:8008/v1`
75
+ - Use API key `1234` and model `/model/gpt-oss-120b` on both endpoints.
76
+ - Keep generation settings close to the baseline unless a justified adjustment is required.
77
+ - Implement asynchronous execution, automatic retry on request failure, and resumable scripts.
78
+ - Split requests across both endpoints so throughput stays high without overloading the service.
79
+ - Record failed, degraded, or inconclusive runs honestly instead of hiding them.
80
+ ```
81
+
82
+ `Goals`
83
+
84
+ ```text
85
+ 1. Restore and verify the official Mandela-Effect baseline as a trustworthy starting point.
86
+ 2. Measure key metrics and failure modes on the designated `gpt-oss-120b` setup.
87
+ 3. Propose at least one literature-grounded direction for stronger truth-preserving collaboration.
88
+ 4. Produce experiment and analysis artifacts that are strong enough to support paper writing.
89
+ ```
90
+
91
+ ### What the frontend derives from this example
92
+
93
+ If you leave `Reusable baseline` empty and choose `Balanced`, the current frontend derives:
94
+
95
+ - `scope = baseline_plus_direction`
96
+ - `baseline_mode = restore_from_url`
97
+ - `resource_policy = balanced`
98
+ - `time_budget_hours = 24`
99
+ - `git_strategy = semantic_head_plus_controlled_integration`
100
+
101
+ If you select a reusable baseline entry, only one derived field changes:
102
+
103
+ - `baseline_mode = existing`
104
+
19
105
  ## Current frontend model
20
106
 
21
107
  ### `StartResearchTemplate`
@@ -75,6 +161,12 @@ The dialog submits:
75
161
  title,
76
162
  goal: compiled_prompt,
77
163
  quest_id,
164
+ requested_connector_bindings: [
165
+ {
166
+ connector,
167
+ conversation_id
168
+ }
169
+ ],
78
170
  requested_baseline_ref: {
79
171
  baseline_id,
80
172
  variant_id
@@ -130,6 +222,26 @@ The dialog submits:
130
222
 
131
223
  - Declares the preferred user-facing language for kickoff and later interaction.
132
224
 
225
+ ### Connector delivery
226
+
227
+ **`requested_connector_bindings`**
228
+
229
+ - Submitted alongside the project create payload, not inside `startup_contract`.
230
+ - The current frontend allows at most one external connector target per quest.
231
+ - Typical shape:
232
+
233
+ ```ts
234
+ [
235
+ {
236
+ connector: 'qq',
237
+ conversation_id: 'qq:private:openid-123'
238
+ }
239
+ ]
240
+ ```
241
+
242
+ - If you keep the project local-only, this array is empty.
243
+ - If the selected target is already bound to another quest, rebinding this project will replace the old binding.
244
+
133
245
  ### Baseline and references
134
246
 
135
247
  **`baseline_id`**