@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
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
# 15 Codex Provider Setup
|
|
2
|
+
|
|
3
|
+
DeepScientist does not implement separate provider adapters for MiniMax, GLM, Volcengine Ark, or Alibaba Bailian.
|
|
4
|
+
|
|
5
|
+
Instead, it reuses the same Codex CLI setup that already works in your terminal.
|
|
6
|
+
|
|
7
|
+
The recommended order is always:
|
|
8
|
+
|
|
9
|
+
1. make Codex itself work first
|
|
10
|
+
2. confirm `codex` or `codex --profile <name>` works in a terminal
|
|
11
|
+
3. run `ds doctor`
|
|
12
|
+
4. run `ds` or `ds --codex-profile <name>`
|
|
13
|
+
|
|
14
|
+
## Three supported patterns
|
|
15
|
+
|
|
16
|
+
### 1. Default OpenAI login path
|
|
17
|
+
|
|
18
|
+
Use this when your Codex CLI works through the standard OpenAI login flow.
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
codex --login
|
|
22
|
+
ds doctor
|
|
23
|
+
ds
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### 2. One-off provider profile
|
|
27
|
+
|
|
28
|
+
Use this when you already have a named Codex profile such as `minimax`, `glm`, `ark`, or `bailian`.
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
codex --profile minimax
|
|
32
|
+
ds doctor --codex-profile minimax
|
|
33
|
+
ds --codex-profile minimax
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
This is the simplest path. You do not need to edit `runners.yaml` just to try one provider-backed session.
|
|
37
|
+
|
|
38
|
+
### 3. Persistent provider profile
|
|
39
|
+
|
|
40
|
+
Use this when you want DeepScientist to keep using the same profile by default.
|
|
41
|
+
|
|
42
|
+
```yaml
|
|
43
|
+
codex:
|
|
44
|
+
enabled: true
|
|
45
|
+
binary: codex
|
|
46
|
+
config_dir: ~/.codex
|
|
47
|
+
profile: minimax
|
|
48
|
+
model: inherit
|
|
49
|
+
model_reasoning_effort: xhigh
|
|
50
|
+
approval_policy: on-request
|
|
51
|
+
sandbox_mode: workspace-write
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Important:
|
|
55
|
+
|
|
56
|
+
- keep `model: inherit` for provider-backed Codex profiles unless you are certain the provider accepts the explicit model id you plan to send
|
|
57
|
+
- DeepScientist will reuse the same `~/.codex/config.toml` and environment that your terminal Codex already uses
|
|
58
|
+
|
|
59
|
+
## Provider matrix
|
|
60
|
+
|
|
61
|
+
| Provider | Official docs | Codex login needed | What DeepScientist should use |
|
|
62
|
+
|---|---|---|---|
|
|
63
|
+
| OpenAI | use the normal Codex setup | Yes | no profile; run `ds` |
|
|
64
|
+
| MiniMax | [MiniMax Codex CLI](https://platform.minimaxi.com/docs/coding-plan/codex-cli) | No | your Codex profile, for example `ds --codex-profile minimax` |
|
|
65
|
+
| GLM | [GLM Coding Plan: Other Tools](https://docs.bigmodel.cn/cn/coding-plan/tool/others) | No | a Codex profile that targets the GLM coding endpoint |
|
|
66
|
+
| Volcengine Ark | [Ark Coding Plan Overview](https://www.volcengine.com/docs/82379/1925114?lang=zh) | No | a Codex profile that targets the Ark coding endpoint |
|
|
67
|
+
| Alibaba Bailian | [Bailian Coding Plan: Other Tools](https://help.aliyun.com/zh/model-studio/other-tools-coding-plan) | No | a Codex profile that targets the Bailian coding endpoint |
|
|
68
|
+
|
|
69
|
+
## OpenAI
|
|
70
|
+
|
|
71
|
+
### What to prepare
|
|
72
|
+
|
|
73
|
+
- a normal Codex CLI install
|
|
74
|
+
- a successful `codex --login` or `codex` interactive first-run setup
|
|
75
|
+
|
|
76
|
+
### DeepScientist commands
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
ds doctor
|
|
80
|
+
ds
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Persistent runner config
|
|
84
|
+
|
|
85
|
+
```yaml
|
|
86
|
+
codex:
|
|
87
|
+
enabled: true
|
|
88
|
+
binary: codex
|
|
89
|
+
config_dir: ~/.codex
|
|
90
|
+
profile: ""
|
|
91
|
+
model: gpt-5.4
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## MiniMax
|
|
95
|
+
|
|
96
|
+
MiniMax is the clearest profile-based case. Its official Codex CLI guide configures a custom Codex provider and sets `requires_openai_auth = false`.
|
|
97
|
+
|
|
98
|
+
Official doc:
|
|
99
|
+
|
|
100
|
+
- <https://platform.minimaxi.com/docs/coding-plan/codex-cli>
|
|
101
|
+
|
|
102
|
+
### What to prepare
|
|
103
|
+
|
|
104
|
+
- Codex CLI installed
|
|
105
|
+
- `MINIMAX_API_KEY` available in the shell that starts Codex and DeepScientist
|
|
106
|
+
- a working Codex profile in `~/.codex/config.toml`
|
|
107
|
+
|
|
108
|
+
### Codex-side setup
|
|
109
|
+
|
|
110
|
+
MiniMax's official page provides a real Codex custom-provider example. The profile name is yours to choose. Use `minimax` below as an example; if you already created `m27`, keep using `m27`.
|
|
111
|
+
|
|
112
|
+
```toml
|
|
113
|
+
[model_providers.minimax]
|
|
114
|
+
name = "MiniMax Chat Completions API"
|
|
115
|
+
base_url = "https://api.minimaxi.com/v1"
|
|
116
|
+
env_key = "MINIMAX_API_KEY"
|
|
117
|
+
wire_api = "chat"
|
|
118
|
+
requires_openai_auth = false
|
|
119
|
+
request_max_retries = 4
|
|
120
|
+
stream_max_retries = 10
|
|
121
|
+
stream_idle_timeout_ms = 300000
|
|
122
|
+
|
|
123
|
+
[profiles.minimax]
|
|
124
|
+
model = "codex-MiniMax-M2.5"
|
|
125
|
+
model_provider = "minimax"
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Then:
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
export MINIMAX_API_KEY="..."
|
|
132
|
+
codex --profile minimax
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### DeepScientist commands
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
ds doctor --codex-profile minimax
|
|
139
|
+
ds --codex-profile minimax
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Persistent runner config
|
|
143
|
+
|
|
144
|
+
```yaml
|
|
145
|
+
codex:
|
|
146
|
+
enabled: true
|
|
147
|
+
binary: codex
|
|
148
|
+
config_dir: ~/.codex
|
|
149
|
+
profile: minimax
|
|
150
|
+
model: inherit
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## GLM
|
|
154
|
+
|
|
155
|
+
GLM documents the Coding Plan as an OpenAI-compatible coding endpoint rather than a dedicated Codex login flow.
|
|
156
|
+
|
|
157
|
+
Official docs:
|
|
158
|
+
|
|
159
|
+
- <https://docs.bigmodel.cn/cn/coding-plan/tool/others>
|
|
160
|
+
- <https://docs.bigmodel.cn/cn/coding-plan/faq>
|
|
161
|
+
|
|
162
|
+
### Official provider values
|
|
163
|
+
|
|
164
|
+
- Base URL: `https://open.bigmodel.cn/api/coding/paas/v4`
|
|
165
|
+
- API key: your GLM Coding Plan key
|
|
166
|
+
- Model: `GLM-4.7` for the documented path, or `GLM-5` where supported
|
|
167
|
+
|
|
168
|
+
### Recommended Codex adaptation
|
|
169
|
+
|
|
170
|
+
GLM does not currently publish a separate Codex CLI page in the same style as MiniMax. The practical DeepScientist path is:
|
|
171
|
+
|
|
172
|
+
1. create a Codex profile in `~/.codex/config.toml` that points to the GLM coding endpoint above
|
|
173
|
+
2. make sure `codex --profile glm` works in a terminal first
|
|
174
|
+
3. run DeepScientist with the same profile
|
|
175
|
+
|
|
176
|
+
### DeepScientist commands
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
ds doctor --codex-profile glm
|
|
180
|
+
ds --codex-profile glm
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### Persistent runner config
|
|
184
|
+
|
|
185
|
+
```yaml
|
|
186
|
+
codex:
|
|
187
|
+
enabled: true
|
|
188
|
+
binary: codex
|
|
189
|
+
config_dir: ~/.codex
|
|
190
|
+
profile: glm
|
|
191
|
+
model: inherit
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
## Volcengine Ark
|
|
195
|
+
|
|
196
|
+
Volcengine Ark explicitly lists Codex CLI as a supported coding tool.
|
|
197
|
+
|
|
198
|
+
Official doc:
|
|
199
|
+
|
|
200
|
+
- <https://www.volcengine.com/docs/82379/1925114?lang=zh>
|
|
201
|
+
|
|
202
|
+
### Official provider values
|
|
203
|
+
|
|
204
|
+
- OpenAI-compatible Base URL: `https://ark.cn-beijing.volces.com/api/coding/v3`
|
|
205
|
+
- Supported coding models: `doubao-seed-code-preview-latest`, `ark-code-latest`
|
|
206
|
+
- Use the Coding Plan key and the exact Coding Plan endpoint
|
|
207
|
+
|
|
208
|
+
### Recommended Codex adaptation
|
|
209
|
+
|
|
210
|
+
Create a Codex profile that targets the Ark coding endpoint and test it directly first:
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
codex --profile ark
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
Then start DeepScientist with the same profile:
|
|
217
|
+
|
|
218
|
+
```bash
|
|
219
|
+
ds doctor --codex-profile ark
|
|
220
|
+
ds --codex-profile ark
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### Persistent runner config
|
|
224
|
+
|
|
225
|
+
```yaml
|
|
226
|
+
codex:
|
|
227
|
+
enabled: true
|
|
228
|
+
binary: codex
|
|
229
|
+
config_dir: ~/.codex
|
|
230
|
+
profile: ark
|
|
231
|
+
model: inherit
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
## Alibaba Bailian
|
|
235
|
+
|
|
236
|
+
Bailian documents Coding Plan as an OpenAI-compatible coding endpoint. It requires the Coding Plan-specific key and endpoint, not the generic platform endpoint.
|
|
237
|
+
|
|
238
|
+
Official docs:
|
|
239
|
+
|
|
240
|
+
- <https://help.aliyun.com/zh/model-studio/other-tools-coding-plan>
|
|
241
|
+
- <https://help.aliyun.com/zh/model-studio/coding-plan-faq>
|
|
242
|
+
|
|
243
|
+
### Official provider values
|
|
244
|
+
|
|
245
|
+
- OpenAI-compatible Base URL: `https://coding.dashscope.aliyuncs.com/v1`
|
|
246
|
+
- API key: Coding Plan-specific key, typically `sk-sp-...`
|
|
247
|
+
- Model: choose a Coding Plan-supported model from the current Bailian overview
|
|
248
|
+
|
|
249
|
+
### Recommended Codex adaptation
|
|
250
|
+
|
|
251
|
+
Create a Codex profile that points to the Bailian Coding Plan endpoint and test it directly first:
|
|
252
|
+
|
|
253
|
+
```bash
|
|
254
|
+
codex --profile bailian
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
Then start DeepScientist with the same profile:
|
|
258
|
+
|
|
259
|
+
```bash
|
|
260
|
+
ds doctor --codex-profile bailian
|
|
261
|
+
ds --codex-profile bailian
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
### Persistent runner config
|
|
265
|
+
|
|
266
|
+
```yaml
|
|
267
|
+
codex:
|
|
268
|
+
enabled: true
|
|
269
|
+
binary: codex
|
|
270
|
+
config_dir: ~/.codex
|
|
271
|
+
profile: bailian
|
|
272
|
+
model: inherit
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
## Troubleshooting checklist
|
|
276
|
+
|
|
277
|
+
If a provider-backed profile still fails in DeepScientist:
|
|
278
|
+
|
|
279
|
+
1. run `codex --profile <name>` manually first
|
|
280
|
+
2. confirm the provider API key is present in the same shell
|
|
281
|
+
3. confirm the provider-specific Base URL is the Coding Plan endpoint, not the generic API endpoint
|
|
282
|
+
4. keep DeepScientist runner `model: inherit` unless you need an explicit override
|
|
283
|
+
5. run `ds doctor --codex-profile <name>`
|
|
284
|
+
6. only after that run `ds --codex-profile <name>`
|
|
@@ -13,8 +13,11 @@ We especially thank the following projects for their ideas, research direction,
|
|
|
13
13
|
- EvoScientist
|
|
14
14
|
- Orchestra-Research
|
|
15
15
|
- Orchestra-Research/AI-Research-SKILLs
|
|
16
|
+
- Overleaf / overleaf/overleaf
|
|
17
|
+
- Monaco Editor / microsoft/monaco-editor
|
|
18
|
+
- Novel / steven-tey/novel
|
|
16
19
|
|
|
17
|
-
These projects have been important references for thinking about automated research, open-ended exploration, evolutionary search, experiment organization,
|
|
20
|
+
These projects have been important references for thinking about automated research, open-ended exploration, evolutionary search, experiment organization, long-horizon research agents, collaborative LaTeX editing workflows, browser-based code editing experiences, and rich notebook-style writing interactions.
|
|
18
21
|
|
|
19
22
|
## Personal acknowledgements
|
|
20
23
|
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# DeepScientist Docs
|
|
2
|
+
|
|
3
|
+
DeepScientist is not just a long-running autonomous scientific discovery system. It is also a persistent research map that lives on your own machine.
|
|
4
|
+
|
|
5
|
+
2 minutes to install. 2 minutes to bind Weixin. 2 minutes to launch. Extremely fast and easy to use.
|
|
6
|
+
|
|
7
|
+
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
|
+
|
|
9
|
+
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.
|
|
10
|
+
|
|
11
|
+
## News
|
|
12
|
+
|
|
13
|
+
- `2026/03/24`: DeepScientist officially releases `v1.5`.
|
|
14
|
+
- `2026/02/01`: the DeepScientist paper is available on [OpenReview](https://openreview.net/forum?id=cZFgsLq8Gs) for `ICLR 2026`.
|
|
15
|
+
|
|
16
|
+
## More From ResearAI
|
|
17
|
+
|
|
18
|
+
AI Scientist and AutoFigure projects worth exploring alongside DeepScientist:
|
|
19
|
+
|
|
20
|
+
| Project | What it does |
|
|
21
|
+
|---|---|
|
|
22
|
+
| [AutoFigure](https://github.com/ResearAI/AutoFigure) | generate paper-ready figures |
|
|
23
|
+
| [AutoFigure-Edit](https://github.com/ResearAI/AutoFigure-Edit) | editable vector paper figures |
|
|
24
|
+
| [DeepReviewer-v2](https://github.com/ResearAI/DeepReviewer-v2) | review papers and drafts |
|
|
25
|
+
| [Awesome-AI-Scientist](https://github.com/ResearAI/Awesome-AI-Scientist) | curated AI scientist landscape |
|
|
26
|
+
|
|
27
|
+
This page is the shortest path to the right document.
|
|
28
|
+
|
|
29
|
+
## If you are new
|
|
30
|
+
|
|
31
|
+
- [00 Quick Start](./00_QUICK_START.md)
|
|
32
|
+
Start here if you want to install DeepScientist, launch it locally, and create your first project.
|
|
33
|
+
- [15 Codex Provider Setup](./15_CODEX_PROVIDER_SETUP.md)
|
|
34
|
+
Read this when you want to run DeepScientist through MiniMax, GLM, Volcengine Ark, Alibaba Bailian, or another Codex profile.
|
|
35
|
+
- [12 Guided Workflow Tour](./12_GUIDED_WORKFLOW_TOUR.md)
|
|
36
|
+
Follow the real product flow from landing page to workspace, step by step.
|
|
37
|
+
- [02 Start Research Guide](./02_START_RESEARCH_GUIDE.md)
|
|
38
|
+
Read this next if you want to understand each field in the `Start Research` dialog and what it actually submits.
|
|
39
|
+
|
|
40
|
+
## If you want to launch a project well
|
|
41
|
+
|
|
42
|
+
- [02 Start Research Guide](./02_START_RESEARCH_GUIDE.md)
|
|
43
|
+
Explains the current frontend fields, derived contract fields, and practical examples.
|
|
44
|
+
- [01 Settings Reference](./01_SETTINGS_REFERENCE.md)
|
|
45
|
+
Use this when you need to configure runners, connectors, runtime defaults, or home paths.
|
|
46
|
+
- [11 License And Risk Notice](./11_LICENSE_AND_RISK.md)
|
|
47
|
+
Read this first if you care about the license boundary, server safety, fabricated outputs, connector leakage, and public exposure risk.
|
|
48
|
+
|
|
49
|
+
## If you want to collaborate through external surfaces
|
|
50
|
+
|
|
51
|
+
- [10 Weixin Connector Guide](./10_WEIXIN_CONNECTOR_GUIDE.md)
|
|
52
|
+
Bind personal WeChat through DeepScientist's built-in QR login and iLink runtime.
|
|
53
|
+
- [03 QQ Connector Guide](./03_QQ_CONNECTOR_GUIDE.md)
|
|
54
|
+
Use QQ as a practical collaboration surface for progress, commands, and milestone delivery.
|
|
55
|
+
- [04 Lingzhu Connector Guide](./04_LINGZHU_CONNECTOR_GUIDE.md)
|
|
56
|
+
Bind Lingzhu / Rokid Glasses to DeepScientist.
|
|
57
|
+
|
|
58
|
+
## If you want to understand how the system works
|
|
59
|
+
|
|
60
|
+
- [13 Core Architecture Guide](./13_CORE_ARCHITECTURE_GUIDE.md)
|
|
61
|
+
Read this first if you want a user-facing overview of launcher, daemon, quests, Canvas, memory, and connectors.
|
|
62
|
+
- [14 Prompt, Skills, and MCP Guide](./14_PROMPT_SKILLS_AND_MCP_GUIDE.md)
|
|
63
|
+
Read this when you want the real turn-time structure: prompt assembly order, stage skills, and built-in MCP tool families.
|
|
64
|
+
- [06 Runtime and Canvas](./06_RUNTIME_AND_CANVAS.md)
|
|
65
|
+
Explains how the daemon, workspace, canvas, and connector views fit together.
|
|
66
|
+
- [07 Memory and MCP](./07_MEMORY_AND_MCP.md)
|
|
67
|
+
Explains memory, artifacts, and built-in MCP behavior.
|
|
68
|
+
|
|
69
|
+
## If something is broken
|
|
70
|
+
|
|
71
|
+
- [09 Doctor](./09_DOCTOR.md)
|
|
72
|
+
Start here for diagnostics and common runtime problems.
|
|
73
|
+
- [15 Codex Provider Setup](./15_CODEX_PROVIDER_SETUP.md)
|
|
74
|
+
Check this if the problem is likely in your Codex profile, provider endpoint, API key, or model configuration.
|
|
75
|
+
- [01 Settings Reference](./01_SETTINGS_REFERENCE.md)
|
|
76
|
+
Check this if the problem is likely caused by config, credentials, or connector setup.
|
|
77
|
+
|
|
78
|
+
## If you are developing DeepScientist
|
|
79
|
+
|
|
80
|
+
- [90 Architecture](./90_ARCHITECTURE.md)
|
|
81
|
+
High-level system contracts and repository structure.
|
|
82
|
+
- [91 Development](./91_DEVELOPMENT.md)
|
|
83
|
+
Maintainer-facing workflow and implementation notes.
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="1280" height="720" viewBox="0 0 1280 720" fill="none">
|
|
2
|
+
<rect width="1280" height="720" rx="32" fill="#FAFBFF"/>
|
|
3
|
+
<rect x="40" y="40" width="1200" height="640" rx="28" fill="#FFFFFF" stroke="#DAE2F3" stroke-width="2"/>
|
|
4
|
+
<circle cx="108" cy="108" r="34" fill="#2563EB"/>
|
|
5
|
+
<path d="M92 108C92 99.16 99.16 92 108 92C116.84 92 124 99.16 124 108C124 116.84 116.84 124 108 124C99.16 124 92 116.84 92 108Z" fill="#fff" fill-opacity=".2"/>
|
|
6
|
+
<path d="M101 116V100H115" stroke="#fff" stroke-width="8" stroke-linecap="round" stroke-linejoin="round"/>
|
|
7
|
+
<text x="164" y="98" fill="#0F172A" font-family="Arial, sans-serif" font-size="34" font-weight="700">WeChat Version And Plugin Entry Check</text>
|
|
8
|
+
<text x="164" y="138" fill="#475569" font-family="Arial, sans-serif" font-size="20">Reference precheck from the personal WeChat guide before you bind in DeepScientist</text>
|
|
9
|
+
|
|
10
|
+
<rect x="88" y="196" width="492" height="430" rx="28" fill="#F8FAFF" stroke="#D5DDF0" stroke-width="2"/>
|
|
11
|
+
<text x="120" y="252" fill="#0F172A" font-family="Arial, sans-serif" font-size="28" font-weight="700">Compatibility checklist</text>
|
|
12
|
+
<rect x="120" y="292" width="428" height="88" rx="20" fill="#EEF2FF"/>
|
|
13
|
+
<text x="150" y="326" fill="#3730A3" font-family="Arial, sans-serif" font-size="20" font-weight="700">WeChat for iOS</text>
|
|
14
|
+
<text x="150" y="356" fill="#334155" font-family="Arial, sans-serif" font-size="18">Use 8.0.70 or newer if you need the plugin entry.</text>
|
|
15
|
+
<rect x="120" y="398" width="428" height="180" rx="20" fill="#fff" stroke="#E1E7F5"/>
|
|
16
|
+
<text x="150" y="434" fill="#0F172A" font-family="Arial, sans-serif" font-size="20" font-weight="700">Expected path in the reference flow</text>
|
|
17
|
+
<text x="150" y="474" fill="#334155" font-family="Arial, sans-serif" font-size="18">1. Me</text>
|
|
18
|
+
<text x="150" y="508" fill="#334155" font-family="Arial, sans-serif" font-size="18">2. Settings</text>
|
|
19
|
+
<text x="150" y="542" fill="#334155" font-family="Arial, sans-serif" font-size="18">3. Plugins</text>
|
|
20
|
+
<text x="150" y="576" fill="#475569" font-family="Arial, sans-serif" font-size="16">If this entry is missing, update WeChat first.</text>
|
|
21
|
+
|
|
22
|
+
<rect x="640" y="168" width="520" height="486" rx="34" fill="#ECFDF5" stroke="#C3EED3" stroke-width="2"/>
|
|
23
|
+
<rect x="760" y="204" width="280" height="420" rx="42" fill="#FFFFFF" stroke="#D7EAD9" stroke-width="2"/>
|
|
24
|
+
<rect x="786" y="246" width="228" height="42" rx="16" fill="#DCFCE7"/>
|
|
25
|
+
<text x="847" y="273" fill="#166534" font-family="Arial, sans-serif" font-size="20" font-weight="700">WeChat</text>
|
|
26
|
+
<rect x="786" y="318" width="228" height="54" rx="18" fill="#F8FAFC"/>
|
|
27
|
+
<text x="818" y="352" fill="#0F172A" font-family="Arial, sans-serif" font-size="18">Me</text>
|
|
28
|
+
<rect x="786" y="388" width="228" height="54" rx="18" fill="#F8FAFC"/>
|
|
29
|
+
<text x="818" y="422" fill="#0F172A" font-family="Arial, sans-serif" font-size="18">Settings</text>
|
|
30
|
+
<rect x="786" y="458" width="228" height="54" rx="18" fill="#DCFCE7" stroke="#22C55E"/>
|
|
31
|
+
<text x="818" y="492" fill="#166534" font-family="Arial, sans-serif" font-size="18" font-weight="700">Plugins</text>
|
|
32
|
+
<text x="702" y="616" fill="#475569" font-family="Arial, sans-serif" font-size="17">DeepScientist still binds from its own QR modal.</text>
|
|
33
|
+
</svg>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="1280" height="720" viewBox="0 0 1280 720" fill="none">
|
|
2
|
+
<rect width="1280" height="720" rx="32" fill="#F7FBF8"/>
|
|
3
|
+
<rect x="40" y="40" width="1200" height="640" rx="28" fill="#FFFFFF" stroke="#D7E9DC" stroke-width="2"/>
|
|
4
|
+
<circle cx="108" cy="108" r="34" fill="#16A34A"/>
|
|
5
|
+
<path d="M97 108L105 116L119 100" stroke="#fff" stroke-width="8" stroke-linecap="round" stroke-linejoin="round"/>
|
|
6
|
+
<text x="164" y="98" fill="#0F172A" font-family="Arial, sans-serif" font-size="34" font-weight="700">Weixin QR Login Confirmation</text>
|
|
7
|
+
<text x="164" y="138" fill="#475569" font-family="Arial, sans-serif" font-size="20">One QR image in the modal, phone-side confirmation, automatic persistence</text>
|
|
8
|
+
|
|
9
|
+
<rect x="86" y="190" width="484" height="456" rx="28" fill="#FBFCFF" stroke="#DCE4F4" stroke-width="2"/>
|
|
10
|
+
<text x="118" y="244" fill="#0F172A" font-family="Arial, sans-serif" font-size="28" font-weight="700">DeepScientist modal</text>
|
|
11
|
+
<rect x="158" y="288" width="340" height="340" rx="26" fill="#fff" stroke="#CBD5E1" stroke-width="2"/>
|
|
12
|
+
<rect x="198" y="328" width="260" height="260" fill="#111827"/>
|
|
13
|
+
<rect x="220" y="350" width="60" height="60" fill="#fff"/>
|
|
14
|
+
<rect x="378" y="350" width="60" height="60" fill="#fff"/>
|
|
15
|
+
<rect x="220" y="508" width="60" height="60" fill="#fff"/>
|
|
16
|
+
<rect x="300" y="430" width="40" height="40" fill="#fff"/>
|
|
17
|
+
<rect x="364" y="494" width="28" height="28" fill="#fff"/>
|
|
18
|
+
<text x="136" y="660" fill="#475569" font-family="Arial, sans-serif" font-size="17">The popup only needs the QR image and a short hint.</text>
|
|
19
|
+
|
|
20
|
+
<rect x="708" y="164" width="472" height="500" rx="36" fill="#ECFDF5" stroke="#C6EDD2" stroke-width="2"/>
|
|
21
|
+
<rect x="846" y="202" width="196" height="414" rx="34" fill="#FFFFFF" stroke="#D3E7D6" stroke-width="2"/>
|
|
22
|
+
<text x="889" y="242" fill="#166534" font-family="Arial, sans-serif" font-size="22" font-weight="700">Phone</text>
|
|
23
|
+
<rect x="874" y="284" width="140" height="82" rx="18" fill="#DCFCE7"/>
|
|
24
|
+
<text x="908" y="332" fill="#166534" font-family="Arial, sans-serif" font-size="18" font-weight="700">Scan</text>
|
|
25
|
+
<rect x="874" y="392" width="140" height="82" rx="18" fill="#BBF7D0"/>
|
|
26
|
+
<text x="896" y="440" fill="#166534" font-family="Arial, sans-serif" font-size="18" font-weight="700">Confirm login</text>
|
|
27
|
+
<rect x="874" y="500" width="140" height="82" rx="18" fill="#86EFAC"/>
|
|
28
|
+
<text x="895" y="548" fill="#14532D" font-family="Arial, sans-serif" font-size="18" font-weight="700">Saved automatically</text>
|
|
29
|
+
<text x="742" y="638" fill="#475569" font-family="Arial, sans-serif" font-size="17">DeepScientist persists the returned token and account ids.</text>
|
|
30
|
+
</svg>
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="1280" height="720" viewBox="0 0 1280 720" fill="none">
|
|
2
|
+
<rect width="1280" height="720" rx="32" fill="#FFFDF8"/>
|
|
3
|
+
<rect x="40" y="40" width="1200" height="640" rx="28" fill="#FFFFFF" stroke="#EBDCC1" stroke-width="2"/>
|
|
4
|
+
<circle cx="108" cy="108" r="34" fill="#F59E0B"/>
|
|
5
|
+
<path d="M108 90V126" stroke="#fff" stroke-width="8" stroke-linecap="round"/>
|
|
6
|
+
<path d="M90 108H126" stroke="#fff" stroke-width="8" stroke-linecap="round"/>
|
|
7
|
+
<text x="164" y="98" fill="#0F172A" font-family="Arial, sans-serif" font-size="34" font-weight="700">Quest-Local Weixin Media Flow</text>
|
|
8
|
+
<text x="164" y="138" fill="#475569" font-family="Arial, sans-serif" font-size="20">Inbound media is copied into the quest. Outbound media should come from a real local file.</text>
|
|
9
|
+
|
|
10
|
+
<rect x="76" y="196" width="308" height="424" rx="28" fill="#F8FAFC" stroke="#DCE3EA" stroke-width="2"/>
|
|
11
|
+
<text x="112" y="250" fill="#0F172A" font-family="Arial, sans-serif" font-size="28" font-weight="700">WeChat user</text>
|
|
12
|
+
<rect x="112" y="300" width="236" height="70" rx="20" fill="#DCFCE7"/>
|
|
13
|
+
<text x="148" y="342" fill="#166534" font-family="Arial, sans-serif" font-size="18" font-weight="700">Send text / image / video / file</text>
|
|
14
|
+
<rect x="112" y="396" width="236" height="164" rx="20" fill="#fff" stroke="#DDE6EE"/>
|
|
15
|
+
<text x="138" y="432" fill="#334155" font-family="Arial, sans-serif" font-size="17">Image message</text>
|
|
16
|
+
<text x="138" y="464" fill="#334155" font-family="Arial, sans-serif" font-size="17">Video message</text>
|
|
17
|
+
<text x="138" y="496" fill="#334155" font-family="Arial, sans-serif" font-size="17">File message</text>
|
|
18
|
+
<text x="138" y="536" fill="#475569" font-family="Arial, sans-serif" font-size="16">Media-only inbound events are kept.</text>
|
|
19
|
+
|
|
20
|
+
<rect x="486" y="154" width="308" height="508" rx="28" fill="#F9FBFF" stroke="#D8E2F4" stroke-width="2"/>
|
|
21
|
+
<text x="516" y="214" fill="#0F172A" font-family="Arial, sans-serif" font-size="28" font-weight="700">DeepScientist runtime</text>
|
|
22
|
+
<rect x="516" y="262" width="248" height="76" rx="20" fill="#E0E7FF"/>
|
|
23
|
+
<text x="548" y="308" fill="#3730A3" font-family="Arial, sans-serif" font-size="19" font-weight="700">Download / decrypt / normalize</text>
|
|
24
|
+
<rect x="516" y="362" width="248" height="92" rx="20" fill="#fff" stroke="#E0E7F3"/>
|
|
25
|
+
<text x="548" y="398" fill="#334155" font-family="Arial, sans-serif" font-size="17">Copy into quest userfiles</text>
|
|
26
|
+
<text x="548" y="428" fill="#334155" font-family="Arial, sans-serif" font-size="17">Write manifest.json</text>
|
|
27
|
+
<rect x="516" y="480" width="248" height="122" rx="20" fill="#EEF2FF"/>
|
|
28
|
+
<text x="548" y="518" fill="#3730A3" font-family="Arial, sans-serif" font-size="17">Reply path</text>
|
|
29
|
+
<text x="548" y="548" fill="#334155" font-family="Arial, sans-serif" font-size="16">Text uses context_token</text>
|
|
30
|
+
<text x="548" y="576" fill="#334155" font-family="Arial, sans-serif" font-size="16">Media uploads use a real local file path</text>
|
|
31
|
+
|
|
32
|
+
<rect x="896" y="196" width="308" height="424" rx="28" fill="#FFFBEB" stroke="#F4DEAB" stroke-width="2"/>
|
|
33
|
+
<text x="928" y="250" fill="#0F172A" font-family="Arial, sans-serif" font-size="28" font-weight="700">Quest files</text>
|
|
34
|
+
<rect x="928" y="300" width="244" height="220" rx="20" fill="#fff" stroke="#F0E1B8"/>
|
|
35
|
+
<text x="952" y="338" fill="#92400E" font-family="Arial, sans-serif" font-size="17" font-weight="700">userfiles/weixin/<batch>/</text>
|
|
36
|
+
<text x="952" y="376" fill="#334155" font-family="Arial, sans-serif" font-size="16">manifest.json</text>
|
|
37
|
+
<text x="952" y="408" fill="#334155" font-family="Arial, sans-serif" font-size="16">001-image.png</text>
|
|
38
|
+
<text x="952" y="440" fill="#334155" font-family="Arial, sans-serif" font-size="16">002-video.mp4</text>
|
|
39
|
+
<text x="952" y="472" fill="#334155" font-family="Arial, sans-serif" font-size="16">003-report.pdf</text>
|
|
40
|
+
<text x="952" y="512" fill="#475569" font-family="Arial, sans-serif" font-size="16">Durable files the quest can read later</text>
|
|
41
|
+
|
|
42
|
+
<path d="M396 408H470" stroke="#94A3B8" stroke-width="8" stroke-linecap="round"/>
|
|
43
|
+
<path d="M808 408H882" stroke="#94A3B8" stroke-width="8" stroke-linecap="round"/>
|
|
44
|
+
</svg>
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="1280" height="720" viewBox="0 0 1280 720" fill="none">
|
|
2
|
+
<rect width="1280" height="720" rx="32" fill="#F7FBF8"/>
|
|
3
|
+
<rect x="40" y="40" width="1200" height="640" rx="28" fill="#FFFFFF" stroke="#D7E9DC" stroke-width="2"/>
|
|
4
|
+
<circle cx="108" cy="108" r="34" fill="#22C55E"/>
|
|
5
|
+
<path d="M92 108C92 99.16 99.16 92 108 92C116.84 92 124 99.16 124 108C124 116.84 116.84 124 108 124C99.16 124 92 116.84 92 108Z" fill="#fff" fill-opacity=".18"/>
|
|
6
|
+
<path d="M100 116L108 101L116 116H100Z" fill="#fff"/>
|
|
7
|
+
<text x="164" y="98" fill="#0F172A" font-family="Arial, sans-serif" font-size="34" font-weight="700">DeepScientist Weixin Bind Flow</text>
|
|
8
|
+
<text x="164" y="138" fill="#475569" font-family="Arial, sans-serif" font-size="20">Settings -> Connectors -> WeChat -> Bind -> QR login -> auto-saved connector</text>
|
|
9
|
+
|
|
10
|
+
<rect x="72" y="196" width="368" height="430" rx="28" fill="#F7FBF8" stroke="#CFE5D5" stroke-width="2"/>
|
|
11
|
+
<rect x="102" y="228" width="104" height="36" rx="18" fill="#DCFCE7"/>
|
|
12
|
+
<text x="129" y="251" fill="#166534" font-family="Arial, sans-serif" font-size="18" font-weight="700">Step 1</text>
|
|
13
|
+
<text x="102" y="304" fill="#0F172A" font-family="Arial, sans-serif" font-size="28" font-weight="700">Open WeChat card</text>
|
|
14
|
+
<rect x="102" y="338" width="308" height="188" rx="22" fill="#fff" stroke="#DDEBE1"/>
|
|
15
|
+
<text x="126" y="370" fill="#0F172A" font-family="Arial, sans-serif" font-size="19" font-weight="700">DeepScientist</text>
|
|
16
|
+
<text x="126" y="402" fill="#334155" font-family="Arial, sans-serif" font-size="17">Settings</text>
|
|
17
|
+
<text x="126" y="434" fill="#334155" font-family="Arial, sans-serif" font-size="17">Connectors</text>
|
|
18
|
+
<text x="126" y="466" fill="#334155" font-family="Arial, sans-serif" font-size="17">WeChat</text>
|
|
19
|
+
<rect x="126" y="488" width="160" height="28" rx="14" fill="#111827"/>
|
|
20
|
+
<text x="157" y="507" fill="#fff" font-family="Arial, sans-serif" font-size="15" font-weight="700">Bind WeChat</text>
|
|
21
|
+
<text x="102" y="572" fill="#475569" font-family="Arial, sans-serif" font-size="17">DeepScientist generates the QR itself.</text>
|
|
22
|
+
<text x="102" y="598" fill="#475569" font-family="Arial, sans-serif" font-size="17">No manual token form is required.</text>
|
|
23
|
+
|
|
24
|
+
<rect x="456" y="196" width="368" height="430" rx="28" fill="#FBFCFF" stroke="#D7E3F5" stroke-width="2"/>
|
|
25
|
+
<rect x="486" y="228" width="104" height="36" rx="18" fill="#E0E7FF"/>
|
|
26
|
+
<text x="513" y="251" fill="#4338CA" font-family="Arial, sans-serif" font-size="18" font-weight="700">Step 2</text>
|
|
27
|
+
<text x="486" y="304" fill="#0F172A" font-family="Arial, sans-serif" font-size="28" font-weight="700">Scan and confirm</text>
|
|
28
|
+
<rect x="498" y="344" width="140" height="140" rx="18" fill="#fff" stroke="#CBD5E1" stroke-width="2"/>
|
|
29
|
+
<rect x="520" y="366" width="96" height="96" fill="#111827"/>
|
|
30
|
+
<rect x="534" y="380" width="22" height="22" fill="#fff"/>
|
|
31
|
+
<rect x="580" y="380" width="22" height="22" fill="#fff"/>
|
|
32
|
+
<rect x="534" y="426" width="22" height="22" fill="#fff"/>
|
|
33
|
+
<rect x="566" y="412" width="14" height="14" fill="#fff"/>
|
|
34
|
+
<rect x="594" y="426" width="8" height="8" fill="#fff"/>
|
|
35
|
+
<rect x="666" y="344" width="124" height="220" rx="28" fill="#ECFDF5" stroke="#BBF7D0"/>
|
|
36
|
+
<rect x="684" y="370" width="88" height="140" rx="18" fill="#FFFFFF" stroke="#D1E7D6"/>
|
|
37
|
+
<text x="699" y="402" fill="#0F172A" font-family="Arial, sans-serif" font-size="17" font-weight="700">WeChat</text>
|
|
38
|
+
<text x="699" y="438" fill="#334155" font-family="Arial, sans-serif" font-size="14">Scan QR</text>
|
|
39
|
+
<text x="699" y="462" fill="#334155" font-family="Arial, sans-serif" font-size="14">Confirm login</text>
|
|
40
|
+
<text x="699" y="486" fill="#334155" font-family="Arial, sans-serif" font-size="14">Wait for save</text>
|
|
41
|
+
<text x="486" y="596" fill="#475569" font-family="Arial, sans-serif" font-size="17">The phone completes the confirmation.</text>
|
|
42
|
+
|
|
43
|
+
<rect x="840" y="196" width="368" height="430" rx="28" fill="#F8FCFF" stroke="#CDE5EC" stroke-width="2"/>
|
|
44
|
+
<rect x="870" y="228" width="104" height="36" rx="18" fill="#CCFBF1"/>
|
|
45
|
+
<text x="897" y="251" fill="#0F766E" font-family="Arial, sans-serif" font-size="18" font-weight="700">Step 3</text>
|
|
46
|
+
<text x="870" y="304" fill="#0F172A" font-family="Arial, sans-serif" font-size="28" font-weight="700">Connector saved</text>
|
|
47
|
+
<rect x="870" y="340" width="308" height="200" rx="22" fill="#fff" stroke="#D8EAEE"/>
|
|
48
|
+
<text x="896" y="376" fill="#0F172A" font-family="Arial, sans-serif" font-size="19" font-weight="700">Saved binding</text>
|
|
49
|
+
<text x="896" y="416" fill="#334155" font-family="Arial, sans-serif" font-size="17">enabled: true</text>
|
|
50
|
+
<text x="896" y="448" fill="#334155" font-family="Arial, sans-serif" font-size="17">transport: ilink_long_poll</text>
|
|
51
|
+
<text x="896" y="480" fill="#334155" font-family="Arial, sans-serif" font-size="17">bot_token: persisted</text>
|
|
52
|
+
<text x="896" y="512" fill="#334155" font-family="Arial, sans-serif" font-size="17">account_id + login_user_id</text>
|
|
53
|
+
<text x="870" y="586" fill="#475569" font-family="Arial, sans-serif" font-size="17">DeepScientist starts long polling automatically.</text>
|
|
54
|
+
|
|
55
|
+
<path d="M444 410H452" stroke="#94A3B8" stroke-width="8" stroke-linecap="round"/>
|
|
56
|
+
<path d="M828 410H836" stroke="#94A3B8" stroke-width="8" stroke-linecap="round"/>
|
|
57
|
+
</svg>
|