@delta-infra/cli 1.0.95 → 1.0.97

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 (40) hide show
  1. package/README.md +471 -467
  2. package/checksums.txt +5 -5
  3. package/package.json +1 -1
  4. package/scripts/install-wizard.js +701 -701
  5. package/scripts/install.js +442 -442
  6. package/scripts/run.js +65 -65
  7. package/skills/delta-sandbox/SKILL.md +356 -345
  8. package/skills/delta-sandbox/agents/openai.yaml +4 -4
  9. package/skills/delta-sandbox/references/commands.md +56 -58
  10. package/skills/delta-sandbox/references/lifecycle.md +92 -98
  11. package/skills/delta-sandbox/references/recipes.md +133 -138
  12. package/skills/delta-science/AGENTS.md +49 -49
  13. package/skills/delta-science/SKILL.md +141 -129
  14. package/skills/delta-science/agents/openai.yaml +4 -4
  15. package/skills/delta-science/references/antbo.md +100 -100
  16. package/skills/delta-science/references/cli-contract.md +53 -53
  17. package/skills/delta-science/references/delta-bo.md +89 -89
  18. package/skills/delta-science/references/generated-catalog.md +48 -0
  19. package/skills/delta-science/references/gsasii.md +116 -116
  20. package/skills/delta-science/references/lammps.md +66 -66
  21. package/skills/delta-science/references/ldm-bo.md +129 -129
  22. package/skills/delta-science/references/ldm.md +73 -73
  23. package/skills/delta-science/references/materials-design.md +109 -0
  24. package/skills/delta-science/references/molecule-enrich.md +59 -0
  25. package/skills/delta-science/references/operation-contracts.md +137 -0
  26. package/skills/delta-science/references/pubchem.md +126 -126
  27. package/skills/delta-science/references/pymatgen.md +68 -68
  28. package/skills/delta-science/references/qe-dft.md +123 -0
  29. package/skills/delta-science/references/rdkit.md +138 -138
  30. package/skills/delta-science/references/routing-index.md +35 -26
  31. package/skills/delta-science/references/services.md +112 -0
  32. package/skills/delta-science/references/strbo.md +87 -87
  33. package/skills/delta-science/references/synbo.md +198 -198
  34. package/skills/delta-science/references/workflows.md +86 -49
  35. package/skills/delta-science/scripts/catalog.py +92 -0
  36. package/skills/delta-science/scripts/generated_catalog.py +69 -0
  37. package/skills/delta-science/scripts/invoke.py +346 -0
  38. package/skills/delta-shared/SKILL.md +95 -97
  39. package/skills/delta-shared/agents/openai.yaml +4 -4
  40. package/skills/manifest.json +19 -19
@@ -1,140 +1,152 @@
1
- ---
2
- name: delta-science
3
- description: "公司在线 Science 能力的统一入口,所有调用都经 Delta CLI。凡是查询具体化合物/CID/SMILES/分子性质、计算分子描述符或相似度、解析晶体/CIF/空间群、模拟或精修 XRD、执行 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 操作最终都经
18
- `delta-cli science invoke -> Science Server`。
19
- - 使用 CLI 的标准认证与 `base_url` 派生出的 Science 服务地址(`{base_url}/science_tool`)。
20
- 不得通过环境变量、命令参数或业务 URL 改写服务路由。
21
- - 禁止使用 `curl`、`requests`、`httpx`、浏览器和 PowerShell Web 命令直接访问公司网关或
22
- 业务服务 URL。
23
- - 不得将本地 RDKit、pymatgen、LAMMPS、BO、回归或 sandbox 结果冒充为 Science 结果。
24
- 本地工具可用于格式转换、文件解析或展示,但必须明确其来源,并与 CLI 结果分开。
25
- - 执行前读取对应 reference,并按其选择 operation 和请求字段;reference 缺失、过期或与
26
- 当前目录不一致时,可查询实时目录。禁止凭记忆创造字段或枚举值。
27
- - `tools.name` 和 `tool_endpoints.name` 是唯一权威调用名称。传给 CLI 的 tool 和
28
- endpoint 必须与当前数据库目录完全一致;CLI 不做别名映射、前缀裁剪、
29
- profile 判断或 `not_found` 后改名重试。reference 与目录不一致时终止并报告配置问题。
30
- - 只有 CLI 子进程退出码为 0 且输出 JSON 顶层 `ok` 为 `true` 时,才能报告调用成功。
31
- CLI 顶层 `data` 保存服务响应;仅按对应 reference 说明的信封和业务结构读取字段,
32
- 不得递归搜索看似合理的值,也不得把 `valid:false` 等业务结果误报为传输失败。
33
-
34
- 调用模板:
35
-
36
- ```text
37
- delta-cli science invoke --tool TOOL --endpoint ENDPOINT --data JSON
38
- ```
39
-
40
- 仅当 reference 明确将字段定义为查询参数时使用 `--params JSON`。不要将 JSON 拼接为命令
1
+ ---
2
+ name: delta-science
3
+ description: "公司在线 Science 能力的统一入口,所有调用都经 Delta CLI。凡是查询具体化合物/CID/SMILES/分子性质、批量 PubChem 与 RDKit 分子增强、计算分子描述符或相似度、解析晶体/CIF/空间群、材料表格建模与候选推荐、Quantum ESPRESSO/QE DFT、模拟或精修 XRD、执行 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 操作最终都经
18
+ `delta-cli science invoke -> Science Server`。
19
+ - 使用 CLI 的标准认证与 `base_url` 派生出的 Science 服务地址(`{base_url}/science_tool`)。
20
+ 不得通过环境变量、命令参数或业务 URL 改写服务路由。
21
+ - 禁止使用 `curl`、`requests`、`httpx`、浏览器和 PowerShell Web 命令直接访问公司网关或
22
+ 业务服务 URL。
23
+ - 不得将本地 RDKit、pymatgen、LAMMPS、BO、回归或 sandbox 结果冒充为 Science 结果。
24
+ 本地工具可用于格式转换、文件解析或展示,但必须明确其来源,并与 CLI 结果分开。
25
+ - 执行前读取对应 reference,并按其选择 operation 和请求字段;reference 缺失、过期或与
26
+ 当前目录不一致时,可查询实时目录。禁止凭记忆创造字段或枚举值。
27
+ - `tools.name` 和 `tool_endpoints.name` 是唯一权威调用名称。传给 CLI 的 tool 和
28
+ endpoint 必须与当前数据库目录完全一致;CLI 不做别名映射、前缀裁剪、
29
+ profile 判断或 `not_found` 后改名重试。reference 与目录不一致时终止并报告配置问题。
30
+ - 只有 CLI 子进程退出码为 0 且输出 JSON 顶层 `ok` 为 `true` 时,才能报告调用成功。
31
+ CLI 顶层 `data` 保存服务响应;仅按对应 reference 说明的信封和业务结构读取字段,
32
+ 不得递归搜索看似合理的值,也不得把 `valid:false` 等业务结果误报为传输失败。
33
+
34
+ 调用模板:
35
+
36
+ ```text
37
+ delta-cli science invoke --tool TOOL --endpoint ENDPOINT --data JSON
38
+ ```
39
+
40
+ 仅当 reference 明确将字段定义为查询参数时使用 `--params JSON`。不要将 JSON 拼接为命令
41
41
  代码;使用调用环境的安全参数传递机制传入单个 JSON 参数。
