@delta-infra/cli 1.0.75 → 1.0.76

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 CHANGED
@@ -288,21 +288,37 @@ delta-cli 内置 AI Agent 操作手册(Skills),帮助 Claude Code 等 AI
288
288
  # 安装仓库中的全部 Skills
289
289
  npx skills add delta-infra/delta-infra-cli -y -g
290
290
 
291
- # 也可以只安装某个 Skill,例如 Science 总控
292
- npx skills add delta-infra/delta-infra-cli -s delta-science
291
+ # 也可以只安装某个具名服务 Skill,例如 PubChem
292
+ npx skills add delta-infra/delta-infra-cli -s pubchem
293
293
  ```
294
294
 
295
295
  Skill 文件位于 `skills/` 目录:
296
296
  - `delta-shared/` — 全局通用规则(认证、配置、错误处理)
297
297
  - `delta-sandbox/` — Sandbox 操作指南(生命周期、命令路由)
298
- - `delta-science/` — Science 总控、跨服务编排、统一 Delta CLI wrapper
298
+ - `delta-science/` — 具名 Science Skill 共用的编排参考与 Delta CLI wrapper
299
299
  - `pubchem/`、`rdkit/`、`pymatgen/` — 化合物与材料基础计算
300
300
  - `gsasii/`、`lammps/` — 衍射和分子动力学
301
301
  - `delta-bo/`、`ldm-bo/`、`synbo-service/` — 科学优化流程
302
302
  - `antbo-service/`、`antbo-ldm-guard/` — AntBO 作业与未暴露 LDM 请求保护
303
303
 
304
- 一键安装、升级和卸载会同步上述完整集合;具名服务 Skill 负责参数契约,
305
- `delta-science` 负责从简短的人类科研请求中选择服务并组织数据交接。
304
+ 一键安装、升级和卸载会同步上述完整集合。Memento 等宿主在规划阶段直接选择具名
305
+ 服务 Skill;`delta-science` 只提供共享调用契约和跨步骤数据交接规则,不直接承接
306
+ 普通用户步骤。Science Skill 仅暴露 `read_file`、`python_repl` 和 `step_finish` 等
307
+ 完成任务所需的最小工具集合。
308
+
309
+ ### 添加 Science tool 或 operation
310
+
311
+ `skills/science-tools.json` 是规范 tool、operation、legacy endpoint、Skill 清单和 npm
312
+ 打包目录的唯一配置源。修改后运行:
313
+
314
+ ```bash
315
+ node scripts/generate-science-catalog.js
316
+ node scripts/generate-science-catalog.js --check
317
+ ```
318
+
319
+ 生成器会同步 Go catalog、Python wrapper 映射、`skills/manifest.json`、npm `files`
320
+ 清单及 catalog 参考文档。给现有服务增加 operation 时不需要创建新 Skill;只有新增
321
+ 具有独立用户意图和参数契约的服务时,才新增一个服务级 Skill 目录。
306
322
 
307
323
  ## 开发
308
324
 
@@ -388,7 +404,7 @@ make release
388
404
  ```bash
389
405
  export GH_TOKEN=<your-github-pat>
390
406
  export NPM_TOKEN=<your-npm-token>
