Skills DirectorySearch all skills ↗

AI agent skill · by @cas-bigdatalab

Chemdb Search

用于检索化学物质详细信息的技能。当用户希望检索化学物质详细信息、查看化学物质详细信息、检索化学物质基础数据库等情况时触发。该技能通过输入化学分子式(必要参数)以及分页(可选参数)、分页大小(可选参数)调用外部化学物质基础数据库搜索服务,并按字段含义格式化展示查询结果以及SVG化学分子式结构。

Archived 2026-10-23 · Source updated 2026-09-22. Check the original repository for the latest version.

SKILL.md instructions

# chemdb_search 技能

## 功能说明

该技能用于调用化学物质基础数据库搜索服务,根据用户输入的化学分子式检索并返回对应的化学物质详细信息,展示时按json字段含义格式化展示并将`image`字段的 SVG 数据可直接渲染为分子结构示意图,便于直观查看物质结构。

## 触发条件

当用户希望:
- 检索化学物质详细信息
- 查看化学物质详细信息
- 检索化学物质基础数据库
- 查询特定化学分子式的物质信息
- 获取化学物质的详细属性

## 调用服务说明

### 化学物质基础数据库搜索服务

该接口来自 **化学物质基础数据库([chemdb.csdb.cn](https://chemdb.csdb.cn))**,核心功能是**根据输入的化学分子式(如 C6H6、C12H12),检索并返回对应的化学物质详细信息**,支持分页查询。

### 接口核心信息

#### 1. 基础配置

- 服务名称:化学物质分子式检索服务
- 接口地址:`http://www.chemdb.csdb.cn/chemdb_backend/search/text_search`
- 请求方式:GET
- 响应状态:成功返回 200,message 为 "success"

#### 2. 请求参数(URL 参数)

| 参数名    | 说明                         | 示例值 | 必填 |
| :-------- | :--------------------------- | :----- | :--- |
| text      | 检索关键词(需为化学分子式) | C6H6   | 是   |
| page      | 分页页码(从 1 开始)        | 1      | 否   |
| page_size | 每页返回的化学物质数量       | 10     | 否   |

#### 3. 响应数据结构(核心字段说明)

响应为 JSON 格式,核心包含`data`(化学物质列表)和分页相关字段:

| 一级字段 | 说明                           |
| :------- | :----------------------------- |
| data     | 化学物质详细信息列表(数组)   |
| page_all | 总页数                         |
| total    | 匹配的化学物质总数量           |
| code     | 响应状态码(200 = 成功)       |
| message  | 响应信息(成功返回 "success") |

##### `data`数组中单个化学物质的关键字段

| 字段名     | 说明                                 | 示例值                                 |
| :--------- | :----------------------------------- | :------------------------------------- |
| Formula    | 化学分子式(与检索关键词一致)       | C6H6                                   |
| MolWeight  | 分子量                               | 78.11184                               |
| Alias_en   | 英文别名                             | 1,4-Hexadiyne                          |
| CAS        | CAS 编号(化学物质唯一标识)         | 10420-91-4                             |
| SMILES     | 简化分子线性输入规范(分子结构编码) | C#CCC#CC                               |
| IUPAC_Name | IUPAC 标准命名                       | hexa-1,4-diyne                         |
| InChI      | 国际化学标识符(分子结构唯一标识)   | InChI=1S/C6H6/c1-3-5-6-4-2/h1H,5H2,2H3 |
| InChiKey   | InChI 的哈希值(便于检索)           | NJXXWBJAOFKNIR-UHFFFAOYSA-N            |
| image      | 分子结构示意图(SVG 格式)           | 包含 SVG 标签的矢量图数据              |

## 使用方法

1. 调用 `scripts/chemdb_search.py` 脚本
2. 提供必要参数 `text`(化学分子式)
3. 可选择提供参数 `page`(分页页码)和 `page_size`(每页大小)
4. 脚本将返回接口的完整 JSON 响应

## 输出格式

按查询结果json的每一条字段的含义属性格式化展示查询结果,并将`image`字段的 SVG 数据可直接渲染为分子结构示意图,便于直观查看物质结构。

## 补充说明

1. 检索范围:仅支持**化学分子式**检索(如 C6H6、C12H12),输入其他类型关键词可能无匹配结果;
2. 数据完整性:返回的化学物质信息涵盖分子结构、命名、标识、分子量等核心属性,满足化学研究、物质识别等场景需求;
3. 分页机制:通过`page`和`page_size`控制返回数量,示例中检索 C6H6 共匹配 1244 条结果,分 125 页展示;
4. 分子结构可视化:`image`字段的 SVG 数据可直接渲染为分子结构示意图,便于直观查看物质结构。

## 示例

### 示例 1:检索 C6H6 的化学物质信息

```bash
python scripts/chemdb_search.py --text C6H6
```

### 示例 2:检索 C12H12 的化学物质信息,指定分页参数

```bash
python scripts/chemdb_search.py --text C12H12 --page 2 --page_size 20
```

## 错误处理

- 如果未提供必要参数 `text`,脚本将提示错误并退出
- 如果接口调用失败,脚本将返回错误信息
- 如果网络连接失败,脚本将提示网络错误

Related skills