@delta-infra/cli 1.1.17 → 1.1.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/README.md +520 -506
  2. package/checksums.txt +5 -5
  3. package/package.json +3 -2
  4. package/scripts/install-wizard.js +688 -701
  5. package/scripts/install.js +442 -442
  6. package/scripts/run.js +65 -65
  7. package/skills/delta-protein/AGENTS.md +73 -0
  8. package/skills/delta-protein/SKILL.md +389 -0
  9. package/skills/delta-protein/agents/openai.yaml +4 -0
  10. package/skills/delta-protein/references/bfitter.md +64 -0
  11. package/skills/delta-protein/references/catapro_predict.md +63 -0
  12. package/skills/delta-protein/references/catpred_predict.md +65 -0
  13. package/skills/delta-protein/references/caver_tunnel_analyze.md +63 -0
  14. package/skills/delta-protein/references/consensus_mutation.md +61 -0
  15. package/skills/delta-protein/references/consurf_predict.md +67 -0
  16. package/skills/delta-protein/references/crop_sequence.md +69 -0
  17. package/skills/delta-protein/references/dock.md +82 -0
  18. package/skills/delta-protein/references/dock_score.md +70 -0
  19. package/skills/delta-protein/references/easifa_predict_active_site.md +70 -0
  20. package/skills/delta-protein/references/ephod_predict_mutation.md +66 -0
  21. package/skills/delta-protein/references/ephod_predict_protein.md +61 -0
  22. package/skills/delta-protein/references/esmfold2_predict.md +67 -0
  23. package/skills/delta-protein/references/evcouplings_mutation.md +64 -0
  24. package/skills/delta-protein/references/fasta_to_sequence.md +59 -0
  25. package/skills/delta-protein/references/foldseek.md +61 -0
  26. package/skills/delta-protein/references/generate_msa.md +61 -0
  27. package/skills/delta-protein/references/interpro_analyze.md +63 -0
  28. package/skills/delta-protein/references/mpnn_design_sequence.md +71 -0
  29. package/skills/delta-protein/references/multievolve.md +73 -0
  30. package/skills/delta-protein/references/pisa_query.md +70 -0
  31. package/skills/delta-protein/references/plip_analyze.md +65 -0
  32. package/skills/delta-protein/references/pocket_prediction.md +63 -0
  33. package/skills/delta-protein/references/protein_design.md +65 -0
  34. package/skills/delta-protein/references/protein_evolution.md +77 -0
  35. package/skills/delta-protein/references/protein_sol_predict_mutation.md +66 -0
  36. package/skills/delta-protein/references/protein_sol_predict_protein.md +61 -0
  37. package/skills/delta-protein/references/protenix.md +66 -0
  38. package/skills/delta-protein/references/protrek_search.md +90 -0
  39. package/skills/delta-protein/references/pubchem_search.md +68 -0
  40. package/skills/delta-protein/references/pubmed_search.md +79 -0
  41. package/skills/delta-protein/references/reap_design_primer.md +69 -0
  42. package/skills/delta-protein/references/rfd3_design.md +65 -0
  43. package/skills/delta-protein/references/structure_to_sequence.md +61 -0
  44. package/skills/delta-protein/references/summarize_result.md +68 -0
  45. package/skills/delta-protein/references/surface_charge.md +84 -0
  46. package/skills/delta-protein/references/uniprot_batch_query.md +63 -0
  47. package/skills/delta-protein/references/uniprot_query.md +64 -0
  48. package/skills/delta-protein/references/zero_shot_mutant_candidates.md +76 -0
  49. package/skills/delta-protein/scripts/gen_references.py +167 -0
  50. package/skills/delta-protein/scripts/output_metadata.json +275 -0
  51. package/skills/delta-sandbox/SKILL.md +388 -388
  52. package/skills/delta-sandbox/agents/openai.yaml +4 -4
  53. package/skills/delta-sandbox/references/commands.md +58 -58
  54. package/skills/delta-sandbox/references/lifecycle.md +100 -100
  55. package/skills/delta-sandbox/references/recipes.md +138 -138
  56. package/skills/delta-science/AGENTS.md +47 -47
  57. package/skills/delta-science/SKILL.md +227 -185
  58. package/skills/delta-science/agents/openai.yaml +4 -4
  59. package/skills/delta-science/references/antbo.md +105 -100
  60. package/skills/delta-science/references/delta-bo.md +92 -89
  61. package/skills/delta-science/references/gsasii.md +118 -116
  62. package/skills/delta-science/references/lammps.md +68 -66
  63. package/skills/delta-science/references/ldm-bo.md +132 -129
  64. package/skills/delta-science/references/materials-design.md +130 -118
  65. package/skills/delta-science/references/pubchem.md +128 -126
  66. package/skills/delta-science/references/pymatgen.md +69 -68
  67. package/skills/delta-science/references/qe.md +134 -125
  68. package/skills/delta-science/references/rdkit.md +141 -138
  69. package/skills/delta-science/references/strbo.md +95 -87
  70. package/skills/delta-science/references/synbo.md +201 -198
  71. package/skills/delta-science/references/xrd.md +619 -101
  72. package/skills/delta-science/scripts/catalog.py +92 -92
  73. package/skills/delta-science/scripts/generated_catalog.py +69 -69
  74. package/skills/delta-science/scripts/invoke.py +346 -346
  75. package/skills/delta-shared/SKILL.md +113 -111
  76. package/skills/delta-shared/agents/openai.yaml +4 -4
  77. package/skills/manifest.json +20 -19
