@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.
- package/README.md +112 -99
- package/assets/branding/connector-qq.png +0 -0
- package/assets/branding/connector-rokid.png +0 -0
- package/assets/branding/connector-weixin.png +0 -0
- package/assets/branding/projects.png +0 -0
- package/bin/ds.js +519 -63
- package/docs/assets/branding/projects.png +0 -0
- package/docs/en/00_QUICK_START.md +338 -68
- package/docs/en/01_SETTINGS_REFERENCE.md +14 -0
- package/docs/en/02_START_RESEARCH_GUIDE.md +180 -4
- package/docs/en/04_LINGZHU_CONNECTOR_GUIDE.md +62 -179
- package/docs/en/09_DOCTOR.md +66 -5
- package/docs/en/10_WEIXIN_CONNECTOR_GUIDE.md +137 -0
- package/docs/en/11_LICENSE_AND_RISK.md +256 -0
- package/docs/en/12_GUIDED_WORKFLOW_TOUR.md +446 -0
- package/docs/en/13_CORE_ARCHITECTURE_GUIDE.md +297 -0
- package/docs/en/14_PROMPT_SKILLS_AND_MCP_GUIDE.md +506 -0
- package/docs/en/15_CODEX_PROVIDER_SETUP.md +284 -0
- package/docs/en/99_ACKNOWLEDGEMENTS.md +4 -1
- package/docs/en/README.md +83 -0
- package/docs/images/lingzhu/rokid-agent-platform-create.png +0 -0
- package/docs/images/weixin/weixin-plugin-entry.png +0 -0
- package/docs/images/weixin/weixin-plugin-entry.svg +33 -0
- package/docs/images/weixin/weixin-qr-confirm.svg +30 -0
- package/docs/images/weixin/weixin-quest-media-flow.svg +44 -0
- package/docs/images/weixin/weixin-settings-bind.svg +57 -0
- package/docs/zh/00_QUICK_START.md +345 -72
- package/docs/zh/01_SETTINGS_REFERENCE.md +14 -0
- package/docs/zh/02_START_RESEARCH_GUIDE.md +181 -3
- package/docs/zh/04_LINGZHU_CONNECTOR_GUIDE.md +62 -193
- package/docs/zh/09_DOCTOR.md +68 -5
- package/docs/zh/10_WEIXIN_CONNECTOR_GUIDE.md +144 -0
- package/docs/zh/11_LICENSE_AND_RISK.md +256 -0
- package/docs/zh/12_GUIDED_WORKFLOW_TOUR.md +442 -0
- package/docs/zh/13_CORE_ARCHITECTURE_GUIDE.md +296 -0
- package/docs/zh/14_PROMPT_SKILLS_AND_MCP_GUIDE.md +506 -0
- package/docs/zh/15_CODEX_PROVIDER_SETUP.md +285 -0
- package/docs/zh/99_ACKNOWLEDGEMENTS.md +4 -1
- package/docs/zh/README.md +129 -0
- package/install.sh +0 -34
- package/package.json +2 -2
- package/pyproject.toml +1 -1
- package/src/deepscientist/__init__.py +1 -1
- package/src/deepscientist/annotations.py +343 -0
- package/src/deepscientist/artifact/arxiv.py +484 -37
- package/src/deepscientist/artifact/service.py +574 -108
- package/src/deepscientist/arxiv_library.py +275 -0
- package/src/deepscientist/bash_exec/monitor.py +7 -5
- package/src/deepscientist/bash_exec/service.py +93 -21
- package/src/deepscientist/bridges/builtins.py +2 -0
- package/src/deepscientist/bridges/connectors.py +447 -0
- package/src/deepscientist/channels/__init__.py +2 -0
- package/src/deepscientist/channels/builtins.py +3 -1
- package/src/deepscientist/channels/local.py +3 -3
- package/src/deepscientist/channels/qq.py +8 -8
- package/src/deepscientist/channels/qq_gateway.py +1 -1
- package/src/deepscientist/channels/relay.py +14 -8
- package/src/deepscientist/channels/weixin.py +59 -0
- package/src/deepscientist/channels/weixin_ilink.py +388 -0
- package/src/deepscientist/config/models.py +23 -2
- package/src/deepscientist/config/service.py +539 -67
- package/src/deepscientist/connector/__init__.py +4 -0
- package/src/deepscientist/connector/connector_profiles.py +481 -0
- package/src/deepscientist/connector/lingzhu_support.py +668 -0
- package/src/deepscientist/connector/qq_profiles.py +206 -0
- package/src/deepscientist/connector/weixin_support.py +663 -0
- package/src/deepscientist/connector_profiles.py +1 -374
- package/src/deepscientist/connector_runtime.py +2 -0
- package/src/deepscientist/daemon/api/handlers.py +165 -5
- package/src/deepscientist/daemon/api/router.py +13 -1
- package/src/deepscientist/daemon/app.py +1444 -67
- package/src/deepscientist/doctor.py +4 -5
- package/src/deepscientist/gitops/diff.py +120 -29
- package/src/deepscientist/lingzhu_support.py +1 -182
- package/src/deepscientist/mcp/server.py +135 -7
- package/src/deepscientist/prompts/builder.py +128 -11
- package/src/deepscientist/qq_profiles.py +1 -196
- package/src/deepscientist/quest/node_traces.py +23 -0
- package/src/deepscientist/quest/service.py +359 -74
- package/src/deepscientist/quest/stage_views.py +71 -5
- package/src/deepscientist/runners/codex.py +170 -19
- package/src/deepscientist/runners/runtime_overrides.py +6 -0
- package/src/deepscientist/shared.py +33 -14
- package/src/deepscientist/weixin_support.py +1 -0
- package/src/prompts/connectors/lingzhu.md +3 -1
- package/src/prompts/connectors/qq.md +2 -1
- package/src/prompts/connectors/weixin.md +231 -0
- package/src/prompts/contracts/shared_interaction.md +4 -1
- package/src/prompts/system.md +61 -9
- package/src/skills/analysis-campaign/SKILL.md +46 -6
- package/src/skills/analysis-campaign/references/campaign-plan-template.md +21 -8
- package/src/skills/baseline/SKILL.md +1 -1
- package/src/skills/decision/SKILL.md +1 -1
- package/src/skills/experiment/SKILL.md +1 -1
- package/src/skills/finalize/SKILL.md +1 -1
- package/src/skills/idea/SKILL.md +1 -1
- package/src/skills/intake-audit/SKILL.md +1 -1
- package/src/skills/rebuttal/SKILL.md +74 -1
- package/src/skills/rebuttal/references/response-letter-template.md +55 -11
- package/src/skills/review/SKILL.md +118 -1
- package/src/skills/review/references/experiment-todo-template.md +23 -0
- package/src/skills/review/references/review-report-template.md +16 -0
- package/src/skills/review/references/revision-log-template.md +4 -0
- package/src/skills/scout/SKILL.md +1 -1
- package/src/skills/write/SKILL.md +168 -7
- package/src/skills/write/references/paper-experiment-matrix-template.md +131 -0
- package/src/tui/package.json +1 -1
- package/src/ui/dist/assets/{AiManusChatView-BKZ103sn.js → AiManusChatView-CnJcXynW.js} +156 -48
- package/src/ui/dist/assets/{AnalysisPlugin-mTTzGAlK.js → AnalysisPlugin-DeyzPEhV.js} +1 -1
- package/src/ui/dist/assets/{CliPlugin-BH58n3GY.js → CliPlugin-CB1YODQn.js} +164 -9
- package/src/ui/dist/assets/{CodeEditorPlugin-BKGRUH7e.js → CodeEditorPlugin-B-xicq1e.js} +8 -8
- package/src/ui/dist/assets/{CodeViewerPlugin-BMADwFWJ.js → CodeViewerPlugin-DT54ysXa.js} +5 -5
- package/src/ui/dist/assets/{DocViewerPlugin-ZOnTIHLN.js → DocViewerPlugin-DQtKT-VD.js} +3 -3
- package/src/ui/dist/assets/{GitDiffViewerPlugin-CQ7h1Djm.js → GitDiffViewerPlugin-hqHbCfnv.js} +20 -21
- package/src/ui/dist/assets/{ImageViewerPlugin-GVS5MsnC.js → ImageViewerPlugin-OcVo33jV.js} +5 -5
- package/src/ui/dist/assets/{LabCopilotPanel-BZNv1JML.js → LabCopilotPanel-DdGwhEUV.js} +11 -11
- package/src/ui/dist/assets/{LabPlugin-TWcJsdQA.js → LabPlugin-Ciz1gDaX.js} +2 -1
- package/src/ui/dist/assets/{LatexPlugin-DIjHiR2x.js → LatexPlugin-BhmjNQRC.js} +37 -11
- package/src/ui/dist/assets/{MarkdownViewerPlugin-D3ooGAH0.js → MarkdownViewerPlugin-BzdVH9Bx.js} +4 -4
- package/src/ui/dist/assets/{MarketplacePlugin-DfVfE9hN.js → MarketplacePlugin-DmyHspXt.js} +3 -3
- package/src/ui/dist/assets/{NotebookEditor-DDl0_Mc0.js → NotebookEditor-BMXKrDRk.js} +1 -1
- package/src/ui/dist/assets/{NotebookEditor-s8JhzuX1.js → NotebookEditor-BTVYRGkm.js} +12 -12
- package/src/ui/dist/assets/{PdfLoader-C2Sf6SJM.js → PdfLoader-CvcjJHXv.js} +14 -7
- package/src/ui/dist/assets/{PdfMarkdownPlugin-CXFLoIsa.js → PdfMarkdownPlugin-DW2ej8Vk.js} +73 -6
- package/src/ui/dist/assets/{PdfViewerPlugin-BYTmz2fK.js → PdfViewerPlugin-CmlDxbhU.js} +103 -34
- package/src/ui/dist/assets/PdfViewerPlugin-DQ11QcSf.css +3627 -0
- package/src/ui/dist/assets/{SearchPlugin-CjWBI1O9.js → SearchPlugin-DAjQZPSv.js} +1 -1
- package/src/ui/dist/assets/{TextViewerPlugin-DdOBU3-S.js → TextViewerPlugin-C-nVAZb_.js} +5 -4
- package/src/ui/dist/assets/{VNCViewer-B8HGgLwQ.js → VNCViewer-D7-dIYon.js} +10 -10
- package/src/ui/dist/assets/bot-C_G4WtNI.js +21 -0
- package/src/ui/dist/assets/branding/logo-rokid.png +0 -0
- package/src/ui/dist/assets/browser-BAcuE0Xj.js +2895 -0
- package/src/ui/dist/assets/{code-BWAY76JP.js → code-Cd7WfiWq.js} +1 -1
- package/src/ui/dist/assets/{file-content-C1NwU5oQ.js → file-content-B57zsL9y.js} +1 -1
- package/src/ui/dist/assets/{file-diff-panel-CywslwB9.js → file-diff-panel-DVoheLFq.js} +1 -1
- package/src/ui/dist/assets/{file-socket-B4kzuOBQ.js → file-socket-B5kXFxZP.js} +1 -1
- package/src/ui/dist/assets/{image-D-NZM-6P.js → image-LLOjkMHF.js} +1 -1
- package/src/ui/dist/assets/{index-DGIYDuTv.css → index-BQG-1s2o.css} +40 -13
- package/src/ui/dist/assets/{index-DHZJ_0TI.js → index-C3r2iGrp.js} +12 -12
- package/src/ui/dist/assets/{index-7Chr1g9c.js → index-CLQauncb.js} +15050 -9561
- package/src/ui/dist/assets/index-Dxa2eYMY.js +25 -0
- package/src/ui/dist/assets/{index-BdM1Gqfr.js → index-hOUOWbW2.js} +2 -2
- package/src/ui/dist/assets/{monaco-Cb2uKKe6.js → monaco-BGGAEii3.js} +1 -1
- package/src/ui/dist/assets/{pdf-effect-queue-DSw_D3RV.js → pdf-effect-queue-DlEr1_y5.js} +16 -1
- package/src/ui/dist/assets/pdf.worker.min-yatZIOMy.mjs +21 -0
- package/src/ui/dist/assets/{popover-Bg72DGgT.js → popover-CWJbJuYY.js} +1 -1
- package/src/ui/dist/assets/{project-sync-Ce_0BglY.js → project-sync-CRJiucYO.js} +18 -77
- package/src/ui/dist/assets/select-CoHB7pvH.js +1690 -0
- package/src/ui/dist/assets/{sigma-DPaACDrh.js → sigma-D5aJWR8J.js} +1 -1
- package/src/ui/dist/assets/{index-CDxNdQdz.js → square-check-big-DUK_mnkS.js} +2 -13
- package/src/ui/dist/assets/{trash-BvTgE5__.js → trash-ChU3SEE3.js} +1 -1
- package/src/ui/dist/assets/{useCliAccess-CgPeMOwP.js → useCliAccess-BrJBV3tY.js} +1 -1
- package/src/ui/dist/assets/{useFileDiffOverlay-xPhz7P5B.js → useFileDiffOverlay-C2OQaVWc.js} +1 -1
- package/src/ui/dist/assets/{wrap-text-C3Un3YQr.js → wrap-text-C7Qqh-om.js} +1 -1
- package/src/ui/dist/assets/{zoom-out-BgxLa0Ri.js → zoom-out-rtX0FKya.js} +1 -1
- package/src/ui/dist/index.html +2 -2
- package/src/ui/dist/assets/AutoFigurePlugin-BGxN8Umr.css +0 -3056
- package/src/ui/dist/assets/AutoFigurePlugin-C_wWw4AP.js +0 -8149
- package/src/ui/dist/assets/PdfViewerPlugin-BJXtIwj_.css +0 -260
- package/src/ui/dist/assets/Stepper-B0Dd8CxK.js +0 -158
- package/src/ui/dist/assets/bibtex-CKaefIN2.js +0 -189
- package/src/ui/dist/assets/file-utils-H2fjA46S.js +0 -109
- package/src/ui/dist/assets/message-square-BzjLiXir.js +0 -16
- package/src/ui/dist/assets/pdfjs-DU1YE8WO.js +0 -3
- package/src/ui/dist/assets/tooltip-C_mA6R0w.js +0 -108
|
Binary file
|
|
@@ -1,152 +1,379 @@
|
|
|
1
1
|
# 00 Quick Start: Launch DeepScientist and Run Your First Project
|
|
2
2
|
|
|
3
|
-
|
|
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.
|
|
10
|
-
4.
|
|
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
|
-
|
|
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
|
+
- one working Codex path:
|
|
40
|
+
- default OpenAI login path: `codex --login` (or `codex`)
|
|
41
|
+
- provider-backed path: one working Codex profile such as `minimax`, `glm`, `ark`, or `bailian`
|
|
42
|
+
- a model or API credential if your project needs external inference
|
|
43
|
+
- GPU or server access if your experiments are compute-heavy
|
|
44
|
+
- if you plan to run DeepScientist for real work, prepare Docker or another isolated environment and a dedicated non-root user
|
|
45
|
+
- code, data, or repository links if the task starts from an existing baseline
|
|
46
|
+
- optionally, one connector such as QQ if you want updates outside the web workspace
|
|
47
|
+
|
|
48
|
+
If you are still choosing a coding plan or subscription, these are practical starting points:
|
|
49
|
+
|
|
50
|
+
- ChatGPT pricing: https://openai.com/chatgpt/pricing/
|
|
51
|
+
- ChatGPT Plus help: https://help.openai.com/en/articles/6950777-what-is-chatgpt-plus%3F.eps
|
|
52
|
+
- MiniMax Coding Plan: https://platform.minimaxi.com/docs/guides/pricing-codingplan
|
|
53
|
+
- GLM Coding Plan: https://docs.bigmodel.cn/cn/coding-plan/overview
|
|
54
|
+
- Alibaba Cloud Bailian Coding Plan: https://help.aliyun.com/zh/model-studio/coding-plan
|
|
55
|
+
- Volcengine Ark Coding Plan: https://www.volcengine.com/docs/82379/1925115?lang=zh
|
|
56
|
+
|
|
57
|
+
If you plan to use a provider-backed Codex profile instead of the default OpenAI login flow, read this next:
|
|
58
|
+
|
|
59
|
+
- [15 Codex Provider Setup](./15_CODEX_PROVIDER_SETUP.md)
|
|
60
|
+
|
|
61
|
+
## 1. Install Node.js and DeepScientist
|
|
62
|
+
|
|
63
|
+
DeepScientist currently supports Linux and macOS only.
|
|
64
|
+
|
|
65
|
+
Before installing DeepScientist itself, install Node.js from the official page:
|
|
66
|
+
|
|
67
|
+
https://nodejs.org/en/download
|
|
15
68
|
|
|
16
|
-
|
|
69
|
+
Make sure your environment satisfies:
|
|
70
|
+
|
|
71
|
+
- Node.js `>=18.18`
|
|
72
|
+
- npm `>=9`
|
|
73
|
+
|
|
74
|
+
Run:
|
|
17
75
|
|
|
18
76
|
```bash
|
|
19
77
|
npm install -g @researai/deepscientist
|
|
20
78
|
```
|
|
21
79
|
|
|
22
|
-
|
|
80
|
+
This installs the `ds` command globally.
|
|
81
|
+
|
|
82
|
+
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:
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
npm install -g @openai/codex
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
If you want local PDF compilation later, also run:
|
|
23
89
|
|
|
24
90
|
```bash
|
|
25
91
|
ds latex install-runtime
|
|
26
92
|
```
|
|
27
93
|
|
|
28
|
-
|
|
94
|
+
This installs a lightweight TinyTeX runtime for local paper compilation.
|
|
95
|
+
|
|
96
|
+
## 2. Finish Codex Setup Before The First `ds`
|
|
97
|
+
|
|
98
|
+
Choose one of these two paths.
|
|
29
99
|
|
|
30
|
-
|
|
100
|
+
### 2.1 Default OpenAI login path
|
|
101
|
+
|
|
102
|
+
Run:
|
|
31
103
|
|
|
32
104
|
```bash
|
|
33
|
-
|
|
105
|
+
codex --login
|
|
34
106
|
```
|
|
35
107
|
|
|
36
|
-
|
|
108
|
+
If your Codex CLI version does not expose `--login`, run:
|
|
37
109
|
|
|
38
|
-
|
|
110
|
+
```bash
|
|
111
|
+
codex
|
|
112
|
+
```
|
|
39
113
|
|
|
40
|
-
|
|
114
|
+
and finish the interactive authentication there.
|
|
41
115
|
|
|
42
|
-
|
|
116
|
+
Then verify:
|
|
43
117
|
|
|
44
118
|
```bash
|
|
45
|
-
ds
|
|
119
|
+
ds doctor
|
|
46
120
|
```
|
|
47
121
|
|
|
48
|
-
|
|
122
|
+
### 2.2 Provider-backed Codex profile path
|
|
49
123
|
|
|
50
|
-
If you
|
|
124
|
+
If you already use a named Codex profile for MiniMax, GLM, Volcengine Ark, Alibaba Bailian, or another provider-backed path, verify that profile first in a terminal:
|
|
51
125
|
|
|
52
126
|
```bash
|
|
53
|
-
|
|
127
|
+
codex --profile minimax
|
|
54
128
|
```
|
|
55
129
|
|
|
56
|
-
|
|
130
|
+
Then run DeepScientist through the same profile:
|
|
57
131
|
|
|
58
132
|
```bash
|
|
59
|
-
ds
|
|
133
|
+
ds doctor --codex-profile minimax
|
|
60
134
|
```
|
|
61
135
|
|
|
62
|
-
|
|
136
|
+
and later:
|
|
63
137
|
|
|
64
|
-
|
|
138
|
+
```bash
|
|
139
|
+
ds --codex-profile minimax
|
|
140
|
+
```
|
|
65
141
|
|
|
66
|
-
|
|
67
|
-
|
|
142
|
+
Replace `minimax` with the real profile name you created, such as `m27`, `glm`, `ark`, or `bailian`.
|
|
143
|
+
|
|
144
|
+
DeepScientist blocks startup until Codex can pass a real hello probe. By default, the runner model in `~/DeepScientist/config/runners.yaml` is `gpt-5.4`. If your profile expects the model to come from the profile itself, use `model: inherit` in `runners.yaml`, or simply launch with `--codex-profile <name>` and let that session inherit the profile-defined model.
|
|
145
|
+
|
|
146
|
+
## 3. Start the Local Runtime
|
|
147
|
+
|
|
148
|
+
Run:
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
ds
|
|
68
152
|
```
|
|
69
153
|
|
|
70
|
-
|
|
154
|
+
This starts the local daemon and the web workspace.
|
|
155
|
+
|
|
156
|
+
Again, strongly recommended:
|
|
157
|
+
|
|
158
|
+
- prefer Docker or another isolated environment
|
|
159
|
+
- always run under a non-root user
|
|
160
|
+
- do not expose the service publicly for your first run
|
|
161
|
+
|
|
162
|
+
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.
|
|
71
163
|
|
|
72
|
-
|
|
164
|
+
By default, the DeepScientist home is:
|
|
165
|
+
|
|
166
|
+
- macOS / Linux: `~/DeepScientist`
|
|
167
|
+
|
|
168
|
+
If you want to place the DeepScientist home under the current working directory instead, run:
|
|
73
169
|
|
|
74
170
|
```bash
|
|
75
|
-
ds --
|
|
171
|
+
ds --here
|
|
76
172
|
```
|
|
77
173
|
|
|
78
|
-
|
|
174
|
+
This is equivalent to `ds --home "$PWD/DeepScientist"`.
|
|
175
|
+
|
|
176
|
+
If you want another port, run:
|
|
79
177
|
|
|
80
178
|
```bash
|
|
81
|
-
ds --
|
|
179
|
+
ds --port 21000
|
|
82
180
|
```
|
|
83
181
|
|
|
84
|
-
|
|
182
|
+
This keeps everything the same, but serves the web UI on port `21000`.
|
|
183
|
+
|
|
184
|
+
By default, the local web UI is:
|
|
185
|
+
|
|
186
|
+
```text
|
|
187
|
+
http://127.0.0.1:20999
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
If the browser does not open automatically, paste that address into your browser manually.
|
|
191
|
+
|
|
192
|
+
## 4. Open the Home Page
|
|
85
193
|
|
|
86
194
|
When DeepScientist starts, open the home page at `/`.
|
|
87
195
|
|
|
88
196
|