42
42
 
43
- 只调用完成目标所需的 operation。跨工具任务在同一个 Skill 执行中按依赖顺序调用,
44
- 下游只能使用上一步已验证的业务字段。已知工具默认不要额外调用 health、schema、
45
- catalog、render、descriptors 或文件操作;用户请求、诊断需要或 reference 与实时目录不一致时,
46
- 可执行最少的只读调用。
47
-
48
- ## 选择工具
49
-
50
- | 科研目标 | tool | 详细规则 |
51
- | --- | --- | --- |
43
+ Materials Design 的训练表 multipart 上传、QE 的原始 artifact 上传和要求自定义
44
+ `Idempotency-Key` 的请求,只有在 Science Server 已提供明确的 JSON/query adapter 时才能
45
+ 通过本 CLI 使用。不要把本地路径、base64 或请求头伪装成普通 `--data` 字段;若目录没有
46
+ 这样的 adapter,按“未暴露、未发送远端请求”处理,不要直连 preflight Gateway。
47
+
48
+ 只调用完成目标所需的 operation。跨工具任务在同一个 Skill 执行中按依赖顺序调用,
49
+ 下游只能使用上一步已验证的业务字段。已知工具默认不要额外调用 health、schema、
50
+ catalog、render、descriptors 或文件操作;用户请求、诊断需要或 reference 与实时目录不一致时,
51
+ 可执行最少的只读调用。
52
+
53
+ ## 选择工具
54
+
55
+ | 科研目标 | tool | 详细规则 |
56
+ | --- | --- | --- |
52
57
  | 化合物身份、CID、同义词、公共属性、名称转 SMILES | `pubchem` | [pubchem.md](references/pubchem.md) |
53
58
  | SMILES/InChI、描述符、指纹、相似度、渲染、子结构 | `rdkit` | [rdkit.md](references/rdkit.md) |
59
+ | 批量名称解析并联合 PubChem/RDKit 增强 | `chemistry` | [molecule-enrich.md](references/molecule-enrich.md) |
54
60
  | 无机化学式、CIF/POSCAR、晶体结构、空间群 | `pymatgen` | [pymatgen.md](references/pymatgen.md) |
55
- | 粉末衍射模拟、Rietveld 精修 | `gsasii` | [gsasii.md](references/gsasii.md) |
61
+ | 粉末衍射模拟、Rietveld 精修 | `gsasii` | [gsasii.md](references/gsasii.md) |
56
62
  | 分子动力学、最小化、thermo 与输出文件 | `lammps` | [lammps.md](references/lammps.md) |
57
63
  | 通用数值/整数/分类实验变量优化 | `delta-bo` | [delta-bo.md](references/delta-bo.md) |