@@ -1,185 +1,227 @@
1
- ---
2
- name: delta-science
3
- description: "公司在线 Science 能力的统一入口,所有调用都经 Delta CLI。凡是查询具体化合物/CID/SMILES/分子性质、批量 PubChem 与 RDKit 分子增强、计算分子描述符或相似度、解析晶体/CIF/空间群、云端 XRD 相识别与精修、材料表格建模与候选推荐、Quantum ESPRESSO/QE DFT、执行 LAMMPS、根据实验数据做贝叶斯优化、反应条件优化,以及任何 LDM/大发现模型、KRAS G12D 小分子生成优化、固定候选池/PDF2Dock 轨迹或抗体 CDRH3 优化任务,都必须使用本 Skill;不得调用旧 large-discovery-model Skill、旧 gateway 脚本、网页搜索或本地科学库绕过 Delta CLI。普通查询、比较或校验默认直接返回文本,不要主动增加 JSON/CSV、报告、图片或图表步骤;只有用户明确要求保存、导出、绘图或生成文件时才创建产物。"
4
- metadata:
5
- requires:
6
- bins: ["delta-cli"]
7
- cliHelp: "delta-cli science --help"
8
- ---
9
-
10
- # Delta Science
11
-
12
- 把自然语言科研任务转换为最少数量、可验证的 Delta CLI Science 调用。只暴露本
13
- Skill;工具选择、operation、参数、跨工具交接和结果校验都在本 Skill 内完成。
14
-
15
- ## 服务调用边界
16
-
17
- - 所有在线 Science 操作最终都经 Delta CLI:只读/JSON 兼容端点使用
18
- `delta-cli science invoke`,需要持久化生命周期的调用使用
19
- `delta-cli science task`,原始文件或 multipart 使用 `delta-cli science file`。
20
- - 使用 CLI 的标准认证与 `base_url` 派生出的 Science 服务地址(`{base_url}/science_tool`)。
21
- 不得通过环境变量、命令参数或业务 URL 改写服务路由。
22
- - 禁止使用 `curl`、`requests`、`httpx`、浏览器和 PowerShell Web 命令直接访问公司网关或
23
- 业务服务 URL。
24
- - 不得将本地 RDKit、pymatgen、LAMMPS、BO、回归或 sandbox 结果冒充为 Science 结果。
25
- 本地工具可用于格式转换、文件解析或展示,但必须明确其来源,并与 CLI 结果分开。
26
- - 执行前读取对应 reference,并按其选择 operation 和请求字段;reference 缺失、过期或与
27
- 当前目录不一致时,可查询实时目录。禁止凭记忆创造字段或枚举值。
28
- - `tools.name` 和 `tool_endpoints.name` 是唯一权威调用名称。传给 CLI 的 tool 和
29
- endpoint 必须与当前数据库目录完全一致;CLI 不做别名映射、前缀裁剪、
30
- profile 判断或 `not_found` 后改名重试。reference 与目录不一致时终止并报告配置问题。
31
- - 只有 CLI 子进程退出码为 0 且输出 JSON 顶层 `ok` 为 `true` 时,才能报告调用成功。
32
- CLI 顶层 `data` 保存服务响应;仅按对应 reference 说明的信封和业务结构读取字段,
33
- 不得递归搜索看似合理的值,也不得把 `valid:false` 等业务结果误报为传输失败。
34
-
35
- JSON 兼容端点调用模板:
36
-
37
- ```text
38
- delta-cli science invoke --tool TOOL --endpoint ENDPOINT \
39
- [--data JSON] [--params JSON] [--path-params JSON] [--headers JSON]
40
- ```
41
-
42
- 工具代理端点如果声明了路径参数、额外上游请求头或文件字段,分别使用
43
- `--path-params JSON`、`--headers JSON`、`--file PATH`(或
44
- `--file-base64 BASE64`)和可选的 `--content-type MIME`。`--params` 只表示 URL
45
- 查询参数,不能代替 `--path-params`。这些字段会作为 `/api/v1/tools/invoke` 的请求体
46
- 字段转发;`science file invoke` 是另一条面向 QE/Materials Design 文件操作的接口,
47
- 不能用来替代工具代理端点的文件上传。
48
-
49
- 持久化任务模板:
50
-
51
- ```text
52
- delta-cli science task submit --tool TOOL --operation OPERATION \
53
- --input JSON --idempotency-key STABLE_KEY [--wait --timeout SECONDS]
54
- delta-cli science task get TASK_ID
55
- delta-cli science task cancel TASK_ID
56
- delta-cli science task invocations TASK_ID
57
- delta-cli science task artifacts TASK_ID
58
- ```
59
-
60
- 文件型操作模板:
61
-
62
- ```text
63
- delta-cli science file invoke --tool qe --endpoint artifact-upload \
64
- --file structure.cif --data '{"name":"structure.cif","role":"structure"}'
65
- delta-cli science file invoke --tool materials-design --endpoint job-submit \
66
- --file train.xlsx --candidate-file candidates.xlsx --data CONFIG_JSON
67
- delta-cli science file download --tool qe --endpoint artifact-content \
68
- --params '{"artifact_id":"sha256:<digest>"}' --output result.bin
69
- ```
70
-
71
- 仅当 reference 明确将字段定义为查询参数时使用 `--params JSON`。不要将 JSON 拼接为命令
72
- 代码;使用调用环境的安全参数传递机制传入单个 JSON 参数。
73
-
74
- Materials Design 的训练表 multipart 上传、QE 的原始 artifact/custom PP 上传和
75
- `Idempotency-Key` 都已有受控 CLI adapter:文件必须通过 `science file` 的文件 flag 传递,
76
- 幂等键必须通过 `science task submit --idempotency-key` 或 file operation 的专用 flag 传递。
77
- 不要把本地路径、base64 或请求头伪装成普通 `--data` 字段,也不要直连 preflight Gateway。
78
-
79
- 只调用完成目标所需的 operation。跨工具任务在同一个 Skill 执行中按依赖顺序调用,
80
- 下游只能使用上一步已验证的业务字段。已知工具默认不要额外调用 health、schema、
81
- catalog、render、descriptors 或文件操作;用户请求、诊断需要或 reference 与实时目录不一致时,
82
- 可执行最少的只读调用。
83
-
84
- ## 选择工具
85
-
86
- | 科研目标 | tool | 详细规则 |
87
- | --- | --- | --- |
88
- | 化合物身份、CID、同义词、公共属性、名称转 SMILES | `pubchem` | [pubchem.md](references/pubchem.md) |
89
- | SMILES/InChI、描述符、指纹、相似度、渲染、子结构 | `rdkit` | [rdkit.md](references/rdkit.md) |
90
- | 无机化学式、CIF/POSCAR、晶体结构、空间群 | `pymatgen` | [pymatgen.md](references/pymatgen.md) |
91
- | 云端 XRD 相识别、XQueryer/XMatcher/XDecomposer、CIF 模拟、MP500、artifact 与精修作业 | `xrd` | [xrd.md](references/xrd.md) |
92
- | 直接 GSAS-II 模拟或精修 | `gsasii` | [gsasii.md](references/gsasii.md) |
93
- | 分子动力学、最小化、thermo 与输出文件 | `lammps` | [lammps.md](references/lammps.md) |
94
- | 通用数值/整数/分类实验变量优化 | `delta-bo` | [delta-bo.md](references/delta-bo.md) |
95
- | 表格材料 surrogate、候选空间、EI/PI/UCB 与异步推荐作业 | `materials-design` | [materials-design.md](references/materials-design.md) |
96
- | Quantum ESPRESSO/QE 的 PP、异步 DFT 作业、日志与 artifact | `qe` | [qe.md](references/qe.md) |
97
- | 固定候选池 next-SMILES、PDF2Dock、分子 BO 轨迹 | `ldm-bo` | [ldm-bo.md](references/ldm-bo.md) |
98
- | KRAS G12D 小分子生成、vina/activity 多目标迭代 | `strbo` | [strbo.md](references/strbo.md) |
99
- | 反应条件初始化、基于真实得率推荐下一批实验 | `synbo` | [synbo.md](references/synbo.md) |
100
- | 抗体 CDRH3 生成/评估及 AntBO 作业管理 | `antbo` | [antbo.md](references/antbo.md) |
101
-
102
- 用户使用 “LDM”“大发现模型”“小分子药 LDM” 或 “抗体 LDM” 表述完整科研流程时,
103
- 先根据任务目标选择真实后端工具,再只读取所选后端对应的 reference;`ldm-bo` 是可调用的
104
- 工具,`LDM` 本身不是 `--tool` 参数。若用户说“批量分子增强”或类似需求,应拆成真实
105
- 工具调用:先用 `pubchem` 做名称/标识解析,再用 `rdkit` 做结构标准化或分子计算。
106
-
107
- 工具明确时直接读取所选 tool 的 reference,其中已经包含 operation、参数和最小场景;
108
- 不要读取其他工具文档。跨工具任务由本 Skill 的路由规则拆分,并只读取实际参与任务的
109
- 工具 reference;不要依赖单独的路由、服务、工作流或目录文档。
110
-
111
- 本表只列出已经维护真实工具 reference 的科研工具,不是静态服务端清单。若用户点名本表之外的新工具,或 reference
112
- 缺失、过期或与 CLI 返回不一致,允许运行 `delta-cli science list`,再使用目录返回的精确 tool name 运行一次
113
- `delta-cli science endpoints list <tool>`;两次输出都必须满足退出码为 0 且顶层
114
- `ok:true`。不得用空 body、错误参数、源码或直接 HTTP 探测。实时 endpoint
115
- 元数据若没有足够的请求字段契约,应说明“目录已发现,
116
- 但服务端未提供可安全构造请求的 schema”,不得猜 body、模糊匹配或转换名称。新增工具
117
- 因此无需修改 CLI;只有确认它是独立真实工具并需要自然语言自动选路或自动组装参数时,才补充对应的单工具 reference。
118
-
119
- ## 路由边界
120
-
121
- - 普通分子名称先用 PubChem;只有需要结构计算时才把成功返回的 SMILES 交给 RDKit。
122
- - 无机化学式、组成和式量优先 pymatgen,不用 PubChem 或本地元素表补算。
123
- - 云端粉末 XRD 相识别、峰匹配、相分解、CIF/MP500 操作和精修生命周期使用 `xrd`;
124
- 直接请求 GSAS-II 工具时才使用 `gsasii`。两者的 score、作业状态和后端语义不能混用。
125
- - 表格材料建模与候选排序使用 Materials Design;必须区分可控变量、目标、候选空间、
126
- 交叉验证和不确定性,推荐结果只是待验证假设。
127
- - 需要显式电子结构计算时使用 QE;先处理元素全集、PP policy/lock 和结构 artifact,
128
- 再提交异步 workflow,不把作业接收、scheduler 完成或 solver 收敛混为一谈。
129
- - 通用实验变量使用 Delta-BO;已有固定 SMILES 候选池或 PDF2Dock 轨迹使用 LDM-BO;
130
- 围绕服务端固定 KRAS G12D 生成并迭代小分子使用 STRBO;偶联反应、反应条件和历史
131
- 得率使用 SynBO;抗体/CDRH3 使用 AntBO,不得混用。
132
- - 在线 LDM、STRBO、AntBO 和 LDM-BO 任务不得转交旧 `large-discovery-model` Skill,
133
- 不得运行其 gateway 脚本或内置服务地址。离线演示不属于公司 Science 结果;只有用户
134
- 明确要求“不调用公司资源”时才能说明该边界,但本 Skill 仍不得运行旧 Skill。
135
- - GSAS-II 精修必须有真实粉末数据、仪器参数和 phase CIF。LAMMPS 必须有明确的
136
- input/data/force-field;禁止编造实验数据、CIF、力场、历史观测或优化结果。
137
-
138
- ## 安全、重试与产物
139
-
140
- - `run-default-job`、`run`、`stop` 等远程变更必须由用户明确授权。结果未知、超时或
141
- 断连时不得重试,因为远端操作可能已经发生。
142
- - 参数校验、空 recommendations 和业务后端失败均按本次失败结束。对 `health`、目录和其他
143
- 明确只读、幂等的 operation,网络类 502、504 或 timeout 可按相同参数最多重试一次。
144
- SynBO 每个用户任务最多一次业务调用;不得换模型、换 acquisition 或改用本地算法。
145
- - CLI 首次返回失败后应返回原始错误短摘要。用户明确要求排障时,可运行只读的
146
- `delta-cli auth status`、`delta-cli config show` 或 `delta-cli ... --help`;不得自行登录、
147
- 修改配置或环境变量、伪造 UID、令牌或 API Key,也不得改变 operation、参数或调用链重试。
148
- - `X-User-Uid`、登录、quota 或 permission 错误属于终止性认证错误;只转发原始错误和
149
- 登录提示。Skill 绝不自行登录、检查凭据、猜测用户标识或尝试绕过 quota。
150
- - 重型调用串行执行。客户端超时不代表远端计算已取消。
151
- - 用户未要求文件时不创建 CSV、图片或报告。内部交接文件只能写入当前
152
- `WORKSPACE_ROOT`,不得读取其他会话 workspace 或历史结果补全当前任务。
153
- - 外层规划器自动附加的路径、JSON、图表或报告不等同于用户明确要求。若任务本质只是
154
- 查询、比较或校验,直接返回最小文本结果;不得为了满足附加产物而重复 Science 调用。
155
- - 二进制产物只解码文档明确的字段;PNG 必须验证 magic bytes。
156
- - 用户明确要求公开背景资料或文献时,可进行网页检索,但不得将其作为 Science 服务调用或
157
- 用其替代 CLI 结果;分别标明来源。
158
-
159
- ## 输出
160
-
161
- 将当前 CLI `data` 中、由对应 reference 定义的业务响应投影为用户要求的最小结果;逐字保留字符串、数值、警告和来源。
162
- 不得补充服务未返回的单位、机制、引用、链接、预测值或记忆知识。预测结果不得
163
- 描述为实测结果。
164
- 成功取得最后一个所需业务结果后,直接将其投影为最终答复。禁止为了排序、排版、生成
165
- 表格或摘要再次执行 CLI,也禁止把结果手工复制成新的数据字面量;简单
166
- 筛选、比较和文本组织直接在最终答复中完成。
167
-
168
- 成功时只返回由当前 CLI 业务结果生成的有界纯文本;失败时只返回 CLI 原始错误短摘要。
169
- 完成后不得重新计算、改写或用手工建议替代成功/失败的 Science 结果。
170
-
171
- 每次成功结果保留:
172
-
173
- ```text
174
- 证据边界:仅限当前 Delta CLI `data` 中的业务结果
175
- 调用链:delta-cli
176
- 禁止补充未返回内容:是
177
- ```
178
-
179
- ## 完成标准
180
-
181
- - 每个在线操作都有 CLI 退出码为 0 且顶层 `ok:true` 的证据;
182
- - 每个科学数值来自当前调用 `data` 中、由 reference 定义的业务字段;
183
- - 下游输入来自当前任务中已验证的上游结果;
184
- - 失败准确归类为配置、CLI、参数、Science Server、业务服务或超时;
185
- - 没有直接 HTTP、本地科学库、跨会话文件或人工结果替代。
1
+ ---
2
+ name: delta-science
3
+ description: "The unified entry point for the company's online Science capabilities; all calls go through Delta CLI. Use this Skill for compound, CID, SMILES or molecular-property lookup; batch PubChem and RDKit enrichment; molecular descriptors or similarity; crystal, CIF or space-group parsing; cloud XRD phase identification or refinement; materials-table modelling or candidate recommendations; Quantum ESPRESSO/QE DFT; LAMMPS; Bayesian optimisation from experimental data; reaction-condition optimisation; and any LDM/discovery-model, KRAS G12D small-molecule generation and optimisation, fixed-pool/PDF2Dock trajectory, or antibody CDRH3 optimisation task. Do not use the retired large-discovery-model Skill, legacy gateway scripts, web search or local scientific libraries to bypass Delta CLI. Return text directly for ordinary lookups, comparisons or checks by default; do not add JSON/CSV, report, image or chart steps unless the user explicitly asks to save, export, plot or generate a file."
4
+ metadata:
5
+ requires:
6
+ bins: ["delta-cli"]
7
+ cliHelp: "delta-cli science --help"
8
+ ---
9
+
10
+ # Delta Science
11
+
12
+ Turn natural-language research tasks into the smallest number of verifiable Delta CLI Science
13
+ calls. Expose only this Skill; select tools and operations, set parameters, hand off between tools,
14
+ and validate results within this Skill.
15
+
16
+ ## Service-call boundary
17
+
18
+ - Route all online Science operations through Delta CLI: use `delta-cli science invoke` for
19
+ read-only or JSON-compatible endpoints, `delta-cli science task` for calls with a persistent
20
+ lifecycle, and `delta-cli science file` for raw files or multipart requests.
21
+ - Use the CLI's standard authentication and the Science service address derived from `base_url`
22
+ (`{base_url}/science_tool`). Do not rewrite service routing through environment variables,
23
+ command arguments or business URLs.
24
+ - Do not use `curl`, `requests`, `httpx`, a browser or PowerShell web commands to access company
25
+ gateways or business-service URLs directly.
26
+ - Do not present local RDKit, pymatgen, LAMMPS, BO, regression or sandbox results as Science
27
+ results. Local tools may be used for format conversion, file parsing or display, but state their
28
+ source clearly and keep them separate from CLI results.
29
+ - Read the relevant reference before execution and use it to select the operation and request
30
+ fields. If the reference is missing, outdated or inconsistent with the current catalogue, you
31
+ may query the live catalogue. Never invent fields or enum values from memory.
32
+ - `tools.name` and `tool_endpoints.name` are the sole authoritative call names. The tool and
33
+ endpoint passed to the CLI must exactly match the current database catalogue. The CLI does not
34
+ map aliases, strip prefixes, infer profiles or retry under a different name after `not_found`.
35
+ If a reference and the catalogue disagree, stop and report a configuration issue.
36
+ - Report a call as successful only when the CLI subprocess exits with code 0 and the top-level
37
+ JSON `ok` is `true`. The CLI's top-level `data` contains the service response. Read fields only
38
+ according to the envelope and business structure in the relevant reference; do not search
39
+ recursively for plausible values or misreport business results such as `valid:false` as
40
+ transport failures.
41
+
42
+ Template for JSON-compatible endpoints:
43
+
44
+ ```text
45
+ delta-cli science invoke --tool TOOL --endpoint ENDPOINT \
46
+ [--data JSON] [--params JSON] [--path-params JSON] [--headers JSON]
47
+ ```
48
+
49
+ If a tool-proxy endpoint declares path parameters, additional upstream headers or file fields, use
50
+ `--path-params JSON`, `--headers JSON`, `--file PATH` (or `--file-base64 BASE64`), and the
51
+ optional `--content-type MIME`. `--params` means URL query parameters only and cannot replace
52
+ `--path-params`. These fields are forwarded as request-body
53
+ fields to `/api/v1/tools/invoke`. `science file invoke` is a separate interface for QE/Materials
54
+ Design file operations and cannot replace file uploads to tool-proxy endpoints.
55
+
56
+ Template for persistent tasks:
57
+
58
+ ```text
59
+ delta-cli science task submit --tool TOOL --operation OPERATION \
60
+ --input JSON --idempotency-key STABLE_KEY [--wait --timeout SECONDS]
61
+ delta-cli science task get TASK_ID
62
+ delta-cli science task cancel TASK_ID
63
+ delta-cli science task invocations TASK_ID
64
+ delta-cli science task artifacts TASK_ID
65
+ ```
66
+
67
+ Template for file operations:
68
+
69
+ ```text
70
+ delta-cli science file invoke --tool qe --endpoint artifact-upload \
71
+ --file structure.cif --data '{"name":"structure.cif","role":"structure"}'
72
+ delta-cli science file invoke --tool materials-design --endpoint job-submit \
73
+ --file train.xlsx --candidate-file candidates.xlsx --data CONFIG_JSON
74
+ delta-cli science file download --tool qe --endpoint artifact-content \
75
+ --params '{"artifact_id":"sha256:<digest>"}' --output result.bin
76
+ ```
77
+
78
+ Use `--params JSON` only when the reference explicitly defines fields as query parameters. Do not
79
+ concatenate JSON into command code; pass it as a single JSON argument using the calling
80
+ environment's safe argument-passing mechanism.
81
+
82
+ Controlled CLI adapters are available for Materials Design training-table multipart uploads,
83
+ QE raw artifact/custom PP uploads, and `Idempotency-Key`. Pass files through a `science file` file
84
+ flag, and pass idempotency keys through `science task submit --idempotency-key` or the dedicated
85
+ flag for the file operation. Do not disguise local paths, base64 or headers as ordinary `--data`
86
+ fields, and do not connect directly to the preflight Gateway.
87
+
88
+ Call only the operations needed to meet the goal. Run cross-tool tasks in dependency order within
89
+ the same Skill execution; downstream calls may use only verified business fields from the
90
+ previous step. For a known tool, do not add health, schema, catalogue, render, descriptor or file
91
+ calls by default. Make the minimum number of read-only calls only when the user requests them,
92
+ diagnosis requires them, or the reference disagrees with the live catalogue.
93
+
94
+ ## Choose a tool
95
+
96
+ | Research goal | tool | Reference |
97
+ | --- | --- | --- |
98
+ | Compound identity, CID, synonyms, public properties, name-to-SMILES conversion | `pubchem` | [pubchem.md](references/pubchem.md) |
99
+ | SMILES/InChI, descriptors, fingerprints, similarity, rendering, substructure | `rdkit` | [rdkit.md](references/rdkit.md) |
100
+ | Inorganic formulae, CIF/POSCAR, crystal structures, space groups | `pymatgen` | [pymatgen.md](references/pymatgen.md) |
101
+ | Cloud XRD phase identification, XQueryer/XMatcher/XDecomposer, CIF simulation, MP500, artifacts and refinement jobs | `xrd` | [xrd.md](references/xrd.md) |
102
+ | Direct GSAS-II simulation or refinement | `gsasii` | [gsasii.md](references/gsasii.md) |
103
+ | Molecular dynamics, minimisation, thermo and output files | `lammps` | [lammps.md](references/lammps.md) |
104
+ | General optimisation of numeric, integer or categorical experimental variables | `delta-bo` | [delta-bo.md](references/delta-bo.md) |
105
+ | Materials-table surrogates, candidate spaces, EI/PI/UCB and asynchronous recommendation jobs | `materials-design` | [materials-design.md](references/materials-design.md) |
106
+ | Quantum ESPRESSO/QE PP, asynchronous DFT jobs, logs and artifacts | `qe` | [qe.md](references/qe.md) |
107
+ | Fixed-pool next-SMILES, PDF2Dock and molecular BO trajectories | `ldm-bo` | [ldm-bo.md](references/ldm-bo.md) |
108
+ | KRAS G12D small-molecule generation and iterative multi-objective Vina/activity optimisation | `strbo` | [strbo.md](references/strbo.md) |
109
+ | Reaction-condition initialisation and next-batch recommendations based on measured yields | `synbo` | [synbo.md](references/synbo.md) |
110
+ | Antibody CDRH3 generation/evaluation and AntBO job management | `antbo` | [antbo.md](references/antbo.md) |
111
+
112
+ When the user describes a complete research workflow using terms such as “LDM”, “discovery
113
+ model”, “small-molecule drug LDM” or “antibody LDM”, first select the actual backend tool based on
114
+ the task goal, then read only the reference for that backend. `ldm-bo` is a callable tool; `LDM`
115
+ itself is not a `--tool` value. For “batch molecular enrichment” or similar requests, use the
116
+ actual tools in sequence: resolve names/identifiers with `pubchem`, then standardise structures
117
+ or calculate molecular properties with `rdkit`.
118
+
119
+ When the tool is clear, read its reference directly; it already includes the operations, parameters
120
+ and minimal scenarios. Do not read documentation for other tools. Split cross-tool tasks using
121
+ this Skill's routing rules and read only the references for tools actually involved. Do not rely
122
+ on separate routing, service, workflow or catalogue documents.
123
+
124
+ This table lists research tools with maintained references; it is not a static server catalogue.
125
+ If the user names a new tool absent from the table, or a reference is missing, outdated or
126
+ inconsistent with CLI output, run `delta-cli science list`, then run
127
+ `delta-cli science endpoints list <tool>` once using the exact tool name returned by the catalogue.
128
+ Both commands must exit with code 0 and return top-level `ok:true`. Do not probe with an empty
129
+ body, invalid parameters, source code or direct HTTP. If live endpoint metadata does not provide
130
+ enough request-field contract to construct a safe request, say “The catalogue lists the tool, but
131
+ the server has not provided a schema that can be used to construct a safe request.” Do not guess
132
+ the body, fuzzy-match or transform names. A new tool therefore does not require a CLI change; add
133
+ a single-tool reference only after confirming that it is a distinct real tool and needs automatic
134
+ natural-language routing or parameter construction.
135
+
136
+ ## Routing boundaries
137
+
138
+ - Use PubChem first for an ordinary compound name. Pass a successfully returned SMILES to RDKit
139
+ only when structural calculations are needed.
140
+ - Prefer pymatgen for inorganic formulae, composition and formula weight; do not calculate these
141
+ with PubChem or a local element table.
142
+ - Use `xrd` for cloud powder-XRD phase identification, peak matching, phase decomposition,
143
+ CIF/MP500 operations and refinement jobs. Use `gsasii` only when directly requesting the
144
+ GSAS-II tool. Do not conflate their scores, job states or backend semantics.
145
+ - Use Materials Design for materials-table modelling and candidate ranking. Keep controllable
146
+ variables, objectives, candidate spaces, cross-validation and uncertainty distinct; treat
147
+ recommendations only as hypotheses to validate.
148
+ - Use QE for explicit electronic-structure calculations. First handle the complete element set,
149
+ PP policy/lock and structure artifact, then submit the asynchronous workflow. Do not conflate
150
+ job acceptance, scheduler completion and solver convergence.
151
+ - Use Delta-BO for general experimental variables; LDM-BO for an existing fixed SMILES candidate
152
+ pool or PDF2Dock trajectory; STRBO for small-molecule generation and iteration against the
153
+ server-fixed KRAS G12D target; SynBO for coupling reactions, reaction conditions and historical
154
+ yields; and AntBO for antibodies/CDRH3. Do not mix these tools.
155
+ - Do not hand online LDM, STRBO, AntBO or LDM-BO tasks to the retired
156
+ `large-discovery-model` Skill, run its gateway scripts or use its built-in service addresses.
157
+ Offline demonstrations are not company Science results. Explain this boundary only when the
158
+ user explicitly asks not to use company resources; this Skill must still not run the retired
159
+ Skill.
160
+ - GSAS-II refinement requires real powder data, instrument parameters and a phase CIF. LAMMPS
161
+ requires explicit input/data/force-field files. Never fabricate experimental data, CIFs, force
162
+ fields, historical observations or optimisation results.
163
+
164
+ ## Safety, retries and artifacts
165
+
166
+ - Require the user's explicit authorisation for remote mutations such as `run-default-job`,
167
+ `run` and `stop`. Do not retry when the outcome is unknown, the request times out or the
168
+ connection drops, because the remote action may already have occurred.
169
+ - Treat parameter validation errors, empty recommendations and business-backend failures as
170
+ failures for the current attempt. For `health`, the catalogue and other clearly read-only,
171
+ idempotent operations, network errors such as 502, 504 or timeout may be retried once with the
172
+ same parameters. Make at most one SynBO business call per user task; do not switch models or
173
+ acquisition functions, or substitute a local algorithm.
174
+ - After the CLI's first failure, return a short summary of the original error. If the user
175
+ explicitly asks for troubleshooting, you may run read-only `delta-cli auth status`,
176
+ `delta-cli config show` or `delta-cli ... --help`. Do not log in, change configuration or
177
+ environment variables, fabricate a UID, token or API key, or retry with a changed operation,
178
+ parameters or call chain.
179
+ - Treat `X-User-Uid`, login, quota and permission errors as terminal authentication errors; relay
180
+ only the original error and login guidance. The Skill must never log in, inspect credentials,
181
+ guess a user identifier or try to bypass quota.
182
+ - Run heavy calls serially. A client timeout does not mean the remote computation was cancelled.
183
+ - Do not create CSV files, images or reports unless the user asks for a file. Write internal
184
+ hand-off files only to the current `WORKSPACE_ROOT`; do not read another session's workspace or
185
+ historical results to fill in the current task.
186
+ - Paths, JSON, charts or reports automatically attached by an outer planner do not count as an
187
+ explicit user request. If the task is essentially a lookup, comparison or check, return the
188
+ minimum text result directly; do not repeat Science calls to satisfy an added artifact request.
189
+ - Decode only documented fields from binary artifacts; validate PNG magic bytes.
190
+ - If the user explicitly asks for public background information or literature, web searches are
191
+ permitted, but do not present them as Science calls or use them to replace CLI results. Label
192
+ the sources separately.
193
+
194
+ ## Output
195
+
196
+ Project the business response defined by the relevant reference from the current CLI `data` into
197
+ the minimum result the user requested. Preserve strings, numbers, warnings and sources verbatim.
198
+ Do not add units, mechanisms, citations, links, predictions or remembered information that the
199
+ service did not return. Do not describe predictions as measured results.
200
+ Once the last required business result has been obtained successfully, project it directly into
201
+ the final reply. Do not call the CLI again to sort, format, make a table or summarise, and do not
202
+ manually copy the result into a new data literal. Perform simple filtering, comparison and text
203
+ organisation directly in the final reply.
204
+
205
+ On success, return only bounded plain text derived from the current CLI business result; on
206
+ failure, return only a short summary of the original CLI error. Do not recalculate, rewrite or
207
+ replace a successful or failed Science result with manual recommendations.
208
+
209
+ Include the following with every successful result:
210
+
211
+ ```text
212
+ Evidence boundary: business results in the current Delta CLI `data` only
213
+ Call chain: delta-cli
214
+ Do not add information absent from the response: yes
215
+ ```
216
+
217
+ ## Completion criteria
218
+
219
+ - Every online operation is supported by evidence that the CLI exited with code 0 and returned
220
+ top-level `ok:true`.
221
+ - Every scientific value comes from a business field in the current call's `data`, as defined by
222
+ the reference.
223
+ - Downstream inputs come from verified upstream results in the current task.
224
+ - Failures are classified accurately as configuration, CLI, parameter, Science Server,
225
+ business-service or timeout failures.
226
+ - No direct HTTP, local scientific library, cross-session file or manually substituted result was
227
+ used.
@@ -1,4 +1,4 @@
1
- interface:
2
- display_name: "Delta Science"
3
- short_description: "通过 Delta CLI 统一调用并编排全部 Science 工具"
4
- default_prompt: "使用 $delta-science 分析科研目标,选择合适工具并通过 Delta CLI 完成任务。"
1
+ interface:
2
+ display_name: "Delta Science"
3
+ short_description: "Access and orchestrate all Science tools through Delta CLI"
4
+ default_prompt: "Use $delta-science to analyse the research goal, choose the right tools, and complete the task through Delta CLI."