|
|
89
197
|
|
|
90
|
-
|
|
198
|
+
After 12 hours of running, the projects surface will often look more like this:
|
|
199
|
+
|
|
200
|
+

|
|
201
|
+
|
|
202
|
+
The two main entry points are:
|
|
91
203
|
|
|
92
204
|
- `Start Research`: create a new project and launch a new research run
|
|
93
205
|
- `Open Project`: reopen an existing project
|
|
94
206
|
|
|
95
|
-
|
|
207
|
+
For your first run, click `Start Research`.
|
|
208
|
+
|
|
209
|
+
## 5. Create Your First Project With A Worked Example
|
|
210
|
+
|
|
211
|
+
This walkthrough uses a cleaned-up version of a real project input from quest `025`.
|
|
212
|
+
|
|
213
|
+
The example task is:
|
|
96
214
|
|
|
97
|
-
|
|
215
|
+
- reproduce the official Mandela-Effect baseline
|
|
216
|
+
- keep the original task setting and evaluation protocol
|
|
217
|
+
- study how to improve truth-preserving collaboration under mixed correct and incorrect social signals
|
|
218
|
+
- use two local inference endpoints to keep throughput high
|
|
98
219
|
|
|
99
|
-
Click `Start Research` to open the
|
|
220
|
+
Click `Start Research` to open the dialog.
|
|
100
221
|
|
|
101
222
|