64
+ | 表格材料 surrogate、候选空间、EI/PI/UCB 与异步推荐作业 | `materials-design` | [materials-design.md](references/materials-design.md) |
65
+ | Quantum ESPRESSO/QE 的 PP、异步 DFT 作业、日志与 artifact | `qe` | [qe-dft.md](references/qe-dft.md) |
58
66
  | 固定候选池 next-SMILES、PDF2Dock、分子 BO 轨迹 | `ldm-bo` | [ldm-bo.md](references/ldm-bo.md) |
59
- | KRAS G12D 小分子生成、vina/activity 多目标迭代 | `strbo` | [strbo.md](references/strbo.md) |
60
- | 反应条件初始化、基于真实得率推荐下一批实验 | `synbo` | [synbo.md](references/synbo.md) |
61
- | 抗体 CDRH3 生成/评估及 AntBO 作业管理 | `antbo` | [antbo.md](references/antbo.md) |
62
-
63
- 用户使用 “LDM”“大发现模型”“小分子药 LDM” 或 “抗体 LDM” 表述完整科研流程时,
64
- 先读取 [ldm.md](references/ldm.md),再只读取其中选定后端对应的一个 reference。
65
- `ldm.md` 是编排规则,不是 tool,不得把 `ldm` 当作 `--tool` 参数。
66
-
67
- 工具明确时直接读取所选 tool 的 reference,其中已经包含 operation、参数和最小场景;
68
- 不要读取其他工具文档。只有任务在两个或多个工具之间存在歧义时,才先读
69
- [routing-index.md](references/routing-index.md)。跨工具任务再读
70
- [workflows.md](references/workflows.md)。
71
-
72
- 本表是经过验证的科研路由,不是服务端工具清单。若用户点名本表之外的新工具,或 reference
73
- 缺失、过期或与 CLI 返回不一致,允许运行 `delta-cli science list`,再使用目录返回的精确 tool name 运行一次
74
- `delta-cli science endpoints list <tool>`;两次输出都必须满足退出码为 0 且顶层
75
- `ok:true`。不得用空 body、错误参数、源码或直接 HTTP 探测。实时 endpoint
76
- 元数据若没有足够的请求字段契约,应说明“目录已发现,
77
- 但服务端未提供可安全构造请求的 schema”,不得猜 body、模糊匹配或转换名称。新增工具
78
- 因此无需修改 CLI;只有需要自然语言自动选路或自动组装参数时,才补充对应 reference。
79
-
80
- ## 路由边界
81
-
67
+ | KRAS G12D 小分子生成、vina/activity 多目标迭代 | `strbo` | [strbo.md](references/strbo.md) |
68
+ | 反应条件初始化、基于真实得率推荐下一批实验 | `synbo` | [synbo.md](references/synbo.md) |
69
+ | 抗体 CDRH3 生成/评估及 AntBO 作业管理 | `antbo` | [antbo.md](references/antbo.md) |
70
+
71
+ 用户使用 “LDM”“大发现模型”“小分子药 LDM” 或 “抗体 LDM” 表述完整科研流程时,
72
+ 先读取 [ldm.md](references/ldm.md),再只读取其中选定后端对应的一个 reference。
73
+ `ldm.md` 是编排规则,不是 tool,不得把 `ldm` 当作 `--tool` 参数。
74
+
75
+ 工具明确时直接读取所选 tool 的 reference,其中已经包含 operation、参数和最小场景;
76
+ 不要读取其他工具文档。只有任务在两个或多个工具之间存在歧义时,才先读
77
+ [routing-index.md](references/routing-index.md)。跨工具任务再读
78
+ [workflows.md](references/workflows.md)。
79
+
80
+ 本表是经过验证的科研路由,不是服务端工具清单。若用户点名本表之外的新工具,或 reference
81
+ 缺失、过期或与 CLI 返回不一致,允许运行 `delta-cli science list`,再使用目录返回的精确 tool name 运行一次
82
+ `delta-cli science endpoints list <tool>`;两次输出都必须满足退出码为 0 且顶层
83
+ `ok:true`。不得用空 body、错误参数、源码或直接 HTTP 探测。实时 endpoint
84
+ 元数据若没有足够的请求字段契约,应说明“目录已发现,
85
+ 但服务端未提供可安全构造请求的 schema”,不得猜 body、模糊匹配或转换名称。新增工具
86
+ 因此无需修改 CLI;只有需要自然语言自动选路或自动组装参数时,才补充对应 reference。
87
+
88
+ ## 路由边界
89
+
82
90
  - 普通分子名称先用 PubChem;只有需要结构计算时才把成功返回的 SMILES 交给 RDKit。
83
91
  - 无机化学式、组成和式量优先 pymatgen,不用 PubChem 或本地元素表补算。
92
+ - 表格材料建模与候选排序使用 Materials Design;必须区分可控变量、目标、候选空间、
93
+ 交叉验证和不确定性,推荐结果只是待验证假设。
94
+ - 需要显式电子结构计算时使用 QE;先处理元素全集、PP policy/lock 和结构 artifact,
95
+ 再提交异步 workflow,不把作业接收、scheduler 完成或 solver 收敛混为一谈。
84
96
  - 通用实验变量使用 Delta-BO;已有固定 SMILES 候选池或 PDF2Dock 轨迹使用 LDM-BO;