391
- ./release.sh v1.0.75
407
+ ./release.sh v1.0.76
392
408
  ```
393
409
 
394
410
  脚本执行步骤:
@@ -396,7 +412,7 @@ export NPM_TOKEN=<your-npm-token>
396
412
  2. 使用 Docker + `make release` 交叉编译 5 个平台二进制文件。
397
413
  3. 在 `bin/` 目录生成 `.tar.gz` / `.zip` 归档。
398
414
  4. 通过 `.ci/publish-github-release.js` 创建 GitHub Release 并上传资产。
399
- 5. 同步 `package.json` 与 `scripts/install.js` 到公开仓库 `yzailab/delta-infra-cli`。
415
+ 5. 同步 npm 脚本、README 与全部 Skills 到公开仓库 `yzailab/delta-infra-cli`。
400
416
  6. 执行 `npm publish --access public` 发布 `@delta-infra/cli`。
401
417
 
402
418
  需要提前安装 `gh` CLI、Node.js/npm,并配置 `GH_TOKEN` 与 `NPM_TOKEN`。CI 流程可参考 `.gitlab-ci.yml`。
package/checksums.txt CHANGED
@@ -1,5 +1,5 @@
1
- b70320aa2f2a5cff600a4f9b10240e586650efc157bc455e6edfcd76e57354af *delta-cli-darwin-amd64.tar.gz
2
- 9a6821279d9e61115e9a4444bcdad2db29a524f75e6d3ecc694e903dc09bbe65 *delta-cli-darwin-arm64.tar.gz
3
- ba142ae01ab832a0b950ba88e27fdf92d06483021d43ea9c1932966434f3dab1 *delta-cli-linux-amd64.tar.gz
4
- 46df3385a51d36affbbeb984fb26f1cb38762a7957f03c70cddf951dee7bedf6 *delta-cli-linux-arm64.tar.gz
5
- 14279afab95f712f706ee19061cffe88786fb7a2202764c05f7680f0779873d2 *delta-cli-windows-amd64.zip
1
+ ef1d8380dc3490bfc6a20a0d9d375a7fa4296b6f6054b0476f7c230ca4f1928c delta-cli-darwin-amd64.tar.gz
2
+ a7cdcb28ada4df83bb2c9e58635b97fd10af526e9cbb71a35e5536ff72a4b7fd delta-cli-darwin-arm64.tar.gz
3
+ e0002c8e7416d8ee3c5a5676edbcaaaa4b04364b308bb7158b3970e6600b8926 delta-cli-linux-amd64.tar.gz
4
+ 23739e55285ae3080a707a9d12c27460a6ca57def2cb48c9ce7d227443e560e3 delta-cli-linux-arm64.tar.gz
5
+ 166f5ff32925daca82cf8ae76bf59a00014238d22a1aa3defb81d587103dc951 delta-cli-windows-amd64.zip
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@delta-infra/cli",
3
- "version": "1.0.75",
3
+ "version": "1.0.76",
4
4
  "description": "Delta Infra CLI for sandbox compute and science tools.",
5
5
  "bin": {
6
6
  "delta-cli": "scripts/run.js"
@@ -14,6 +14,7 @@
14
14
  "scripts/install-wizard.js",
15
15
  "scripts/run.js",
16
16
  "skills/manifest.json",
17
+ "skills/science-tools.json",
17
18
  "skills/delta-sandbox/",
18
19
  "skills/delta-shared/",
19
20
  "skills/delta-science/",
@@ -1,7 +1,11 @@
1
1
  ---
2
- name: antbo-ldm-guard
3
- description: 任何同时涉及 AntBO/抗体/CDRH3 与 LDM/suggest/下一条候选序列的请求都必须优先于所有其他 AntBO Skill 立即使用本 Skill,即使历史序列或评分尚未提供。当前 Delta CLI catalog 未暴露 AntBO LDM initialize/evaluate/suggest;唯一正确结果是说明未发送远端请求,禁止询问数据、建文件、调用 health/Science/filesystem 或改用小分子 LDM-BO。
4
- ---
2
+ name: antbo-ldm-guard
3
+ description: 任何同时涉及 AntBO/抗体/CDRH3 与 LDM/suggest/下一条候选序列的请求都必须优先于所有其他 AntBO Skill 立即使用本 Skill,即使历史序列或评分尚未提供。当前 Delta CLI catalog 未暴露 AntBO LDM initialize/evaluate/suggest;唯一正确结果是说明未发送远端请求,禁止询问数据、建文件、调用 health/Science/filesystem 或改用小分子 LDM-BO。
4
+ metadata:
5
+ allowed-tools:
6
+ - python_repl
7
+ - step_finish
8
+ ---
5
9
 
6
10
  # AntBO LDM 能力边界
7
11
 
@@ -1,4 +1,4 @@
1
1
  interface:
2
- display_name: "AntBO LDM ????"
3
- short_description: "????? Delta CLI ??? AntBO LDM ????"
4
- default_prompt: "?? $antbo-ldm-guard ???? AntBO LDM ?????? Delta CLI ???"
2
+ display_name: "AntBO LDM 能力边界"
3
+ short_description: "识别当前 CLI 未暴露的 AntBO LDM 候选请求并安全终止"
4
+ default_prompt: "使用 $antbo-ldm-guard 判断这项 AntBO LDM 请求是否可执行。"
@@ -1,7 +1,12 @@
1
1
  ---
2
- name: antbo-service
3
- description: 当用户明确要求检查 AntBO 服务健康状态、启动默认或自定义 AntBO 作业、读取 AntBO 日志、列出活动作业或停止指定作业时使用。当前 Delta CLI operation 为 health、run-default-job、run、log、jobs、stop。
4
- ---
2
+ name: antbo-service
3
+ description: 当用户明确要求检查 AntBO 服务健康状态、启动默认或自定义 AntBO 作业、读取 AntBO 日志、列出活动作业或停止指定作业时使用。当前 Delta CLI operation 为 health、run-default-job、run、log、jobs、stop。
4
+ metadata:
5
+ allowed-tools:
6
+ - read_file
7
+ - python_repl
8
+ - step_finish
9
+ ---
5
10
 
6
11
  # AntBO 服务
7
12
 
@@ -1,4 +1,4 @@
1
1
  interface:
2
- display_name: "AntBO ????"
3
- short_description: "?? Delta CLI ???????? AntBO ??????"
4
- default_prompt: "?? $antbo-service ??????? AntBO ???????"
2
+ display_name: "AntBO 抗体优化服务"
3
+ short_description: "通过 Delta CLI 启动、查询或停止 AntBO 优化作业"
4
+ default_prompt: "使用 $antbo-service 执行这项 AntBO 作业管理任务。"
@@ -1,7 +1,12 @@
1
1
  ---
2
- name: delta-bo
3
- description: 当用户需要列出当前 Delta-BO 命令,或针对数值、整数、分类实验变量生成随机搜索/贝叶斯优化建议时使用。当前 Delta CLI catalog 只暴露 commands 与 generate;不得通过 Skill 猜测或直连旧的 stateful command API。
4
- ---
2
+ name: delta-bo
3
+ description: 当用户需要列出当前 Delta-BO 命令,或针对数值、整数、分类实验变量生成随机搜索/贝叶斯优化建议时使用。当前 Delta CLI catalog 只暴露 commands 与 generate;不得通过 Skill 猜测或直连旧的 stateful command API。
4
+ metadata:
5
+ allowed-tools:
6
+ - read_file
7
+ - python_repl
8
+ - step_finish
9
+ ---
5
10
 
6
11
  # Delta-BO 服务
7
12
 
@@ -1,4 +1,4 @@
1
1
  interface:
2
- display_name: "Delta-BO ????"
3
- short_description: "?? Delta CLI ???????????????"
4
- default_prompt: "?? $delta-bo ??????????????????"
2
+ display_name: "Delta-BO 实验优化"
3
+ short_description: "通过 Delta CLI 为数值、整数和分类变量生成实验建议"
4
+ default_prompt: "使用 $delta-bo 根据变量空间生成下一批实验建议。"
@@ -1,4 +1,4 @@
1
1
  interface:
2
- display_name: "Delta Sandbox ????"
3
- short_description: "?? Delta CLI ???????????????????"
4
- default_prompt: "?? $delta-sandbox ???????????????"
2
+ display_name: "Delta Sandbox 工作站"
3
+ short_description: "通过 Delta CLI 安全创建、运行并销毁隔离计算工作站"
4
+ default_prompt: "使用 $delta-sandbox 在隔离工作站中完成这项计算并返回结果。"
@@ -1,7 +1,12 @@
1
1
  ---
2
- name: delta-science
3
- description: "用于所有涉及化合物、材料、衍射、分子动力学、贝叶斯优化、反应条件或抗体优化的 Science 任务,包括简短、模糊的人类请求。每个实时操作必须选择具名 Science service Skill,并由 python_repl 执行本 Skill 的 invoke.py 走 Delta CLI;禁止通用子代理、Bash、目录探测、直接 HTTP、字面 CLI 命令和 native.data。AntBO/CDRH3 LDM 请求先判断 catalog,不得先问数据或派发 filesystem。"
4
- ---
2
+ name: delta-science
3
+ description: "Delta Science 的内部共享运行时与跨服务编排参考。不要把普通用户步骤直接路由到本 Skill;规划器必须按科学目标选择 pubchem、rdkit、pymatgen、gsasii、lammps、delta-bo、ldm-bo、synbo-service、antbo-service 或 antbo-ldm-guard,并把跨服务任务拆成具名 Skill 步骤。"
4
+ metadata:
5
+ allowed-tools:
6
+ - read_file
7
+ - python_repl
8
+ - step_finish
9
+ ---
5
10
 
6
11
  # Delta Science
7
12
 
@@ -1,4 +1,4 @@
1
1
  interface:
2
- display_name: "Delta Science ????"
3
- short_description: "?? Delta CLI ?????????? Science ????"
4
- default_prompt: "?? $delta-science ?? Delta CLI ?????????"
2
+ display_name: "Delta Science 公共运行时"
3
+ short_description: "为具名 Science Skill 提供共享 CLI 调用和交接契约"
4
+ default_prompt: "使用 $delta-science 规划跨服务 Science 流程并拆分为具名 Skill 步骤。"
@@ -0,0 +1,48 @@
1
+ # Science catalog(自动生成)
2
+
3
+ 本文件由 `skills/science-tools.json` 生成;不要手工修改。规范名称供 CLI/Skill 使用,legacy 名称仅用于兼容已部署的 `/science_tool` catalog。
4
+
5
+ | 规范 tool | Skill | 类别 | operation | legacy endpoint |
6
+ | --- | --- | --- | --- | --- |
7
+ | pubchem | pubchem | molecule-information | health | chem_pubchem_health |
8
+ | pubchem | pubchem | molecule-information | compound-resolve-cids | chem_pubchem_compound_resolve-cids |
9
+ | pubchem | pubchem | molecule-information | compound-properties | chem_pubchem_compound_properties |
10
+ | pubchem | pubchem | molecule-information | compound-synonyms | chem_pubchem_compound_synonyms |
11
+ | pubchem | pubchem | molecule-information | compound-summary | chem_pubchem_compound_summary |
12
+ | pubchem | pubchem | molecule-information | compound-batch-summary | chem_pubchem_compound_batch-summary |
13
+ | rdkit | rdkit | cheminformatics | health | chem_rdkit_health |
14
+ | rdkit | rdkit | cheminformatics | parse | chem_rdkit_parse |
15
+ | rdkit | rdkit | cheminformatics | descriptors | chem_rdkit_descriptors |
16
+ | rdkit | rdkit | cheminformatics | batch-descriptors | chem_rdkit_batch-descriptors |
17
+ | rdkit | rdkit | cheminformatics | batch-parse-describe | chem_rdkit_batch-parse-describe |
18
+ | rdkit | rdkit | cheminformatics | render | chem_rdkit_render |
19
+ | rdkit | rdkit | cheminformatics | fingerprint | chem_rdkit_fingerprint |
20
+ | rdkit | rdkit | cheminformatics | similarity | chem_rdkit_similarity |
21
+ | rdkit | rdkit | cheminformatics | similarity-matrix | chem_rdkit_similarity-matrix |
22
+ | rdkit | rdkit | cheminformatics | substructure | chem_rdkit_substructure |
23
+ | pymatgen | pymatgen | materials-informatics | health | chem_pymatgen_health |
24
+ | pymatgen | pymatgen | materials-informatics | composition-parse | chem_pymatgen_composition_parse |
25
+ | pymatgen | pymatgen | materials-informatics | structure-parse | chem_pymatgen_structure_parse |
26
+ | pymatgen | pymatgen | materials-informatics | structure-summary | chem_pymatgen_structure_summary |
27
+ | pymatgen | pymatgen | materials-informatics | structure-convert | chem_pymatgen_structure_convert |
28
+ | pymatgen | pymatgen | materials-informatics | structure-symmetry | chem_pymatgen_structure_symmetry |
29
+ | gsasii | gsasii | diffraction | health | chem_gsasii_health |
30
+ | gsasii | gsasii | diffraction | powder-simulate | chem_gsasii_powder_simulate |
31
+ | gsasii | gsasii | diffraction | powder-refine | chem_gsasii_powder_refine |
32
+ | lammps | lammps | molecular-dynamics | health | chem_lammps_health |
33
+ | lammps | lammps | molecular-dynamics | lj-melt-example | chem_lammps_examples_lj-melt |
34
+ | lammps | lammps | molecular-dynamics | run | chem_lammps_run |
35
+ | delta-bo | delta-bo | optimization | commands | chem_delta-bo_commands |
36
+ | delta-bo | delta-bo | optimization | generate | chem_delta-bo_generate |
37
+ | ldm-bo | ldm-bo | molecule-optimization | health | chem_ldm-bo_health |
38
+ | ldm-bo | ldm-bo | molecule-optimization | recommend | chem_ldm-bo_recommend |
39
+ | ldm-bo | ldm-bo | molecule-optimization | trajectory | chem_ldm-bo_trajectory |
40
+ | synbo | synbo-service | reaction-optimization | health | chem_synbo_health |
41
+ | synbo | synbo-service | reaction-optimization | initialize | chem_synbo_initialize |
42
+ | synbo | synbo-service | reaction-optimization | optimize | chem_synbo_optimize |
43
+ | antbo | antbo-service | antibody-optimization | health | biology_antbo_health |
44
+ | antbo | antbo-service | antibody-optimization | run-default-job | biology_antbo_run_default_job |
45
+ | antbo | antbo-service | antibody-optimization | run | biology_antbo_run |
46
+ | antbo | antbo-service | antibody-optimization | log | biology_antbo_log |
47
+ | antbo | antbo-service | antibody-optimization | jobs | biology_antbo_jobs |
48
+ | antbo | antbo-service | antibody-optimization | stop | biology_antbo_stop |
@@ -0,0 +1,69 @@
1
+ """Generated Science catalog aliases. Do not edit by hand."""
2
+
3
+ LEGACY_TOOL_ALIASES = {
4
+ "synbo": "synbo-service",
5
+ "antbo": "antbo-service",
6
+ }
7
+
8
+ LEGACY_ENDPOINTS = {
9
+ "pubchem": {
10
+ "health": "chem_pubchem_health",
11
+ "compound-resolve-cids": "chem_pubchem_compound_resolve-cids",
12
+ "compound-properties": "chem_pubchem_compound_properties",
13
+ "compound-synonyms": "chem_pubchem_compound_synonyms",
14
+ "compound-summary": "chem_pubchem_compound_summary",
15
+ "compound-batch-summary": "chem_pubchem_compound_batch-summary",
16
+ },
17
+ "rdkit": {
18
+ "health": "chem_rdkit_health",
19
+ "parse": "chem_rdkit_parse",
20
+ "descriptors": "chem_rdkit_descriptors",
21
+ "batch-descriptors": "chem_rdkit_batch-descriptors",
22
+ "batch-parse-describe": "chem_rdkit_batch-parse-describe",
23
+ "render": "chem_rdkit_render",
24
+ "fingerprint": "chem_rdkit_fingerprint",
25
+ "similarity": "chem_rdkit_similarity",
26
+ "similarity-matrix": "chem_rdkit_similarity-matrix",
27
+ "substructure": "chem_rdkit_substructure",
28
+ },
29
+ "pymatgen": {
30
+ "health": "chem_pymatgen_health",
31
+ "composition-parse": "chem_pymatgen_composition_parse",
32
+ "structure-parse": "chem_pymatgen_structure_parse",
33
+ "structure-summary": "chem_pymatgen_structure_summary",
34
+ "structure-convert": "chem_pymatgen_structure_convert",
35
+ "structure-symmetry": "chem_pymatgen_structure_symmetry",
36
+ },
37
+ "gsasii": {
38
+ "health": "chem_gsasii_health",
39
+ "powder-simulate": "chem_gsasii_powder_simulate",
40
+ "powder-refine": "chem_gsasii_powder_refine",
41
+ },
42
+ "lammps": {
43
+ "health": "chem_lammps_health",
44
+ "lj-melt-example": "chem_lammps_examples_lj-melt",
45
+ "run": "chem_lammps_run",
46
+ },
47
+ "delta-bo": {
48
+ "commands": "chem_delta-bo_commands",
49
+ "generate": "chem_delta-bo_generate",
50
+ },
51
+ "ldm-bo": {
52
+ "health": "chem_ldm-bo_health",
53
+ "recommend": "chem_ldm-bo_recommend",
54
+ "trajectory": "chem_ldm-bo_trajectory",
55
+ },
56
+ "synbo": {
57
+ "health": "chem_synbo_health",
58
+ "initialize": "chem_synbo_initialize",
59
+ "optimize": "chem_synbo_optimize",
60
+ },
61
+ "antbo": {
62
+ "health": "biology_antbo_health",
63
+ "run-default-job": "biology_antbo_run_default_job",
64
+ "run": "biology_antbo_run",
65
+ "log": "biology_antbo_log",
66
+ "jobs": "biology_antbo_jobs",
67
+ "stop": "biology_antbo_stop",
68
+ },
69
+ }
@@ -12,78 +12,12 @@ import subprocess
12
12
  import sys
13
13
  import time
14
14
  from typing import Any
15
- from urllib.parse import urlsplit
16
-
17
-
18
- SKILL_DIR = Path(__file__).resolve().parents[1]
19
-
20
- LEGACY_TOOL_ALIASES = {
21
- "antbo": "antbo-service",
22
- "synbo": "synbo-service",
23
- }
24
-
25
- LEGACY_ENDPOINTS = {
26
- "pubchem": {
27
- "health": "chem_pubchem_health",
28
- "compound-resolve-cids": "chem_pubchem_compound_resolve-cids",
29
- "compound-properties": "chem_pubchem_compound_properties",
30
- "compound-synonyms": "chem_pubchem_compound_synonyms",
31
- "compound-summary": "chem_pubchem_compound_summary",
32
- "compound-batch-summary": "chem_pubchem_compound_batch-summary",
33
- },
34
- "rdkit": {
35
- "health": "chem_rdkit_health",
36
- "parse": "chem_rdkit_parse",
37
- "descriptors": "chem_rdkit_descriptors",
38
- "batch-descriptors": "chem_rdkit_batch-descriptors",
39
- "batch-parse-describe": "chem_rdkit_batch-parse-describe",
40
- "render": "chem_rdkit_render",
41
- "fingerprint": "chem_rdkit_fingerprint",
42
- "similarity": "chem_rdkit_similarity",
43
- "similarity-matrix": "chem_rdkit_similarity-matrix",
44
- "substructure": "chem_rdkit_substructure",
45
- },
46
- "pymatgen": {
47
- "health": "chem_pymatgen_health",
48
- "composition-parse": "chem_pymatgen_composition_parse",
49
- "structure-parse": "chem_pymatgen_structure_parse",
50
- "structure-summary": "chem_pymatgen_structure_summary",
51
- "structure-convert": "chem_pymatgen_structure_convert",
52
- "structure-symmetry": "chem_pymatgen_structure_symmetry",
53
- },
54
- "gsasii": {
55
- "health": "chem_gsasii_health",
56
- "powder-simulate": "chem_gsasii_powder_simulate",
57
- "powder-refine": "chem_gsasii_powder_refine",
58
- },
59
- "lammps": {
60
- "health": "chem_lammps_health",
61
- "lj-melt-example": "chem_lammps_examples_lj-melt",
62
- "run": "chem_lammps_run",
63
- },
64
- "delta-bo": {
65
- "commands": "chem_delta-bo_commands",
66
- "generate": "chem_delta-bo_generate",
67
- },
68
- "ldm-bo": {
69
- "health": "chem_ldm-bo_health",
70
- "recommend": "chem_ldm-bo_recommend",
71
- "trajectory": "chem_ldm-bo_trajectory",
72
- },
73
- "synbo": {
74
- "health": "chem_synbo_health",
75
- "initialize": "chem_synbo_initialize",
76
- "optimize": "chem_synbo_optimize",
77
- },
78
- "antbo": {
79
- "health": "biology_antbo_health",
80
- "run-default-job": "biology_antbo_run_default_job",
81
- "run": "biology_antbo_run",
82
- "log": "biology_antbo_log",
83
- "jobs": "biology_antbo_jobs",
84
- "stop": "biology_antbo_stop",
85
- },
86
- }
15
+ from urllib.parse import urlsplit
16
+
17
+ from generated_catalog import LEGACY_ENDPOINTS, LEGACY_TOOL_ALIASES
18
+
19
+
20
+ SKILL_DIR = Path(__file__).resolve().parents[1]
87
21
 
88
22
 
89
23
  def _json_object(raw: str | None, flag: str) -> dict[str, Any] | None:
@@ -1,4 +1,4 @@
1
1
  interface:
2
- display_name: "Delta CLI ?????"
3
- short_description: "?? Delta CLI ??????????????????"
4
- default_prompt: "?? $delta-shared ???? Delta CLI ????????"
2
+ display_name: "Delta CLI 共享规则"
3
+ short_description: "处理 Delta CLI 的配置、认证、错误与安全边界"
4
+ default_prompt: "使用 $delta-shared 检查并处理 Delta CLI 的配置或认证问题。"
@@ -1,7 +1,12 @@
1
1
  ---
2
- name: gsasii
3
- description: 当用户要求使用真实 CIF 模拟粉末 XRD/中子衍射,或使用真实粉末数据、仪器参数与相模型执行 GSAS-II Rietveld 精修时使用。所有实时请求只走 Delta CLI wrapper;禁止伪造 CIF、粉末数据或仪器文件。
4
- ---
2
+ name: gsasii
3
+ description: 当用户要求使用真实 CIF 模拟粉末 XRD/中子衍射,或使用真实粉末数据、仪器参数与相模型执行 GSAS-II Rietveld 精修时使用。所有实时请求只走 Delta CLI wrapper;禁止伪造 CIF、粉末数据或仪器文件。
4
+ metadata:
5
+ allowed-tools:
6
+ - read_file
7
+ - python_repl
8
+ - step_finish
9
+ ---
5
10
 
6
11
  # GSAS-II 服务
7
12
 
@@ -1,4 +1,4 @@
1
1
  interface:
2
- display_name: "GSAS-II ????"
3
- short_description: "?? Delta CLI ???????????????"
4
- default_prompt: "?? $gsasii ??????????????"
2
+ display_name: "GSAS-II 衍射分析"
3
+ short_description: "通过 Delta CLI 进行粉末衍射模拟或 Rietveld 精修"
4
+ default_prompt: "使用 $gsasii 完成这项粉末衍射模拟或精修任务。"
@@ -1,7 +1,12 @@
1
1
  ---
2
- name: lammps
3
- description: 当用户要求检查 LAMMPS 服务、运行部署自带的有界 LJ melt 示例,或使用明确的 LAMMPS input/data/force-field 配置执行分子动力学、最小化并读取 thermo/log/dump/data 输出时使用。所有实时调用只走 Delta CLI;成功执行不代表物理收敛或生产可用。
4
- ---
2
+ name: lammps
3
+ description: 当用户要求检查 LAMMPS 服务、运行部署自带的有界 LJ melt 示例,或使用明确的 LAMMPS input/data/force-field 配置执行分子动力学、最小化并读取 thermo/log/dump/data 输出时使用。所有实时调用只走 Delta CLI;成功执行不代表物理收敛或生产可用。
4
+ metadata:
5
+ allowed-tools:
6
+ - read_file
7
+ - python_repl
8
+ - step_finish
9
+ ---
5
10
 
6
11
  # LAMMPS 服务
7
12
 
@@ -1,4 +1,4 @@
1
1
  interface:
2
- display_name: "LAMMPS ?????"
3
- short_description: "?? Delta CLI ?????????????????"
4
- default_prompt: "?? $lammps ???????????????????"
2
+ display_name: "LAMMPS 分子动力学"
3
+ short_description: "通过 Delta CLI 运行有界分子动力学和能量最小化"
4
+ default_prompt: "使用 $lammps 运行这项分子动力学任务并报告关键结果。"
@@ -1,7 +1,12 @@
1
1
  ---
2
- name: ldm-bo
3
- description: 当用户要求对小分子 SMILES 使用 LDM-BO/PDF2Dock、Vina+NN、ReaSyn,生成下一条小分子候选或运行分子 BO trajectory 时使用。不得用于抗体、CDRH3、AntBO 或 /biology/antbo 场景;这些场景必须路由 antbo-service。
4
- ---
2
+ name: ldm-bo
3
+ description: 当用户要求对小分子 SMILES 使用 LDM-BO/PDF2Dock、Vina+NN、ReaSyn,生成下一条小分子候选或运行分子 BO trajectory 时使用。不得用于抗体、CDRH3、AntBO 或 /biology/antbo 场景;这些场景必须路由 antbo-service。
4
+ metadata:
5
+ allowed-tools:
6
+ - read_file
7
+ - python_repl
8
+ - step_finish
9
+ ---
5
10
 
6
11
  # 小分子 LDM-BO 服务
7
12
 
@@ -1,4 +1,4 @@
1
1
  interface:
2
- display_name: "LDM-BO ????"
3
- short_description: "?? Delta CLI ????????????????"
4
- default_prompt: "?? $ldm-bo ?????????????????"
2
+ display_name: "LDM-BO 小分子优化"
3
+ short_description: "通过 Delta CLI 生成小分子候选或执行分子优化轨迹"
4
+ default_prompt: "使用 $ldm-bo 为这个小分子任务推荐下一条候选。"
@@ -1,17 +1,17 @@
1
- {
2
- "skills": [
3
- "delta-sandbox",
4
- "delta-shared",
5
- "delta-science",
6
- "pubchem",
7
- "rdkit",
8
- "pymatgen",
9
- "gsasii",
10
- "lammps",
11
- "delta-bo",
12
- "ldm-bo",
13
- "synbo-service",
14
- "antbo-service",
15
- "antbo-ldm-guard"
16
- ]
17
- }
1
+ {
2
+ "skills": [
3
+ "delta-sandbox",
4
+ "delta-shared",
5
+ "delta-science",
6
+ "pubchem",
7
+ "rdkit",
8
+ "pymatgen",
9
+ "gsasii",
10
+ "lammps",
11
+ "delta-bo",
12
+ "ldm-bo",
13
+ "synbo-service",
14
+ "antbo-service",
15
+ "antbo-ldm-guard"
16
+ ]
17
+ }
@@ -1,7 +1,12 @@
1
1
  ---
2
- name: pubchem
3
- description: 当用户给出化学品、分子、药物名称并询问 CID、同义词、分子式、分子量、SMILES、InChI、IUPAC 名、XLogP、TPSA 或供受体数量时使用;也用于在 RDKit 前批量把名称解析为 SMILES。所有实时请求只走 Delta CLI wrapper,并以当前 WORKSPACE_ROOT 下的有界 JSON 作为权威交接产物。
4
- ---
2
+ name: pubchem
3
+ description: 当用户给出化学品、分子、药物名称并询问 CID、同义词、分子式、分子量、SMILES、InChI、IUPAC 名、XLogP、TPSA 或供受体数量时使用;也用于在 RDKit 前批量把名称解析为 SMILES。所有实时请求只走 Delta CLI wrapper,并以当前 WORKSPACE_ROOT 下的有界 JSON 作为权威交接产物。
4
+ metadata:
5
+ allowed-tools:
6
+ - read_file
7
+ - python_repl
8
+ - step_finish
9
+ ---
5
10
 
6
11
  # PubChem 服务
7
12
 
@@ -1,4 +1,4 @@
1
1
  interface:
2
- display_name: "PubChem ?????"
3
- short_description: "?? Delta CLI ????????????????"
4
- default_prompt: "?? $pubchem ????????????????"
2
+ display_name: "PubChem 化合物查询"
3
+ short_description: "通过 Delta CLI 查询化合物身份、结构与公共性质"
4
+ default_prompt: "使用 $pubchem 查询这个化合物的基础身份和分子性质。"
@@ -1,7 +1,12 @@
1
1
  ---
2
- name: pymatgen
3
- description: 当用户需要解析材料化学式与组成、计算式量、解析或总结 CIF/POSCAR/JSON/CSSR/XSF 晶体结构、转换结构格式或分析空间群和对称性时使用。所有实时请求只走 Delta CLI wrapper;无机化学式优先使用本 Skill,不用 PubChem 或本地元素表替代。
4
- ---
2
+ name: pymatgen
3
+ description: 当用户需要解析材料化学式与组成、计算式量、解析或总结 CIF/POSCAR/JSON/CSSR/XSF 晶体结构、转换结构格式或分析空间群和对称性时使用。所有实时请求只走 Delta CLI wrapper;无机化学式优先使用本 Skill,不用 PubChem 或本地元素表替代。
4
+ metadata:
5
+ allowed-tools:
6
+ - read_file
7
+ - python_repl
8
+ - step_finish
9
+ ---
5
10
 
6
11
  # pymatgen 服务
7
12
 
@@ -1,4 +1,4 @@
1
1
  interface:
2
- display_name: "pymatgen ????"
3
- short_description: "?? Delta CLI ???????????????"
4
- default_prompt: "?? $pymatgen ??????????????"
2
+ display_name: "pymatgen 材料分析"
3
+ short_description: "通过 Delta CLI 解析材料组成、晶体结构和空间群"
4
+ default_prompt: "使用 $pymatgen 分析这个材料的组成或晶体结构。"
@@ -1,7 +1,12 @@
1
1
  ---
2
- name: rdkit
3
- description: 当用户需要通过已部署的 Delta Science 服务校验或规范化 SMILES/InChI、计算 RDKit 描述符、指纹、相似度、渲染或子结构筛选时使用。所有实时请求只能由 python_repl 直接执行 delta-science Skill 的 invoke.py;禁止 Bash、目录探测、直接 HTTP、本地 RDKit 和 native.data 路径。
4
- ---
2
+ name: rdkit
3
+ description: 当用户需要通过已部署的 Delta Science 服务校验或规范化 SMILES/InChI、计算 RDKit 描述符、指纹、相似度、渲染或子结构筛选时使用。所有实时请求只能由 python_repl 直接执行 delta-science Skill 的 invoke.py;禁止 Bash、目录探测、直接 HTTP、本地 RDKit 和 native.data 路径。
4
+ metadata:
5
+ allowed-tools:
6
+ - read_file
7
+ - python_repl
8
+ - step_finish
9
+ ---
5
10
 
6
11
  # RDKit 服务
7
12
 
@@ -1,4 +1,4 @@
1
1
  interface:
2
- display_name: "RDKit ?????"
3
- short_description: "?? Delta CLI ?????????????????"
4
- default_prompt: "?? $rdkit ???????????????????"
2
+ display_name: "RDKit 化学信息学"
3
+ short_description: "通过 Delta CLI 解析分子并计算描述符、相似度和子结构"
4
+ default_prompt: "使用 $rdkit 校验这些分子并完成所需的结构计算。"
@@ -0,0 +1,127 @@
1
+ {
2
+ "schema_version": 1,
3
+ "base_skills": [
4
+ "delta-sandbox",
5
+ "delta-shared",
6
+ "delta-science"
7
+ ],
8
+ "tools": [
9
+ {
10
+ "name": "pubchem",
11
+ "skill": "pubchem",
12
+ "legacy_tool": "pubchem",
13
+ "category": "molecule-information",
14
+ "operations": {
15
+ "health": "chem_pubchem_health",
16
+ "compound-resolve-cids": "chem_pubchem_compound_resolve-cids",
17
+ "compound-properties": "chem_pubchem_compound_properties",
18
+ "compound-synonyms": "chem_pubchem_compound_synonyms",
19
+ "compound-summary": "chem_pubchem_compound_summary",
20
+ "compound-batch-summary": "chem_pubchem_compound_batch-summary"
21
+ }
22
+ },
23
+ {
24
+ "name": "rdkit",
25
+ "skill": "rdkit",
26
+ "legacy_tool": "rdkit",
27
+ "category": "cheminformatics",
28
+ "operations": {
29
+ "health": "chem_rdkit_health",
30
+ "parse": "chem_rdkit_parse",
31
+ "descriptors": "chem_rdkit_descriptors",
32
+ "batch-descriptors": "chem_rdkit_batch-descriptors",
33
+ "batch-parse-describe": "chem_rdkit_batch-parse-describe",
34
+ "render": "chem_rdkit_render",
35
+ "fingerprint": "chem_rdkit_fingerprint",
36
+ "similarity": "chem_rdkit_similarity",
37
+ "similarity-matrix": "chem_rdkit_similarity-matrix",
38
+ "substructure": "chem_rdkit_substructure"
39
+ }
40
+ },
41
+ {
42
+ "name": "pymatgen",
43
+ "skill": "pymatgen",
44
+ "legacy_tool": "pymatgen",
45
+ "category": "materials-informatics",
46
+ "operations": {
47
+ "health": "chem_pymatgen_health",
48
+ "composition-parse": "chem_pymatgen_composition_parse",
49
+ "structure-parse": "chem_pymatgen_structure_parse",
50
+ "structure-summary": "chem_pymatgen_structure_summary",
51
+ "structure-convert": "chem_pymatgen_structure_convert",
52
+ "structure-symmetry": "chem_pymatgen_structure_symmetry"
53
+ }
54
+ },
55
+ {
56
+ "name": "gsasii",
57
+ "skill": "gsasii",
58
+ "legacy_tool": "gsasii",
59
+ "category": "diffraction",
60
+ "operations": {
61
+ "health": "chem_gsasii_health",
62
+ "powder-simulate": "chem_gsasii_powder_simulate",
63
+ "powder-refine": "chem_gsasii_powder_refine"
64
+ }
65
+ },
66
+ {
67
+ "name": "lammps",
68
+ "skill": "lammps",
69
+ "legacy_tool": "lammps",
70
+ "category": "molecular-dynamics",
71
+ "operations": {
72
+ "health": "chem_lammps_health",
73
+ "lj-melt-example": "chem_lammps_examples_lj-melt",
74
+ "run": "chem_lammps_run"
75
+ }
76
+ },
77
+ {
78
+ "name": "delta-bo",
79
+ "skill": "delta-bo",
80
+ "legacy_tool": "delta-bo",
81
+ "category": "optimization",
82
+ "operations": {
83
+ "commands": "chem_delta-bo_commands",
84
+ "generate": "chem_delta-bo_generate"
85
+ }
86
+ },
87
+ {
88
+ "name": "ldm-bo",
89
+ "skill": "ldm-bo",
90
+ "legacy_tool": "ldm-bo",
91
+ "category": "molecule-optimization",
92
+ "operations": {
93
+ "health": "chem_ldm-bo_health",
94
+ "recommend": "chem_ldm-bo_recommend",
95
+ "trajectory": "chem_ldm-bo_trajectory"
96
+ }
97
+ },
98
+ {
99
+ "name": "synbo",
100
+ "skill": "synbo-service",
101
+ "legacy_tool": "synbo-service",
102
+ "category": "reaction-optimization",
103
+ "operations": {
104
+ "health": "chem_synbo_health",
105
+ "initialize": "chem_synbo_initialize",
106
+ "optimize": "chem_synbo_optimize"
107
+ }
108
+ },
109
+ {
110
+ "name": "antbo",
111
+ "skill": "antbo-service",
112
+ "legacy_tool": "antbo-service",
113
+ "category": "antibody-optimization",
114
+ "operations": {
115
+ "health": "biology_antbo_health",
116
+ "run-default-job": "biology_antbo_run_default_job",
117
+ "run": "biology_antbo_run",
118
+ "log": "biology_antbo_log",
119
+ "jobs": "biology_antbo_jobs",
120
+ "stop": "biology_antbo_stop"
121
+ }
122
+ }
123
+ ],
124
+ "extra_skills": [
125
+ "antbo-ldm-guard"
126
+ ]
127
+ }
@@ -1,7 +1,12 @@
1
1
  ---
2
- name: synbo-service
3
- description: 当用户需要对分类反应条件空间做初始采样,或基于真实历史反应结果使用 SynBO 推荐下一批催化剂、溶剂、碱等条件时使用。支持 health、initialize、optimize;所有调用只走 Delta CLI,重型 optimize 串行执行且超时不自动重试。
4
- ---
2
+ name: synbo-service
3
+ description: 当用户需要对分类反应条件空间做初始采样,或基于真实历史反应结果使用 SynBO 推荐下一批催化剂、溶剂、碱等条件时使用。支持 health、initialize、optimize;所有调用只走 Delta CLI,重型 optimize 串行执行且超时不自动重试。
4
+ metadata:
5
+ allowed-tools:
6
+ - read_file
7
+ - python_repl
8
+ - step_finish
9
+ ---
5
10
 
6
11
  # SynBO 服务
7
12
 
@@ -1,4 +1,4 @@
1
1
  interface:
2
- display_name: "SynBO ??????"
3
- short_description: "?? Delta CLI ????????????????"
4
- default_prompt: "?? $synbo-service ??????????????????"
2
+ display_name: "SynBO 反应条件优化"
3
+ short_description: "通过 Delta CLI 初始化或优化分类反应条件空间"
4
+ default_prompt: "使用 $synbo-service 根据历史结果推荐下一批反应条件。"