@researai/deepscientist 1.5.7 → 1.5.9
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/LICENSE +186 -21
- package/README.md +8 -4
- package/bin/ds.js +224 -9
- package/docs/en/00_QUICK_START.md +2 -2
- package/docs/en/07_MEMORY_AND_MCP.md +40 -3
- package/docs/en/99_ACKNOWLEDGEMENTS.md +1 -0
- package/docs/zh/00_QUICK_START.md +2 -2
- package/docs/zh/07_MEMORY_AND_MCP.md +40 -3
- package/docs/zh/99_ACKNOWLEDGEMENTS.md +1 -0
- package/install.sh +34 -0
- package/package.json +2 -2
- package/pyproject.toml +2 -2
- package/src/deepscientist/__init__.py +1 -1
- package/src/deepscientist/acp/envelope.py +1 -0
- package/src/deepscientist/artifact/metrics.py +814 -83
- package/src/deepscientist/artifact/schemas.py +1 -0
- package/src/deepscientist/artifact/service.py +2001 -229
- package/src/deepscientist/bash_exec/monitor.py +1 -1
- package/src/deepscientist/bash_exec/service.py +17 -9
- package/src/deepscientist/channels/qq.py +17 -0
- package/src/deepscientist/channels/relay.py +16 -0
- package/src/deepscientist/config/models.py +6 -0
- package/src/deepscientist/config/service.py +70 -2
- package/src/deepscientist/daemon/api/handlers.py +414 -14
- package/src/deepscientist/daemon/api/router.py +4 -0
- package/src/deepscientist/daemon/app.py +292 -21
- package/src/deepscientist/gitops/diff.py +6 -10
- package/src/deepscientist/mcp/server.py +191 -40
- package/src/deepscientist/prompts/builder.py +65 -19
- package/src/deepscientist/quest/node_traces.py +129 -2
- package/src/deepscientist/quest/service.py +140 -34
- package/src/deepscientist/quest/stage_views.py +175 -33
- package/src/deepscientist/registries/baseline.py +56 -4
- package/src/deepscientist/runners/codex.py +1 -1
- package/src/prompts/connectors/qq.md +1 -1
- package/src/prompts/contracts/shared_interaction.md +14 -0
- package/src/prompts/system.md +113 -32
- package/src/skills/analysis-campaign/SKILL.md +10 -14
- package/src/skills/baseline/SKILL.md +51 -38
- package/src/skills/baseline/references/baseline-plan-template.md +2 -0
- package/src/skills/decision/SKILL.md +12 -8
- package/src/skills/experiment/SKILL.md +28 -16
- package/src/skills/experiment/references/main-experiment-plan-template.md +2 -0
- package/src/skills/figure-polish/SKILL.md +1 -0
- package/src/skills/finalize/SKILL.md +3 -8
- package/src/skills/idea/SKILL.md +18 -8
- package/src/skills/idea/references/literature-survey-template.md +24 -0
- package/src/skills/idea/references/related-work-playbook.md +4 -0
- package/src/skills/idea/references/selection-gate.md +9 -0
- package/src/skills/intake-audit/SKILL.md +2 -8
- package/src/skills/rebuttal/SKILL.md +2 -8
- package/src/skills/review/SKILL.md +2 -8
- package/src/skills/scout/SKILL.md +2 -8
- package/src/skills/write/SKILL.md +53 -17
- package/src/skills/write/templates/DEEPSCIENTIST_NOTES.md +21 -0
- package/src/skills/write/templates/README.md +408 -0
- package/src/skills/write/templates/UPSTREAM_LICENSE.txt +21 -0
- package/src/skills/write/templates/aaai2026/README.md +534 -0
- package/src/skills/write/templates/aaai2026/aaai2026-unified-supp.tex +144 -0
- package/src/skills/write/templates/aaai2026/aaai2026-unified-template.tex +952 -0
- package/src/skills/write/templates/aaai2026/aaai2026.bib +111 -0
- package/src/skills/write/templates/aaai2026/aaai2026.bst +1493 -0
- package/src/skills/write/templates/aaai2026/aaai2026.sty +315 -0
- package/src/skills/write/templates/acl/README.md +50 -0
- package/src/skills/write/templates/acl/acl.sty +312 -0
- package/src/skills/write/templates/acl/acl_latex.tex +377 -0
- package/src/skills/write/templates/acl/acl_lualatex.tex +101 -0
- package/src/skills/write/templates/acl/acl_natbib.bst +1940 -0
- package/src/skills/write/templates/acl/anthology.bib.txt +26 -0
- package/src/skills/write/templates/acl/custom.bib +70 -0
- package/src/skills/write/templates/acl/formatting.md +326 -0
- package/src/skills/write/templates/asplos2027/main.tex +459 -0
- package/src/skills/write/templates/asplos2027/references.bib +135 -0
- package/src/skills/write/templates/colm2025/README.md +3 -0
- package/src/skills/write/templates/colm2025/colm2025_conference.bib +11 -0
- package/src/skills/write/templates/colm2025/colm2025_conference.bst +1440 -0
- package/src/skills/write/templates/colm2025/colm2025_conference.sty +218 -0
- package/src/skills/write/templates/colm2025/colm2025_conference.tex +305 -0
- package/src/skills/write/templates/colm2025/fancyhdr.sty +485 -0
- package/src/skills/write/templates/colm2025/math_commands.tex +508 -0
- package/src/skills/write/templates/colm2025/natbib.sty +1246 -0
- package/src/skills/write/templates/iclr2026/fancyhdr.sty +485 -0
- package/src/skills/write/templates/iclr2026/iclr2026_conference.bib +24 -0
- package/src/skills/write/templates/iclr2026/iclr2026_conference.bst +1440 -0
- package/src/skills/write/templates/iclr2026/iclr2026_conference.sty +246 -0
- package/src/skills/write/templates/iclr2026/iclr2026_conference.tex +414 -0
- package/src/skills/write/templates/iclr2026/math_commands.tex +508 -0
- package/src/skills/write/templates/iclr2026/natbib.sty +1246 -0
- package/src/skills/write/templates/icml2026/algorithm.sty +79 -0
- package/src/skills/write/templates/icml2026/algorithmic.sty +201 -0
- package/src/skills/write/templates/icml2026/example_paper.bib +75 -0
- package/src/skills/write/templates/icml2026/example_paper.tex +662 -0
- package/src/skills/write/templates/icml2026/fancyhdr.sty +864 -0
- package/src/skills/write/templates/icml2026/icml2026.bst +1443 -0
- package/src/skills/write/templates/icml2026/icml2026.sty +767 -0
- package/src/skills/write/templates/neurips2025/Makefile +36 -0
- package/src/skills/write/templates/neurips2025/extra_pkgs.tex +53 -0
- package/src/skills/write/templates/neurips2025/main.tex +38 -0
- package/src/skills/write/templates/neurips2025/neurips.sty +382 -0
- package/src/skills/write/templates/nsdi2027/main.tex +426 -0
- package/src/skills/write/templates/nsdi2027/references.bib +151 -0
- package/src/skills/write/templates/nsdi2027/usenix-2020-09.sty +83 -0
- package/src/skills/write/templates/osdi2026/main.tex +429 -0
- package/src/skills/write/templates/osdi2026/references.bib +150 -0
- package/src/skills/write/templates/osdi2026/usenix-2020-09.sty +83 -0
- package/src/skills/write/templates/sosp2026/main.tex +532 -0
- package/src/skills/write/templates/sosp2026/references.bib +148 -0
- package/src/tui/package.json +1 -1
- package/src/ui/dist/assets/{AiManusChatView-BS3V4ZOk.js → AiManusChatView-BKZ103sn.js} +110 -14
- package/src/ui/dist/assets/{AnalysisPlugin-DLPXQsmr.js → AnalysisPlugin-mTTzGAlK.js} +1 -1
- package/src/ui/dist/assets/{AutoFigurePlugin-C-Fr9knQ.js → AutoFigurePlugin-C_wWw4AP.js} +5 -5
- package/src/ui/dist/assets/{CliPlugin-Dd8AHzFg.js → CliPlugin-BH58n3GY.js} +9 -9
- package/src/ui/dist/assets/{CodeEditorPlugin-Dg-RepTl.js → CodeEditorPlugin-BKGRUH7e.js} +8 -8
- package/src/ui/dist/assets/{CodeViewerPlugin-D2J_3nyt.js → CodeViewerPlugin-BMADwFWJ.js} +5 -5
- package/src/ui/dist/assets/{DocViewerPlugin-ChRLLKNb.js → DocViewerPlugin-ZOnTIHLN.js} +3 -3
- package/src/ui/dist/assets/{GitDiffViewerPlugin-DgHfcved.js → GitDiffViewerPlugin-CQ7h1Djm.js} +830 -86
- package/src/ui/dist/assets/{ImageViewerPlugin-C89GZMBy.js → ImageViewerPlugin-GVS5MsnC.js} +5 -5
- package/src/ui/dist/assets/{LabCopilotPanel-BUfIwUcb.js → LabCopilotPanel-BZNv1JML.js} +10 -10
- package/src/ui/dist/assets/{LabPlugin-zvUmQUMq.js → LabPlugin-TWcJsdQA.js} +1 -1
- package/src/ui/dist/assets/{LatexPlugin-C1SSNuWp.js → LatexPlugin-DIjHiR2x.js} +7 -7
- package/src/ui/dist/assets/{MarkdownViewerPlugin-D2Mf5tU5.js → MarkdownViewerPlugin-D3ooGAH0.js} +4 -4
- package/src/ui/dist/assets/{MarketplacePlugin-CF4LgiS2.js → MarketplacePlugin-DfVfE9hN.js} +3 -3
- package/src/ui/dist/assets/{NotebookEditor-BM7Bgwlv.js → NotebookEditor-DDl0_Mc0.js} +1 -1
- package/src/ui/dist/assets/{index-Be0NAmh8.js → NotebookEditor-s8JhzuX1.js} +12 -155
- package/src/ui/dist/assets/{PdfLoader-Bc5qfD-Z.js → PdfLoader-C2Sf6SJM.js} +1 -1
- package/src/ui/dist/assets/{PdfMarkdownPlugin-sh1-IRcp.js → PdfMarkdownPlugin-CXFLoIsa.js} +3 -3
- package/src/ui/dist/assets/{PdfViewerPlugin-C_a7CpWG.js → PdfViewerPlugin-BYTmz2fK.js} +10 -10
- package/src/ui/dist/assets/{SearchPlugin-L4z3HcLf.js → SearchPlugin-CjWBI1O9.js} +1 -1
- package/src/ui/dist/assets/{Stepper-Dk4aQ3fN.js → Stepper-B0Dd8CxK.js} +1 -1
- package/src/ui/dist/assets/{TextViewerPlugin-BsNtlKVo.js → TextViewerPlugin-DdOBU3-S.js} +4 -4
- package/src/ui/dist/assets/{VNCViewer-BpeDcZ5_.js → VNCViewer-B8HGgLwQ.js} +9 -9
- package/src/ui/dist/assets/{bibtex-C4QI-bbj.js → bibtex-CKaefIN2.js} +1 -1
- package/src/ui/dist/assets/{code-DuMINRsg.js → code-BWAY76JP.js} +1 -1
- package/src/ui/dist/assets/{file-content-C3N-432K.js → file-content-C1NwU5oQ.js} +1 -1
- package/src/ui/dist/assets/{file-diff-panel-CffQ4ZMg.js → file-diff-panel-CywslwB9.js} +1 -1
- package/src/ui/dist/assets/{file-socket-CRH59PCO.js → file-socket-B4kzuOBQ.js} +1 -1
- package/src/ui/dist/assets/{file-utils-vYGtW2mI.js → file-utils-H2fjA46S.js} +1 -1
- package/src/ui/dist/assets/{image-DBVGaooo.js → image-D-NZM-6P.js} +1 -1
- package/src/ui/dist/assets/{index-B1P6hQRJ.js → index-7Chr1g9c.js} +3734 -1862
- package/src/ui/dist/assets/{index-DjSFDmgB.js → index-BdM1Gqfr.js} +2 -2
- package/src/ui/dist/assets/{index-BpjYH9Vg.js → index-CDxNdQdz.js} +1 -1
- package/src/ui/dist/assets/{index-Do9N28uB.css → index-DGIYDuTv.css} +163 -34
- package/src/ui/dist/assets/index-DHZJ_0TI.js +159 -0
- package/src/ui/dist/assets/{message-square-BsPDBhiY.js → message-square-BzjLiXir.js} +1 -1
- package/src/ui/dist/assets/{monaco-BTkdPojV.js → monaco-Cb2uKKe6.js} +1 -1
- package/src/ui/dist/assets/{popover-cWjCk-vc.js → popover-Bg72DGgT.js} +1 -1
- package/src/ui/dist/assets/{project-sync-CXn530xb.js → project-sync-Ce_0BglY.js} +1 -1
- package/src/ui/dist/assets/{sigma-04Jr12jg.js → sigma-DPaACDrh.js} +1 -1
- package/src/ui/dist/assets/{tooltip-BdVDl0G5.js → tooltip-C_mA6R0w.js} +1 -1
- package/src/ui/dist/assets/{trash-CB_GlQyC.js → trash-BvTgE5__.js} +1 -1
- package/src/ui/dist/assets/{useCliAccess-BL932NwS.js → useCliAccess-CgPeMOwP.js} +1 -1
- package/src/ui/dist/assets/{useFileDiffOverlay-B2WK7Tvq.js → useFileDiffOverlay-xPhz7P5B.js} +1 -1
- package/src/ui/dist/assets/{wrap-text-YC68g12z.js → wrap-text-C3Un3YQr.js} +1 -1
- package/src/ui/dist/assets/{zoom-out-C0RJvFiJ.js → zoom-out-BgxLa0Ri.js} +1 -1
- package/src/ui/dist/index.html +5 -2
- /package/src/ui/dist/assets/{index-CccQYZjX.css → NotebookEditor-CccQYZjX.css} +0 -0
|
@@ -209,7 +209,44 @@ Example:
|
|
|
209
209
|
Do not replace an experiment artifact with a memory card.
|
|
210
210
|
Do not replace a reusable lesson with a progress artifact.
|
|
211
211
|
|
|
212
|
-
## 4.
|
|
212
|
+
## 4. Artifact metric-contract rules
|
|
213
|
+
|
|
214
|
+
Use `artifact` as the authoritative submission surface for baseline and main-experiment metrics.
|
|
215
|
+
|
|
216
|
+
### `artifact.confirm_baseline(...)`
|
|
217
|
+
|
|
218
|
+
For a confirmed baseline:
|
|
219
|
+
|
|
220
|
+
- the canonical metric contract should live in `<baseline_root>/json/metric_contract.json`
|
|
221
|
+
- the canonical `metrics_summary` should be a flat top-level dictionary keyed by the paper-facing metric ids
|
|
222
|
+
- if the raw evaluator output is nested, map each required canonical metric through explicit `origin_path` fields inside `metric_contract.metrics`
|
|
223
|
+
- every canonical baseline metric entry should explain where the number came from:
|
|
224
|
+
- `description`
|
|
225
|
+
- either `derivation` or `origin_path`
|
|
226
|
+
- `source_ref`
|
|
227
|
+
- keep `primary_metric` as the headline metric only; do not use it to erase the rest of the accepted paper-facing comparison surface
|
|
228
|
+
|
|
229
|
+
### `artifact.record_main_experiment(...)`
|
|
230
|
+
|
|
231
|
+
For a main experiment recorded against a confirmed baseline:
|
|
232
|
+
|
|
233
|
+
- use the confirmed baseline metric-contract JSON as the canonical comparison contract
|
|
234
|
+
- report every required baseline metric id in the main experiment submission
|
|
235
|
+
- extra metrics are allowed, but missing required baseline metrics are not
|
|
236
|
+
- keep the original evaluation code and metric definitions for the canonical baseline metrics
|
|
237
|
+
- if an extra evaluator is genuinely necessary, record it as supplementary evidence instead of replacing the canonical comparator
|
|
238
|
+
|
|
239
|
+
### Validation and temporary notes
|
|
240
|
+
|
|
241
|
+
- when the MCP tool runs strict validation, contract failures return structured error payloads such as:
|
|
242
|
+
- `missing_metric_ids`
|
|
243
|
+
- `baseline_metric_ids`
|
|
244
|
+
- `baseline_metric_details`
|
|
245
|
+
- `evaluation_protocol_mismatch`
|
|
246
|
+
- `Result/metric.md` may be used as temporary scratch memory while working, but it is optional and not authoritative
|
|
247
|
+
- if `Result/metric.md` exists, reconcile it against the final baseline or main-experiment submission before calling the artifact tool
|
|
248
|
+
|
|
249
|
+
## 5. Bash exec usage
|
|
213
250
|
|
|
214
251
|
Use `bash_exec` for monitored commands:
|
|
215
252
|
|
|
@@ -226,7 +263,7 @@ bash_exec.bash_exec(mode="read", id="<bash_id>")
|
|
|
226
263
|
|
|
227
264
|
Use `kill` only when the quest truly needs to stop the session.
|
|
228
265
|
|
|
229
|
-
##
|
|
266
|
+
## 6. Prompt-level expectations
|
|
230
267
|
|
|
231
268
|
The agent should normally follow this discipline:
|
|
232
269
|
|
|
@@ -237,7 +274,7 @@ The agent should normally follow this discipline:
|
|
|
237
274
|
5. `bash_exec` for durable shell work
|
|
238
275
|
6. `memory.write(...)` only after a real durable finding appears
|
|
239
276
|
|
|
240
|
-
##
|
|
277
|
+
## 7. UI expectation
|
|
241
278
|
|
|
242
279
|
In `/projects/{id}` Studio trace:
|
|
243
280
|
|
|
@@ -11,6 +11,7 @@ We especially thank the following projects for their ideas, research direction,
|
|
|
11
11
|
- AlphaEvolve
|
|
12
12
|
- OpenEvolve
|
|
13
13
|
- EvoScientist
|
|
14
|
+
- Orchestra-Research
|
|
14
15
|
- Orchestra-Research/AI-Research-SKILLs
|
|
15
16
|
|
|
16
17
|
These projects have been important references for thinking about automated research, open-ended exploration, evolutionary search, experiment organization, and long-horizon research agents.
|
|
@@ -39,13 +39,13 @@ DeepScientist 现在使用 `uv` 管理锁定的本地 Python 运行时。如果
|
|
|
39
39
|
|
|
40
40
|
默认情况下,DeepScientist home 在 macOS / Linux 上是 `~/DeepScientist`,在 Windows 上是 `%USERPROFILE%\\DeepScientist`。如果你希望放到别的路径,可以直接使用 `ds --home <path>`。
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
如果你希望把 DeepScientist home 放到当前工作目录下的 `./DeepScientist` 中,可以运行:
|
|
43
43
|
|
|
44
44
|
```bash
|
|
45
45
|
ds --here
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
-
它等价于 `ds --home "$PWD"`。
|
|
48
|
+
它等价于 `ds --home "$PWD/DeepScientist"`。
|
|
49
49
|
|
|
50
50
|
如果你是从源码仓库安装,并希望把默认的 CLI 安装基路径改到别的位置,可以使用:
|
|
51
51
|
|
|
@@ -192,7 +192,44 @@ updated_at: 2026-03-11T18:00:00+00:00
|
|
|
192
192
|
不要用 memory 代替实验 artifact。
|
|
193
193
|
不要用 artifact 代替可复用知识卡。
|
|
194
194
|
|
|
195
|
-
## 4.
|
|
195
|
+
## 4. Artifact 指标契约规则
|
|
196
|
+
|
|
197
|
+
baseline 与主实验的正式指标提交,应以 `artifact` 为唯一权威入口。
|
|
198
|
+
|
|
199
|
+
### `artifact.confirm_baseline(...)`
|
|
200
|
+
|
|
201
|
+
对于已确认的 baseline:
|
|
202
|
+
|
|
203
|
+
- canonical metric contract 应保存在 `<baseline_root>/json/metric_contract.json`
|
|
204
|
+
- canonical `metrics_summary` 应是顶层扁平字典,key 直接使用论文面对比时的 metric id
|
|
205
|
+
- 如果原始评测输出是嵌套结构,应在 `metric_contract.metrics` 中为每个必需 canonical metric 提供显式 `origin_path`,而不是直接提交嵌套 blob
|
|
206
|
+
- 每个 canonical baseline metric 都应说明数值来源,至少包含:
|
|
207
|
+
- `description`
|
|
208
|
+
- `derivation` 或 `origin_path`
|
|
209
|
+
- `source_ref`
|
|
210
|
+
- `primary_metric` 只是 headline metric,不能借此删掉其他论文面对比所需指标
|
|
211
|
+
|
|
212
|
+
### `artifact.record_main_experiment(...)`
|
|
213
|
+
|
|
214
|
+
对于基于已确认 baseline 的主实验:
|
|
215
|
+
|
|
216
|
+
- 默认以已确认 baseline 的 metric-contract JSON 作为 canonical comparison contract
|
|
217
|
+
- 主实验提交时必须覆盖 baseline 的全部必需 metric id
|
|
218
|
+
- 可以多报额外指标,但不能缺少 baseline 的必需指标
|
|
219
|
+
- canonical baseline metrics 应继续使用原有评测代码和指标定义
|
|
220
|
+
- 如果确实需要额外评测器,应把它作为 supplementary evidence 记录,而不是替换 canonical comparator
|
|
221
|
+
|
|
222
|
+
### 校验失败与临时记录
|
|
223
|
+
|
|
224
|
+
- 当 MCP 工具开启严格校验时,失败会返回结构化错误字段,例如:
|
|
225
|
+
- `missing_metric_ids`
|
|
226
|
+
- `baseline_metric_ids`
|
|
227
|
+
- `baseline_metric_details`
|
|
228
|
+
- `evaluation_protocol_mismatch`
|
|
229
|
+
- `Result/metric.md` 只可作为工作过程中的临时草稿/记忆文件,不是必需文件,也不是权威来源
|
|
230
|
+
- 如果存在 `Result/metric.md`,请在调用 artifact 提交前用它核对最终 baseline 或主实验提交内容,避免遗漏或写错
|
|
231
|
+
|
|
232
|
+
## 5. Bash exec 的基本用法
|
|
196
233
|
|
|
197
234
|
用于可监控命令:
|
|
198
235
|
|
|
@@ -209,7 +246,7 @@ bash_exec.bash_exec(mode="read", id="<bash_id>")
|
|
|
209
246
|
|
|
210
247
|
只有在确实需要停止时才使用 `kill`。
|
|
211
248
|
|
|
212
|
-
##
|
|
249
|
+
## 6. Prompt 级纪律(建议)
|
|
213
250
|
|
|
214
251
|
通常推荐遵循:
|
|
215
252
|
|
|
@@ -220,7 +257,7 @@ bash_exec.bash_exec(mode="read", id="<bash_id>")
|
|
|
220
257
|
5. 长任务 shell 用 `bash_exec`
|
|
221
258
|
6. 有真正的可复用发现才 `memory.write(...)`
|
|
222
259
|
|
|
223
|
-
##
|
|
260
|
+
## 7. UI 期望
|
|
224
261
|
|
|
225
262
|
在 `/projects/{id}` 的 Studio trace 中:
|
|
226
263
|
|
package/install.sh
CHANGED
|
@@ -421,6 +421,40 @@ write_global_wrapper() {
|
|
|
421
421
|
cat >"$target_path" <<EOF
|
|
422
422
|
#!/usr/bin/env bash
|
|
423
423
|
set -euo pipefail
|
|
424
|
+
WRAPPER_PATH="\${BASH_SOURCE[0]}"
|
|
425
|
+
WRAPPER_DIR="\$(cd "\$(dirname "\$WRAPPER_PATH")" && pwd)"
|
|
426
|
+
PREFERRED_COMMAND="$command_name"
|
|
427
|
+
LOOKUP_PATH=""
|
|
428
|
+
OLD_IFS="\$IFS"
|
|
429
|
+
IFS=:
|
|
430
|
+
for ENTRY in \$PATH; do
|
|
431
|
+
if [ -z "\$ENTRY" ]; then
|
|
432
|
+
continue
|
|
433
|
+
fi
|
|
434
|
+
ENTRY_REAL="\$ENTRY"
|
|
435
|
+
if ENTRY_CANONICAL="\$(cd "\$ENTRY" 2>/dev/null && pwd)"; then
|
|
436
|
+
ENTRY_REAL="\$ENTRY_CANONICAL"
|
|
437
|
+
fi
|
|
438
|
+
if [ "\$ENTRY_REAL" = "\$WRAPPER_DIR" ]; then
|
|
439
|
+
continue
|
|
440
|
+
fi
|
|
441
|
+
if [ -z "\$LOOKUP_PATH" ]; then
|
|
442
|
+
LOOKUP_PATH="\$ENTRY"
|
|
443
|
+
else
|
|
444
|
+
LOOKUP_PATH="\$LOOKUP_PATH:\$ENTRY"
|
|
445
|
+
fi
|
|
446
|
+
done
|
|
447
|
+
IFS="\$OLD_IFS"
|
|
448
|
+
if [ -n "\$LOOKUP_PATH" ]; then
|
|
449
|
+
if RESOLVED_LAUNCHER="\$(PATH="\$LOOKUP_PATH" command -v "\$PREFERRED_COMMAND" 2>/dev/null)"; then
|
|
450
|
+
if [ -n "\$RESOLVED_LAUNCHER" ] && [ "\$RESOLVED_LAUNCHER" != "\$WRAPPER_PATH" ]; then
|
|
451
|
+
if [ -z "\${DEEPSCIENTIST_HOME:-}" ]; then
|
|
452
|
+
export DEEPSCIENTIST_HOME="$BASE_DIR"
|
|
453
|
+
fi
|
|
454
|
+
exec "\$RESOLVED_LAUNCHER" "\$@"
|
|
455
|
+
fi
|
|
456
|
+
fi
|
|
457
|
+
fi
|
|
424
458
|
if [ -z "\${DEEPSCIENTIST_HOME:-}" ]; then
|
|
425
459
|
export DEEPSCIENTIST_HOME="$BASE_DIR"
|
|
426
460
|
fi
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@researai/deepscientist",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.9",
|
|
4
4
|
"description": "Local-first research operating system with a Python runtime and npm launcher",
|
|
5
|
-
"license": "
|
|
5
|
+
"license": "Apache-2.0",
|
|
6
6
|
"files": [
|
|
7
7
|
"AGENTS.md",
|
|
8
8
|
"README.md",
|
package/pyproject.toml
CHANGED
|
@@ -4,11 +4,11 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "deepscientist"
|
|
7
|
-
version = "1.5.
|
|
7
|
+
version = "1.5.9"
|
|
8
8
|
description = "DeepScientist Core skeleton"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11"
|
|
11
|
-
license = { text = "
|
|
11
|
+
license = { text = "Apache-2.0" }
|
|
12
12
|
authors = [
|
|
13
13
|
{ name = "OpenAI Codex" }
|
|
14
14
|
]
|
|
@@ -85,6 +85,7 @@ def build_session_descriptor(
|
|
|
85
85
|
"mcp_servers": [
|
|
86
86
|
{"name": "memory", "transport": "stdio", "scope": "quest-local"},
|
|
87
87
|
{"name": "artifact", "transport": "stdio", "scope": "quest-local"},
|
|
88
|
+
{"name": "bash_exec", "transport": "stdio", "scope": "quest-local"},
|
|
88
89
|
],
|
|
89
90
|
"slash_commands": build_slash_commands(quest_id),
|
|
90
91
|
"meta": {
|