85
- 围绕服务端固定 KRAS G12D 生成并迭代小分子使用 STRBO;偶联反应、反应条件和历史
86
- 得率使用 SynBO;抗体/CDRH3 使用 AntBO,不得混用。
87
- - 在线 LDM、STRBO、AntBO 和 LDM-BO 任务不得转交旧 `large-discovery-model` Skill,
88
- 不得运行其 gateway 脚本或内置服务地址。离线演示不属于公司 Science 结果;只有用户
89
- 明确要求“不调用公司资源”时才能说明该边界,但本 Skill 仍不得运行旧 Skill。
90
- - GSAS-II 精修必须有真实粉末数据、仪器参数和 phase CIF。LAMMPS 必须有明确的
91
- input/data/force-field;禁止编造实验数据、CIF、力场、历史观测或优化结果。
92
-
93
- ## 安全、重试与产物
94
-
95
- - `run-default-job`、`run`、`stop` 等远程变更必须由用户明确授权。结果未知、超时或
96
- 断连时不得重试,因为远端操作可能已经发生。
97
- - 参数校验、空 recommendations 和业务后端失败均按本次失败结束。对 `health`、目录和其他
98
- 明确只读、幂等的 operation,网络类 502、504 或 timeout 可按相同参数最多重试一次。
99
- SynBO 每个用户任务最多一次业务调用;不得换模型、换 acquisition 或改用本地算法。
100
- - CLI 首次返回失败后应返回原始错误短摘要。用户明确要求排障时,可运行只读的
101
- `delta-cli auth status`、`delta-cli config show` 或 `delta-cli ... --help`;不得自行登录、
102
- 修改配置或环境变量、伪造 UID、令牌或 API Key,也不得改变 operation、参数或调用链重试。
103
- - `X-User-Uid`、登录、quota 或 permission 错误属于终止性认证错误;只转发原始错误和
104
- 登录提示。Skill 绝不自行登录、检查凭据、猜测用户标识或尝试绕过 quota。
105
- - 重型调用串行执行。客户端超时不代表远端计算已取消。
106
- - 用户未要求文件时不创建 CSV、图片或报告。内部交接文件只能写入当前
107
- `WORKSPACE_ROOT`,不得读取其他会话 workspace 或历史结果补全当前任务。
108
- - 外层规划器自动附加的路径、JSON、图表或报告不等同于用户明确要求。若任务本质只是
109
- 查询、比较或校验,直接返回最小文本结果;不得为了满足附加产物而重复 Science 调用。
110
- - 二进制产物只解码文档明确的字段;PNG 必须验证 magic bytes。
111
- - 用户明确要求公开背景资料或文献时,可进行网页检索,但不得将其作为 Science 服务调用或
112
- 用其替代 CLI 结果;分别标明来源。
113
-
114
- ## 输出
115
-
116
- 将当前 CLI `data` 中、由对应 reference 定义的业务响应投影为用户要求的最小结果;逐字保留字符串、数值、警告和来源。
117
- 不得补充服务未返回的单位、机制、引用、链接、预测值或记忆知识。预测结果不得
118
- 描述为实测结果。
119
- 成功取得最后一个所需业务结果后,直接将其投影为最终答复。禁止为了排序、排版、生成
120
- 表格或摘要再次执行 CLI,也禁止把结果手工复制成新的数据字面量;简单
121
- 筛选、比较和文本组织直接在最终答复中完成。
122
-
123
- 成功时只返回由当前 CLI 业务结果生成的有界纯文本;失败时只返回 CLI 原始错误短摘要。
124
- 完成后不得重新计算、改写或用手工建议替代成功/失败的 Science 结果。
125
-
126
- 每次成功结果保留:
127
-
128
- ```text
129
- 证据边界:仅限当前 Delta CLI `data` 中的业务结果
130
- 调用链:delta-cli
131
- 禁止补充未返回内容:是
132
- ```
133
-
134
- ## 完成标准
135
-
136
- - 每个在线操作都有 CLI 退出码为 0 且顶层 `ok:true` 的证据;
137
- - 每个科学数值来自当前调用 `data` 中、由 reference 定义的业务字段;
138
- - 下游输入来自当前任务中已验证的上游结果;
139
- - 失败准确归类为配置、CLI、参数、Science Server、业务服务或超时;
140
- - 没有直接 HTTP、本地科学库、跨会话文件或人工结果替代。
97
+ 围绕服务端固定 KRAS G12D 生成并迭代小分子使用 STRBO;偶联反应、反应条件和历史
98
+ 得率使用 SynBO;抗体/CDRH3 使用 AntBO,不得混用。
99
+ - 在线 LDM、STRBO、AntBO 和 LDM-BO 任务不得转交旧 `large-discovery-model` Skill,
100
+ 不得运行其 gateway 脚本或内置服务地址。离线演示不属于公司 Science 结果;只有用户
101
+ 明确要求“不调用公司资源”时才能说明该边界,但本 Skill 仍不得运行旧 Skill。
102
+ - GSAS-II 精修必须有真实粉末数据、仪器参数和 phase CIF。LAMMPS 必须有明确的
103
+ input/data/force-field;禁止编造实验数据、CIF、力场、历史观测或优化结果。
104
+
105
+ ## 安全、重试与产物
106
+
107
+ - `run-default-job`、`run`、`stop` 等远程变更必须由用户明确授权。结果未知、超时或
108
+ 断连时不得重试,因为远端操作可能已经发生。
109
+ - 参数校验、空 recommendations 和业务后端失败均按本次失败结束。对 `health`、目录和其他
110
+ 明确只读、幂等的 operation,网络类 502、504 或 timeout 可按相同参数最多重试一次。
111
+ SynBO 每个用户任务最多一次业务调用;不得换模型、换 acquisition 或改用本地算法。
112
+ - CLI 首次返回失败后应返回原始错误短摘要。用户明确要求排障时,可运行只读的
113
+ `delta-cli auth status`、`delta-cli config show` 或 `delta-cli ... --help`;不得自行登录、
114
+ 修改配置或环境变量、伪造 UID、令牌或 API Key,也不得改变 operation、参数或调用链重试。
115
+ - `X-User-Uid`、登录、quota 或 permission 错误属于终止性认证错误;只转发原始错误和
116
+ 登录提示。Skill 绝不自行登录、检查凭据、猜测用户标识或尝试绕过 quota。
117
+ - 重型调用串行执行。客户端超时不代表远端计算已取消。
118
+ - 用户未要求文件时不创建 CSV、图片或报告。内部交接文件只能写入当前
119
+ `WORKSPACE_ROOT`,不得读取其他会话 workspace 或历史结果补全当前任务。
120
+ - 外层规划器自动附加的路径、JSON、图表或报告不等同于用户明确要求。若任务本质只是
121
+ 查询、比较或校验,直接返回最小文本结果;不得为了满足附加产物而重复 Science 调用。
122
+ - 二进制产物只解码文档明确的字段;PNG 必须验证 magic bytes。
123
+ - 用户明确要求公开背景资料或文献时,可进行网页检索,但不得将其作为 Science 服务调用或
124
+ 用其替代 CLI 结果;分别标明来源。
125
+
126
+ ## 输出
127
+
128
+ 将当前 CLI `data` 中、由对应 reference 定义的业务响应投影为用户要求的最小结果;逐字保留字符串、数值、警告和来源。
129
+ 不得补充服务未返回的单位、机制、引用、链接、预测值或记忆知识。预测结果不得
130
+ 描述为实测结果。
131
+ 成功取得最后一个所需业务结果后,直接将其投影为最终答复。禁止为了排序、排版、生成
132
+ 表格或摘要再次执行 CLI,也禁止把结果手工复制成新的数据字面量;简单
133
+ 筛选、比较和文本组织直接在最终答复中完成。
134
+
135
+ 成功时只返回由当前 CLI 业务结果生成的有界纯文本;失败时只返回 CLI 原始错误短摘要。
136
+ 完成后不得重新计算、改写或用手工建议替代成功/失败的 Science 结果。
137
+
138
+ 每次成功结果保留:
139
+
140
+ ```text
141
+ 证据边界:仅限当前 Delta CLI `data` 中的业务结果
142
+ 调用链:delta-cli
143
+ 禁止补充未返回内容:是
144
+ ```
145
+
146
+ ## 完成标准
147
+
148
+ - 每个在线操作都有 CLI 退出码为 0 且顶层 `ok:true` 的证据;
149
+ - 每个科学数值来自当前调用 `data` 中、由 reference 定义的业务字段;
150
+ - 下游输入来自当前任务中已验证的上游结果;
151
+ - 失败准确归类为配置、CLI、参数、Science Server、业务服务或超时;
152
+ - 没有直接 HTTP、本地科学库、跨会话文件或人工结果替代。
@@ -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: "通过 Delta CLI 统一调用并编排全部 Science 工具"
4
+ default_prompt: "使用 $delta-science 分析科研目标,选择合适工具并通过 Delta CLI 完成任务。"
@@ -1,100 +1,100 @@
1
- # AntBO 详细规则
2
-
3
- 直接用 `delta-cli science invoke` 设置 `endpoint`、`data`、`params`。按本文件定义的
4
- CLI 服务响应字段读取业务结果。标为“变更”的 operation 只有用户明确授权时才能执行,且不得重试。
5
-
6
- 抗体/CDRH3 场景即使出现 “LDM” 也不得改用小分子 LDM-BO 或 STRBO。当前 catalog
7
- 同时暴露 CDRH3 生成/建议/评估接口和传统 AntBO 作业管理接口。
8
-
9
- ## health(只读)
10
-
11
- - 情景:检查远程 AntBO 环境是否可用。
12
- - 代码:`endpoint="health"; data=None; params=None`
13
- - 投影:status、antbo_available、metadata、limits、warnings。
14
-
15
- ## run-default-job(变更)
16
-
17
- - 情景:用户明确要求启动标准后台续跑任务。
18
- - 代码:`endpoint="run-default-job"; data=None; params={"log_name":"antbo_<唯一时间戳>.log","append":False,"timeout_seconds":86400}`
19
- - 投影:started、pid、log_name/log_path、timeout_seconds;未知结果禁止重试。
20
-
21
- 只有同一次业务响应同时包含 `started=true`、非空 `pid` 以及 `log_name` 或
22
- `log_path` 时,才能声称作业已启动;字段缺失时标记为未验证,不得重复提交。
23
-
24
- ## run(重型变更)
25
-
26
- - 情景:用户明确给出受限 AntBO 脚本、配置、抗原文件并要求同步执行。
27
- - 代码:`endpoint="run"; data={"script_path":"./bo/main.py","config_path":"./bo/config.yaml","n_trials":1,"seed":42,"antigens_file":"<项目根内路径>","extra_args":[],"timeout_seconds":86400,"cuda_visible_devices":"0","conda_env":"DGM","log_name":"antbo_custom.log","append":False}; params=None`
28
- - 投影:ok、returncode、timed_out、log_path、日志截断状态;不在最终答复展开完整日志。
29
-
30
- ## log(只读)
31
-
32
- - 情景:用户提供已知 log_name 并要求查看尾部日志。
33
- - 代码:`endpoint="log"; data=None; params={"log_name":"antbo_run.log"}`
34
- - 投影:log_name、log、log_truncated;长日志只给有界尾部摘要。
35
-
36
- ## jobs(只读)
37
-
38
- - 情景:查看当前 service 容器登记的活动作业。
39
- - 代码:`endpoint="jobs"; data=None; params=None`
40
- - 投影:jobs 中 pid、running、returncode、log_name、log_path。
41
-
42
- ## stop(变更)
43
-
44
- - 情景:用户明确要求停止已确认 PID 的任务。
45
- - 代码:`endpoint="stop"; data=None; params={"pid":12345}`
46
- - 投影:stopped、pid、message;不得盲目重试或在多任务时无参数调用。
47
-
48
- ## CDRH3 生成与优化
49
-
50
- 服务端支持的抗原由 health 的 `supported_antigens` 决定;不得猜测或把任意蛋白文件
51
- 路径当成 antigen。部署通常支持 `1ADQ_A`、`1FBI_X`、`1H0D_C`、`1NSN_S`、
52
- `1OB1_C`,但执行前以当前服务响应和用户选择为准。
53
-
54
- ### ldm-health(只读)
55
-
56
- - 代码:`endpoint="ldm-health"; data=None; params=None`
57
- - 投影:supported_antigens、cdrh3_length、objective、Absolut/模型真实性字段。
58
-
59
- ### ldm-init / ldm-init-validate
60
-
61
- ```json
62
- {
63
- "task": "为指定抗原生成初始 CDRH3 候选",
64
- "num_initial": 3,
65
- "antigen": "1ADQ_A",
66
- "seed": 42
67
- }
68
- ```
69
-
70
- 只校验参数时使用 `ldm-init-validate`;正式生成使用 `ldm-init`。成功候选必须是服务
71
- 返回的 CDRH3 序列,不得由模型自行编造。
72
-
73
- ### ldm-suggest / ldm-suggest-validate
74
-
75
- ```json
76
- {
77
- "task": "继续降低抗原结合能",
78
- "history_xs": ["ARVGYSLYAMD", "AKYGGYDYAMD"],
79
- "history_ys": [-18.2, -17.4],
80
- "num_suggestions": 2,
81
- "antigen": "1ADQ_A",
82
- "seed": 42
83
- }
84
- ```
85
-
86
- AntBO 是单目标,`history_ys` 必须是一维有限数值数组,并与 `history_xs` 等长。
87
- 每条 CDRH3 必须是 11 个标准氨基酸字符;以 `ldm-health` 当前返回的
88
- `cdrh3_length` 为最终约束。
89
-
90
- ### evaluate / evaluate-validate
91
-
92
- ```json
93
- {
94
- "designs": ["ARVGYSLYAMD", "AKYGGYDYAMD"],
95
- "antigen": "1ADQ_A"
96
- }
97
- ```
98
-
99
- 成功 score 数量必须与 designs 一致;结合能越低越好。生成、建议和评估均为远端重型
100
- 调用,结果未知或超时时不得重试,也不得用本地随机分数补全。
1
+ # AntBO 详细规则
2
+
3
+ 直接用 `delta-cli science invoke` 设置 `endpoint`、`data`、`params`。按本文件定义的
4
+ CLI 服务响应字段读取业务结果。标为“变更”的 operation 只有用户明确授权时才能执行,且不得重试。
5
+
6
+ 抗体/CDRH3 场景即使出现 “LDM” 也不得改用小分子 LDM-BO 或 STRBO。当前 catalog
7
+ 同时暴露 CDRH3 生成/建议/评估接口和传统 AntBO 作业管理接口。
8
+
9
+ ## health(只读)
10
+
11
+ - 情景:检查远程 AntBO 环境是否可用。
12
+ - 代码:`endpoint="health"; data=None; params=None`
13
+ - 投影:status、antbo_available、metadata、limits、warnings。
14
+
15
+ ## run-default-job(变更)
16
+
17
+ - 情景:用户明确要求启动标准后台续跑任务。
18
+ - 代码:`endpoint="run-default-job"; data=None; params={"log_name":"antbo_<唯一时间戳>.log","append":False,"timeout_seconds":86400}`
19
+ - 投影:started、pid、log_name/log_path、timeout_seconds;未知结果禁止重试。
20
+
21
+ 只有同一次业务响应同时包含 `started=true`、非空 `pid` 以及 `log_name` 或
22
+ `log_path` 时,才能声称作业已启动;字段缺失时标记为未验证,不得重复提交。
23
+
24
+ ## run(重型变更)
25
+
26
+ - 情景:用户明确给出受限 AntBO 脚本、配置、抗原文件并要求同步执行。
27
+ - 代码:`endpoint="run"; data={"script_path":"./bo/main.py","config_path":"./bo/config.yaml","n_trials":1,"seed":42,"antigens_file":"<项目根内路径>","extra_args":[],"timeout_seconds":86400,"cuda_visible_devices":"0","conda_env":"DGM","log_name":"antbo_custom.log","append":False}; params=None`
28
+ - 投影:ok、returncode、timed_out、log_path、日志截断状态;不在最终答复展开完整日志。
29
+
30
+ ## log(只读)
31
+
32
+ - 情景:用户提供已知 log_name 并要求查看尾部日志。
33
+ - 代码:`endpoint="log"; data=None; params={"log_name":"antbo_run.log"}`
34
+ - 投影:log_name、log、log_truncated;长日志只给有界尾部摘要。
35
+
36
+ ## jobs(只读)
37
+
38
+ - 情景:查看当前 service 容器登记的活动作业。
39
+ - 代码:`endpoint="jobs"; data=None; params=None`
40
+ - 投影:jobs 中 pid、running、returncode、log_name、log_path。
41
+
42
+ ## stop(变更)
43
+
44
+ - 情景:用户明确要求停止已确认 PID 的任务。
45
+ - 代码:`endpoint="stop"; data=None; params={"pid":12345}`
46
+ - 投影:stopped、pid、message;不得盲目重试或在多任务时无参数调用。
47
+
48
+ ## CDRH3 生成与优化
49
+
50
+ 服务端支持的抗原由 health 的 `supported_antigens` 决定;不得猜测或把任意蛋白文件
51
+ 路径当成 antigen。部署通常支持 `1ADQ_A`、`1FBI_X`、`1H0D_C`、`1NSN_S`、
52
+ `1OB1_C`,但执行前以当前服务响应和用户选择为准。
53
+
54
+ ### ldm-health(只读)
55
+
56
+ - 代码:`endpoint="ldm-health"; data=None; params=None`
57
+ - 投影:supported_antigens、cdrh3_length、objective、Absolut/模型真实性字段。
58
+
59
+ ### ldm-init / ldm-init-validate
60
+
61
+ ```json
62
+ {
63
+ "task": "为指定抗原生成初始 CDRH3 候选",
64
+ "num_initial": 3,
65
+ "antigen": "1ADQ_A",
66
+ "seed": 42
67
+ }
68
+ ```
69
+
70
+ 只校验参数时使用 `ldm-init-validate`;正式生成使用 `ldm-init`。成功候选必须是服务
71
+ 返回的 CDRH3 序列,不得由模型自行编造。
72
+
73
+ ### ldm-suggest / ldm-suggest-validate
74
+
75
+ ```json
76
+ {
77
+ "task": "继续降低抗原结合能",
78
+ "history_xs": ["ARVGYSLYAMD", "AKYGGYDYAMD"],
79
+ "history_ys": [-18.2, -17.4],
80
+ "num_suggestions": 2,
81
+ "antigen": "1ADQ_A",
82
+ "seed": 42
83
+ }
84
+ ```
85
+
86
+ AntBO 是单目标,`history_ys` 必须是一维有限数值数组,并与 `history_xs` 等长。
87
+ 每条 CDRH3 必须是 11 个标准氨基酸字符;以 `ldm-health` 当前返回的
88
+ `cdrh3_length` 为最终约束。
89
+
90
+ ### evaluate / evaluate-validate
91
+
92
+ ```json
93
+ {
94
+ "designs": ["ARVGYSLYAMD", "AKYGGYDYAMD"],
95
+ "antigen": "1ADQ_A"
96
+ }
97
+ ```
98
+
99
+ 成功 score 数量必须与 designs 一致;结合能越低越好。生成、建议和评估均为远端重型
100
+ 调用,结果未知或超时时不得重试,也不得用本地随机分数补全。
@@ -1,53 +1,53 @@
1
- # Delta CLI 执行约定
2
-
3
- ## 使用 CLI
4
-
5
- 所有实时 Science 调用最终都使用已安装的 Delta CLI;CLI 是服务调用边界。标准命令为:
6
-
7
- ```text
8
- delta-cli science invoke --tool TOOL --endpoint ENDPOINT --data JSON
9
- ```
10
-
11
- `TOOL` 与 `ENDPOINT` 必须逐字使用当前 reference 或实时目录中的
12
- `tools.name`、`tool_endpoints.name`;不得增加别名映射、裁剪前缀或在 `not_found` 后改名重试。
13
- 仅当 operation 文档明确要求查询参数时使用 `--params JSON`。不要同时传递 `--data` 和
14
- `--params`,也不要改用 `curl`、`httpx`、`requests`、`Invoke-RestMethod` 或业务服务 URL。
15
-
16
- CLI 使用其标准认证和由 `base_url` 派生出的 Science 服务地址(`{base_url}/science_tool`)。
17
- Skill 不得通过环境变量、命令参数或临时配置改写服务路由,也不读取、修改或伪造凭据。
18
-
19
- ## 成功与结果
20
-
21
- CLI 成功时输出单个 JSON 信封:
22
-
23
- ```json
24
- {
25
- "ok": true,
26
- "data": {}
27
- }
28
- ```
29
-
30
- 只有 CLI 退出码为 0 且顶层 `ok` 为 `true` 时,才能报告调用成功。顶层 `data` 保存服务响应。
31
- 按 operation reference 规定的响应结构读取字段:若文档明确说明网关或业务信封的 `data`,
32
- 可读取该已知层级;不得递归搜索字段,也不得将业务返回的 `valid:false`、空结果或警告误报为
33
- CLI 传输失败。
34
-
35
- 退出码非 0 或顶层 `ok:false` 时,本次调用失败;转发 CLI 的原始错误短摘要,不得切换到
36
- 其他调用链、修改参数或重试可能已执行的远程变更。
37
-
38
- ## 实时目录
39
-
40
- 当用户点名 reference 以外的新工具,或 reference 缺失、过期或与 CLI 返回不一致时,依次执行:
41
-
42
- ```text
43
- delta-cli science list
44
- delta-cli science endpoints list TOOL
45
- ```
46
-
47
- 两次调用都必须满足成功条件。目录只用于获取精确名称;若其未提供足以安全构造请求的 schema,
48
- 说明该限制而不要猜测请求体。
49
-
50
- ## 二进制产物
51
-
52
- operation 返回 base64 数据时,只解码 operation 文档指定的 `data` 字段。PNG 文件必须以
53
- `89 50 4e 47 0d 0a 1a 0a` 开头。以 `7b`(`{`)开头的是 JSON,不能描述成图片。
1
+ # Delta CLI 执行约定
2
+
3
+ ## 使用 CLI
4
+
5
+ 所有实时 Science 调用最终都使用已安装的 Delta CLI;CLI 是服务调用边界。标准命令为:
6
+
7
+ ```text
8
+ delta-cli science invoke --tool TOOL --endpoint ENDPOINT --data JSON
9
+ ```
10
+
11
+ `TOOL` 与 `ENDPOINT` 必须逐字使用当前 reference 或实时目录中的
12
+ `tools.name`、`tool_endpoints.name`;不得增加别名映射、裁剪前缀或在 `not_found` 后改名重试。
13
+ 仅当 operation 文档明确要求查询参数时使用 `--params JSON`。不要同时传递 `--data` 和
14
+ `--params`,也不要改用 `curl`、`httpx`、`requests`、`Invoke-RestMethod` 或业务服务 URL。
15
+
16
+ CLI 使用其标准认证和由 `base_url` 派生出的 Science 服务地址(`{base_url}/science_tool`)。
17
+ Skill 不得通过环境变量、命令参数或临时配置改写服务路由,也不读取、修改或伪造凭据。
18
+
19
+ ## 成功与结果
20
+
21
+ CLI 成功时输出单个 JSON 信封:
22
+
23
+ ```json
24
+ {
25
+ "ok": true,
26
+ "data": {}
27
+ }
28
+ ```
29
+
30
+ 只有 CLI 退出码为 0 且顶层 `ok` 为 `true` 时,才能报告调用成功。顶层 `data` 保存服务响应。
31
+ 按 operation reference 规定的响应结构读取字段:若文档明确说明网关或业务信封的 `data`,
32
+ 可读取该已知层级;不得递归搜索字段,也不得将业务返回的 `valid:false`、空结果或警告误报为
33
+ CLI 传输失败。
34
+
35
+ 退出码非 0 或顶层 `ok:false` 时,本次调用失败;转发 CLI 的原始错误短摘要,不得切换到
36
+ 其他调用链、修改参数或重试可能已执行的远程变更。
37
+
38
+ ## 实时目录
39
+
40
+ 当用户点名 reference 以外的新工具,或 reference 缺失、过期或与 CLI 返回不一致时,依次执行:
41
+
42
+ ```text
43
+ delta-cli science list
44
+ delta-cli science endpoints list TOOL
45
+ ```
46
+
47
+ 两次调用都必须满足成功条件。目录只用于获取精确名称;若其未提供足以安全构造请求的 schema,
48
+ 说明该限制而不要猜测请求体。
49
+
50
+ ## 二进制产物
51
+
52
+ operation 返回 base64 数据时,只解码 operation 文档指定的 `data` 字段。PNG 文件必须以
53
+ `89 50 4e 47 0d 0a 1a 0a` 开头。以 `7b`(`{`)开头的是 JSON,不能描述成图片。