|
|
102
223
|
|
|
103
|
-
|
|
224
|
+
### 5.1 Fill the short identity fields first
|
|
104
225
|
|
|
105
|
-
|
|
226
|
+
Use these values:
|
|
106
227
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
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
|
|
228
|
+
| Field in the UI | Example value | Why |
|
|
229
|
+
|---|---|---|
|
|
230
|
+
| `Project title` | `Mandela-Effect Reproduction and Truth-Preserving Collaboration` | Short, clear, and easy to recognize later in the project list |
|
|
231
|
+
| `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 |
|
|
232
|
+
| `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 |
|
|
114
233
|
|
|
115
|
-
|
|
234
|
+
### 5.2 Paste the main research request
|
|
116
235
|
|
|
117
|
-
|
|
118
|
-
- leave baseline empty unless you already have one
|
|
119
|
-
- use `Balanced` or `Sprint`
|
|
120
|
-
- keep decision mode on `Autonomous`
|
|
236
|
+
Paste this into `Primary research request`:
|
|
121
237
|
|
|
122
|
-
|
|
238
|
+
```text
|
|
239
|
+
Please reproduce the official Mandela-Effect repository and paper, then study how to improve truth-preserving collaboration under mixed correct and incorrect social signals.
|
|
240
|
+
|
|
241
|
+
The core research question is: how can a multi-agent system remain factually robust under social influence while still learning from correct peers?
|
|
242
|
+
|
|
243
|
+
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.
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
Why this is a good request:
|
|
247
|
+
|
|
248
|
+
- it states the baseline to reproduce
|
|
249
|
+
- it names the research question explicitly
|
|
250
|
+
- it gives a boundary: stay on the same task and protocol
|
|
251
|
+
- it hints at promising directions without over-prescribing the implementation
|
|
252
|
+
|
|
253
|
+
### 5.3 Add the baseline and reference sources
|
|
254
|
+
|
|
255
|
+
If this is your first run, leave `Reusable baseline` empty.
|
|
256
|
+
|
|
257
|
+
If you already imported a reusable official baseline into the registry, select it here instead. That lets DeepScientist attach the trusted baseline directly.
|
|
258
|
+
|
|
259
|
+
Paste this into `Baseline links`:
|
|
260
|
+
|
|
261
|
+
```text
|
|
262
|
+
https://github.com/bluedream02/Mandela-Effect
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
Paste this into `Reference papers / repos`:
|
|
266
|
+
|
|
267
|
+
```text
|
|
268
|
+
https://arxiv.org/abs/2602.00428
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
These fields tell DeepScientist where the baseline comes from and what prior work defines the task.
|
|
272
|
+
|
|
273
|
+
### 5.4 Add the runtime constraints
|
|
274
|
+
|
|
275
|
+
Paste this into `Runtime constraints`:
|
|
276
|
+
|
|
277
|
+
```text
|
|
278
|
+
- Keep the task definition and evaluation protocol aligned with the official baseline unless a change is explicitly justified.
|
|
279
|
+
- Use two OpenAI-compatible local inference endpoints for throughput:
|
|
280
|
+
- `http://127.0.0.1:8004/v1`
|
|
281
|
+
- `http://127.0.0.1:8008/v1`
|
|
282
|
+
- Use API key `1234` and model `/model/gpt-oss-120b` on both endpoints.
|
|
283
|
+
- Keep generation settings close to the baseline unless a justified adjustment is required.
|
|
284
|
+
- Implement asynchronous execution, automatic retry on request failure, and resumable scripts.
|
|
285
|
+
- Split requests across both endpoints so throughput stays high without overloading the service.
|
|
286
|
+
- Record failed, degraded, or inconclusive runs honestly instead of hiding them.
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
This is one of the most important fields in the whole dialog. It turns vague operational wishes into hard project rules.
|
|
290
|
+
|
|
291
|
+
### 5.5 Add the goals
|
|
292
|
+
|
|
293
|
+
Paste this into `Goals`:
|
|
294
|
+
|
|
295
|
+
```text
|
|
296
|
+
1. Restore and verify the official Mandela-Effect baseline as a trustworthy starting point.
|
|
297
|
+
2. Measure key metrics and failure modes on the designated `gpt-oss-120b` setup.
|
|
298
|
+
3. Propose at least one literature-grounded direction for stronger truth-preserving collaboration.
|
|
299
|
+
4. Produce experiment and analysis artifacts that are strong enough to support paper writing.
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
This field should describe the outcomes of the first meaningful research cycle, not a vague aspiration like “do something new”.
|
|
303
|
+
|
|
304
|
+
### 5.6 Choose the policy fields
|
|
305
|
+
|
|
306
|
+
For this example, use these settings:
|
|
307
|
+
|
|
308
|
+
| Field in the UI | Example value | What it means |
|
|
309
|
+
|---|---|---|
|
|
310
|
+
| `Research paper` | `On` | The project should continue through analysis and paper-ready outputs |
|
|
311
|
+
| `Research intensity` | `Balanced` | Secure the baseline first, then test one justified direction |
|
|
312
|
+
| `Decision mode` | `Autonomous` | The run should keep moving unless a real user decision is needed |
|
|
313
|
+
| `Launch mode` | `Standard` | Start from the ordinary research graph |
|
|
314
|
+
| `Language` | `English` | Use English for the kickoff prompt and user-facing artifacts by default |
|
|
315
|
+
|
|
316
|
+
What the frontend derives automatically from these choices:
|
|
317
|
+
|
|
318
|
+
- `scope = baseline_plus_direction`
|
|
319
|
+
- `baseline_mode = restore_from_url` if no reusable baseline is selected
|
|
320
|
+
- `baseline_mode = existing` if a reusable baseline is selected
|
|
321
|
+
- `resource_policy = balanced`
|
|
322
|
+
- `time_budget_hours = 24`
|
|
323
|
+
- `git_strategy = semantic_head_plus_controlled_integration`
|
|
123
324
|
|
|
124
|
-
|
|
325
|
+
This matters because the dialog does not only create a project. It also writes a structured `startup_contract` that later prompt building keeps reading.
|
|
125
326
|
|
|
126
|
-
|
|
327
|
+
### 5.7 Review the preview, then create the project
|
|
328
|
+
|
|
329
|
+
Look at the prompt preview on the right before you click `Create project`.
|
|
330
|
+
|
|
331
|
+
Check that it clearly includes:
|
|
332
|
+
|
|
333
|
+
- the primary research request
|
|
334
|
+
- the baseline repository
|
|
335
|
+
- the reference paper
|
|
336
|
+
- the runtime constraints
|
|
337
|
+
- the goals
|
|
338
|
+
- the chosen delivery and decision mode
|
|
339
|
+
|
|
340
|
+
When it looks right, click `Create project`.
|
|
341
|
+
|
|
342
|
+
At this point, the frontend submits:
|
|
343
|
+
|
|
344
|
+
- a compiled kickoff prompt
|
|
345
|
+
- an optional `requested_baseline_ref`
|
|
346
|
+
- an optional `requested_connector_bindings`
|
|
347
|
+
- a structured `startup_contract`
|
|
348
|
+
|
|
349
|
+
If you want to understand that payload in detail, read [02 Start Research Guide](./02_START_RESEARCH_GUIDE.md).
|
|
350
|
+
|
|
351
|
+
## 6. Reopen an Existing Project
|
|
352
|
+
|
|
353
|
+
Click `Open Project` on the home page to open the project list.
|
|
127
354
|
|
|
128
355
|

|
|
129
356
|
|
|
130
|
-
Use this
|
|
357
|
+
Use this when you want to:
|
|
131
358
|
|
|
132
|
-
- reopen a
|
|
133
|
-
-
|
|
134
|
-
-
|
|
359
|
+
- reopen a running project
|
|
360
|
+
- reopen a finished project
|
|
361
|
+
- search by project title or id
|
|
135
362
|
|
|
136
|
-
Each row
|
|
363
|
+
Each row is one project repository. Click the card to open it.
|
|
137
364
|
|
|
138
|
-
##
|
|
365
|
+
## 7. What Happens After Opening a Project
|
|
139
366
|
|
|
140
367
|
After you create or open a project, DeepScientist takes you to the workspace page for that project.
|
|
141
368
|
|
|
142
|
-
|
|
369
|
+
The usual first loop is:
|
|
143
370
|
|
|
144
|
-
1. watch
|
|
371
|
+
1. watch progress in Copilot / Studio
|
|
145
372
|
2. inspect files, notes, and generated artifacts
|
|
146
|
-
3. use Canvas to understand the
|
|
147
|
-
4.
|
|
373
|
+
3. use Canvas to understand the project graph and stage progress
|
|
374
|
+
4. let the run continue unless you intentionally want to interrupt it
|
|
148
375
|
|
|
149
|
-
##
|
|
376
|
+
## 8. Useful Runtime Commands
|
|
150
377
|
|
|
151
378
|
Check status:
|
|
152
379
|
|
|
@@ -154,21 +381,64 @@ Check status:
|
|
|
154
381
|
ds --status
|
|
155
382
|
```
|
|
156
383
|
|
|
157
|
-
|
|
384
|
+
This shows whether the local runtime is up.
|
|
385
|
+
|
|
386
|
+
Stop the daemon:
|
|
158
387
|
|
|
159
388
|
```bash
|
|
160
389
|
ds --stop
|
|
161
390
|
```
|
|
162
391
|
|
|
163
|
-
|
|
392
|
+
This stops the local DeepScientist daemon.
|
|
393
|
+
|
|
394
|
+
Run diagnostics:
|
|
164
395
|
|
|
165
396
|
```bash
|
|
166
397
|
ds doctor
|
|
167
398
|
```
|
|
168
399
|
|
|
169
|
-
|
|
400
|
+
Use this when startup, config, runner, or connector behavior looks wrong.
|
|
401
|
+
|
|
402
|
+
## 9. What To Read Next
|
|
403
|
+
|
|
404
|
+
- [DeepScientist Docs Index](./README.md)
|
|
405
|
+
- [12 Guided Workflow Tour](./12_GUIDED_WORKFLOW_TOUR.md)
|
|
406
|
+
- [02 Start Research Guide](./02_START_RESEARCH_GUIDE.md)
|
|
407
|
+
- [13 Core Architecture Guide](./13_CORE_ARCHITECTURE_GUIDE.md)
|
|
408
|
+
- [01 Settings Reference](./01_SETTINGS_REFERENCE.md)
|
|
409
|
+
- [03 QQ Connector Guide](./03_QQ_CONNECTOR_GUIDE.md)
|
|
410
|
+
- [05 TUI Guide](./05_TUI_GUIDE.md)
|
|
411
|
+
|
|
412
|
+
## 10. Short FAQ
|
|
413
|
+
|
|
414
|
+
### How do I install from a source checkout into another base directory?
|
|
415
|
+
|
|
416
|
+
Run:
|
|
417
|
+
|
|
418
|
+
```bash
|
|
419
|
+
bash install.sh --dir /data/DeepScientist
|
|
420
|
+
```
|
|
421
|
+
|
|
422
|
+
Use this when you are working from a repository checkout but want the bundled CLI installed into a separate runtime location.
|
|
423
|
+
|
|
424
|
+
### How do I move an existing DeepScientist home safely?
|
|
425
|
+
|
|
426
|
+
Run:
|
|
427
|
+
|
|
428
|
+
```bash
|
|
429
|
+
ds migrate /data/DeepScientist
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
This is the supported way to migrate an existing DeepScientist home to a new path.
|
|
433
|
+
|
|
434
|
+
### How do I bind on all interfaces?
|
|
435
|
+
|
|
436
|
+
Run:
|
|
437
|
+
|
|
438
|
+
```bash
|
|
439
|
+
ds --host 0.0.0.0 --port 21000
|
|
440
|
+
```
|
|
441
|
+
|
|
442
|
+
Only do this when you really need external reachability, and review the risk notice first:
|
|
170
443
|
|
|
171
|
-
- [
|
|
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)
|
|
444
|
+
- [11 License And Risk Notice](./11_LICENSE_AND_RISK.md)
|
|
@@ -392,6 +392,7 @@ codex:
|
|
|
392
392
|
enabled: true
|
|
393
393
|
binary: codex
|
|
394
394
|
config_dir: ~/.codex
|
|
395
|
+
profile: ""
|
|
395
396
|
model: gpt-5.4
|
|
396
397
|
model_reasoning_effort: xhigh
|
|
397
398
|
approval_policy: on-request
|
|
@@ -429,6 +430,8 @@ claude:
|
|
|
429
430
|
- UI label: `Binary`
|
|
430
431
|
- Meaning: command name or absolute path used to launch the runner.
|
|
431
432
|
- `Test` behavior: checks whether the binary is on `PATH`.
|
|
433
|
+
- First-run note: DeepScientist does not finish Codex authentication for you. Before the first `ds`, make sure `codex --login` (or `codex`) has completed successfully.
|
|
434
|
+
- Repair note: if the bundled dependency is missing after `npm install -g @researai/deepscientist`, install Codex explicitly with `npm install -g @openai/codex`.
|
|
432
435
|
|
|
433
436
|
**`config_dir`**
|
|
434
437
|
|
|
@@ -437,12 +440,23 @@ claude:
|
|
|
437
440
|
- UI label: `Config directory`
|
|
438
441
|
- Meaning: global runner home for auth and global config.
|
|
439
442
|
|
|
443
|
+
**`profile`**
|
|
444
|
+
|
|
445
|
+
- Type: `string`
|
|
446
|
+
- Default: `""`
|
|
447
|
+
- UI label: `Codex profile`
|
|
448
|
+
- Meaning: optional Codex profile name passed through as `codex --profile <name>`.
|
|
449
|
+
- Use this when your Codex CLI is already configured for a provider-backed setup such as MiniMax, GLM, Volcengine Ark, or Alibaba Bailian.
|
|
450
|
+
- One-off note: you can also leave this field empty and launch with `ds --codex-profile <name>`.
|
|
451
|
+
|
|
440
452
|
**`model`**
|
|
441
453
|
|
|
442
454
|
- Type: `string`
|
|
443
455
|
- Default: `codex=gpt-5.4`, `claude=inherit`
|
|
444
456
|
- UI label: `Default model`
|
|
445
457
|
- Meaning: default model used when a project does not override it.
|
|
458
|
+
- 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`.
|
|
459
|
+
- Provider-profile note: when `profile` is set, `model: inherit` is usually the right choice so the Codex profile itself controls the provider model.
|
|
446
460
|
|
|
447
461
|
**`model_reasoning_effort`**
|
|
448
462
|
|