SuperAPI AI 工具集

dym-scientific-agent-skills-chay-script-bundled-tu-shell

智能体与模型

查看项目

更新于 10-18 01:22

技能介绍

本技能面向“直接从 shell 运行随技能附带的脚本,无需通过 agent”的场景。文件中的命令均输入终端;给 agent 的提示放在 03-dung-skill-trong-agent.md。

用途与理由 仓库中 105/163 个技能带有 scripts/ 目录,其中 90 个技能包含使用 argparse 编写的脚本。它们是真正的 CLI,可确定性地运行,不消耗 token,可用于 Makefile、cron、CI,或仅用于在不打开 agent 的情况下快速检查。产物为输出到 stdout 的 JSON/TSV,或写入由 -o 指定的文件,并附带一个必须由调用方分支处理的退出码。

查找可运行的脚本 可按资料给出的命令列出带 scripts/ 的技能目录,并用 grep 查找含 argparse 的 Python 脚本。所有 argparse 脚本都必须响应 --help,这是仓库的 CI 约定;tests/_contract/cli.py 会为仓库中每个 argparse 脚本生成测试用例,tests/_meta 在每次 PR 中对全部 163 个技能运行该测试。

主要能力与示例 示例一:基因组坐标转换,仅用标准库、离线、资料称已实际运行。使用 convert_coords.py 的 --list 查看格式约定,再以 chr1 1000 2000 --from bed --to gff 转换,输出含 contig、input、output、length、status、detail 列。同技能还有 audit_intervals.py、check_contigs.py、normalize_variant.py,均只用标准库。 示例二:文献 API 分页,带数量核对。可用 --dry-run 只查看调用计划而不发起网络请求,输出 api、first_url、delay_seconds、query_format 等字段。支持的 API 包括 biorxiv、crossref、europepmc、medrxiv、openalex,可用 --list-apis 查看。配套脚本 arxiv_atom.py、openalex_abstract.py、jats_to_text.py 可从文件或 stdin 读取,便于管道组合。 示例三:ARAX 知识图谱的 sub-command 客户端,包含 preflight、normalize、one-hop、two-hop、summarize 等子命令,不需要 API key;技能自身提示查询可能公开,仅用于非敏感研究问题。

退出码 仓库在某些 API 对静默失败返回 HTTP 200 的位置刻意使用非标准退出码。例如 arxiv_atom.py 在 feed 为 arXiv 错误响应时返回 3;paginate.py 在数量核对出现短缺时返回 4,缺少 --api/--query 时返回 2;analytical-method-validation、iso-standards-readiness、pkpd-modeling 共用 EXIT_OK/EXIT_FINDINGS/EXIT_INPUT_ERROR(0/1/2),其中 1 表示“有发现”而非崩溃;exa-search、lab-hardware-cad、pyopenms 对输入错误返回 2。因此放入自动化时必须显式分支处理退出码;对使用 EXIT_FINDINGS=1 的三个技能,不能把 1 与真实错误混为一谈。可用 grep 查找 sys.exit 等模式,并运行 --help 核对。

依赖 脚本不会自行安装依赖。资料列出 34 个完全只用标准库的技能,可直接用 python3 运行;需要包的技能应以 tests/skill-requirements.toml 为准,而不是猜测 import。可在临时环境中用 uv run --with 方式运行,避免影响系统环境。

适用场景与限制 适用于把技能脚本接入 shell 自动化、CI、定时任务或快速校验。注意事项:不要把多个技能的 scripts/ 放进同一 sys.path,因为 32 个技能都附带同名 scripts/_common.py,同一进程内会指向先加载的技能;应使用完整路径逐个运行脚本。tests/skill-requirements.toml 的 [unavailable] 记录了 18 个无法安装的包及原因,例如 matlabengine 需要预装 MATLAB、omero-py 需要 C++ 构建、flash-attn/deepspeed/bitsandbytes 需要 CUDA 工具链、rsgislib/pdal 仅见于 conda-forge。另有若干技能需要低于 3.13 的 Python 版本,具体版本以对应条目为准。