@researai/deepscientist 1.5.6 → 1.5.8
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 +32 -0
- package/bin/ds.js +274 -18
- package/docs/en/07_MEMORY_AND_MCP.md +40 -3
- package/docs/en/99_ACKNOWLEDGEMENTS.md +1 -0
- 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 +1 -1
- package/pyproject.toml +1 -1
- package/src/deepscientist/__init__.py +1 -1
- package/src/deepscientist/acp/envelope.py +1 -0
- package/src/deepscientist/artifact/metrics.py +813 -80
- package/src/deepscientist/artifact/schemas.py +1 -0
- package/src/deepscientist/artifact/service.py +1101 -99
- 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/cli.py +1 -1
- package/src/deepscientist/config/models.py +12 -6
- package/src/deepscientist/config/service.py +75 -2
- package/src/deepscientist/connector_profiles.py +34 -6
- package/src/deepscientist/daemon/api/handlers.py +290 -15
- package/src/deepscientist/daemon/api/router.py +2 -0
- package/src/deepscientist/daemon/app.py +521 -23
- package/src/deepscientist/gitops/diff.py +6 -10
- package/src/deepscientist/mcp/server.py +188 -39
- package/src/deepscientist/prompts/builder.py +71 -22
- package/src/deepscientist/qq_profiles.py +19 -9
- package/src/deepscientist/quest/layout.py +1 -0
- package/src/deepscientist/quest/service.py +83 -34
- package/src/deepscientist/quest/stage_views.py +74 -29
- package/src/deepscientist/runners/codex.py +32 -14
- package/src/deepscientist/runners/runtime_overrides.py +46 -0
- package/src/deepscientist/skills/installer.py +7 -0
- package/src/prompts/connectors/qq.md +1 -1
- package/src/prompts/contracts/shared_interaction.md +14 -0
- package/src/prompts/system.md +134 -30
- package/src/skills/analysis-campaign/SKILL.md +34 -8
- package/src/skills/analysis-campaign/references/campaign-checklist-template.md +41 -0
- package/src/skills/analysis-campaign/references/campaign-plan-template.md +68 -0
- package/src/skills/baseline/SKILL.md +145 -32
- package/src/skills/baseline/references/baseline-checklist-template.md +57 -0
- package/src/skills/baseline/references/baseline-plan-template.md +105 -0
- package/src/skills/decision/SKILL.md +12 -8
- package/src/skills/experiment/SKILL.md +51 -9
- package/src/skills/experiment/references/main-experiment-checklist-template.md +52 -0
- package/src/skills/experiment/references/main-experiment-plan-template.md +79 -0
- package/src/skills/figure-polish/SKILL.md +1 -0
- package/src/skills/finalize/SKILL.md +3 -8
- package/src/skills/idea/SKILL.md +2 -8
- 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 +52 -16
- 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-BGLArZRn.js → AiManusChatView-m2FNtwbn.js} +110 -14
- package/src/ui/dist/assets/{AnalysisPlugin-BgDGSigG.js → AnalysisPlugin-BMTF8EGL.js} +1 -1
- package/src/ui/dist/assets/{AutoFigurePlugin-B65HD7L4.js → AutoFigurePlugin-DxPdMUNb.js} +5 -5
- package/src/ui/dist/assets/{CliPlugin-CUqgsFHC.js → CliPlugin-BEOWgxCI.js} +9 -9
- package/src/ui/dist/assets/{CodeEditorPlugin-CF5EdvaS.js → CodeEditorPlugin-BCXvjqmb.js} +8 -8
- package/src/ui/dist/assets/{CodeViewerPlugin-DEeU063D.js → CodeViewerPlugin-DaJcy3nD.js} +5 -5
- package/src/ui/dist/assets/{DocViewerPlugin-Df-FuDlZ.js → DocViewerPlugin-ByfeIq4K.js} +3 -3
- package/src/ui/dist/assets/{GitDiffViewerPlugin-RAnNaRxM.js → GitDiffViewerPlugin-Cksf3VZ-.js} +830 -86
- package/src/ui/dist/assets/{ImageViewerPlugin-DXJ0ZJGg.js → ImageViewerPlugin-CFz-OsTS.js} +5 -5
- package/src/ui/dist/assets/{LabCopilotPanel-BlO-sKsj.js → LabCopilotPanel-CJ1cJzoX.js} +10 -10
- package/src/ui/dist/assets/{LabPlugin-BajPZW5v.js → LabPlugin-BF3dVJwa.js} +1 -1
- package/src/ui/dist/assets/{LatexPlugin-F1OEol8D.js → LatexPlugin-DDkwZ6Sj.js} +7 -7
- package/src/ui/dist/assets/{MarkdownViewerPlugin-MhUupqwT.js → MarkdownViewerPlugin-HAuvurcT.js} +4 -4
- package/src/ui/dist/assets/{MarketplacePlugin-DxhIEsv0.js → MarketplacePlugin-BtoTYy2C.js} +3 -3
- package/src/ui/dist/assets/{index-B-2scqCJ.js → NotebookEditor-CSJYx7b-.js} +12 -155
- package/src/ui/dist/assets/{NotebookEditor-q7TkhewC.js → NotebookEditor-DQgRezm_.js} +1 -1
- package/src/ui/dist/assets/{PdfLoader-B8ZOTKFc.js → PdfLoader-DPa_-fv6.js} +1 -1
- package/src/ui/dist/assets/{PdfMarkdownPlugin-xFPvzvWh.js → PdfMarkdownPlugin-BZpXOEjm.js} +3 -3
- package/src/ui/dist/assets/{PdfViewerPlugin-EjEcsIB8.js → PdfViewerPlugin-BT8a6wGR.js} +10 -10
- package/src/ui/dist/assets/{SearchPlugin-ixY-1lgW.js → SearchPlugin-D_blveZi.js} +1 -1
- package/src/ui/dist/assets/{Stepper-gYFK2Pgz.js → Stepper-DH2k75Vo.js} +1 -1
- package/src/ui/dist/assets/{TextViewerPlugin-Cym6pv_n.js → TextViewerPlugin-Btx0M3hX.js} +4 -4
- package/src/ui/dist/assets/{VNCViewer-BPmIHcmK.js → VNCViewer-DImJO4rO.js} +9 -9
- package/src/ui/dist/assets/{bibtex-Btv6Wi7f.js → bibtex-B-Hqu0Sg.js} +1 -1
- package/src/ui/dist/assets/{code-BlG7g85c.js → code-BUfXGJSl.js} +1 -1
- package/src/ui/dist/assets/{file-content-DBT5OfTZ.js → file-content-VqamwI3X.js} +1 -1
- package/src/ui/dist/assets/{file-diff-panel-BWXYzqHk.js → file-diff-panel-C_wOoS7a.js} +1 -1
- package/src/ui/dist/assets/{file-socket-wDlx6byM.js → file-socket-D2bTuMVP.js} +1 -1
- package/src/ui/dist/assets/{file-utils-Ba3nJmH0.js → file-utils--zJCPN1i.js} +1 -1
- package/src/ui/dist/assets/{image-BwtCyguk.js → image-BZkGJ4mM.js} +1 -1
- package/src/ui/dist/assets/{index-CfRpE209.js → index-CxkvSeKw.js} +2 -2
- package/src/ui/dist/assets/{index-DcqvKzeJ.js → index-D9QIGcmc.js} +1 -1
- package/src/ui/dist/assets/{index-DpMZw8aM.css → index-DXZ1daiJ.css} +163 -34
- package/src/ui/dist/assets/index-DdRW6RMJ.js +159 -0
- package/src/ui/dist/assets/{index-Bz5AaWL7.js → index-DjggJovS.js} +2948 -1565
- package/src/ui/dist/assets/{message-square-BnlyWVH0.js → message-square-FUIPIhU2.js} +1 -1
- package/src/ui/dist/assets/{monaco-CXe0pAVe.js → monaco-DHMc7kKM.js} +1 -1
- package/src/ui/dist/assets/{popover-BCHmVhHj.js → popover-B85oCgCS.js} +1 -1
- package/src/ui/dist/assets/{project-sync-Brk6kaOD.js → project-sync-DOMCcPac.js} +1 -1
- package/src/ui/dist/assets/{sigma-D72eSUep.js → sigma-BO2rQrl3.js} +1 -1
- package/src/ui/dist/assets/{tooltip-BMWd0dqX.js → tooltip-B1OspAkx.js} +1 -1
- package/src/ui/dist/assets/{trash-BIt_eWIS.js → trash-BsVEH_dV.js} +1 -1
- package/src/ui/dist/assets/{useCliAccess-N1hkTRrR.js → useCliAccess-b8L6JuZm.js} +1 -1
- package/src/ui/dist/assets/{useFileDiffOverlay-DPRPv6rv.js → useFileDiffOverlay-BY7uA9hV.js} +1 -1
- package/src/ui/dist/assets/{wrap-text-E5-UheyP.js → wrap-text-BwyVuUIK.js} +1 -1
- package/src/ui/dist/assets/{zoom-out-D4TR-ZZ_.js → zoom-out-RDpLugQP.js} +1 -1
- package/src/ui/dist/index.html +5 -2
- /package/src/ui/dist/assets/{index-CccQYZjX.css → NotebookEditor-CccQYZjX.css} +0 -0
|
@@ -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.
|
|
@@ -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
package/pyproject.toml
CHANGED
|
@@ -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": {
|