让 AI 画出可编辑的 ChemDraw 结构式
ChemDraw Skill 让 AI 编程 Agent 能直接做出 ChemDraw 文件。你说要画哪个分子或哪张图,Agent 先查证结构,再写出 CDXML,让 ChemDraw 渲染,并把文件读回来核对。打开来就是一份普通的 ChemDraw 文档,原子和键都能接着改。同一个 Skill 还能算反应周围的数字:试剂用量、收率、表征文字和原子映射。
git clone https://github.com/ZiChenWang114514/chemdraw-skill.git
适用于 Claude Code、Codex、Gemini CLI、GitHub Copilot、Cursor、OpenCode,以及任何能执行命令行的 Agent。
- “用 ChemDraw Skill 把阿司匹林画成可编辑 CDXML,渲染后给我看。”
- resolve_nameaspirin → CC(=O)Oc1ccccc1C(=O)O
- buildaspirin.cdxml,ACS Document 1996
- renderChemDraw 原生 PNG,300 dpi
- readbackC9H8O4 与输入一致 ✓
从论文图片到可编辑的 ChemDraw 文档
拖动分隔线,对比原图和 Agent 复刻出的 ChemDraw 文档。
左边是论文里的原图,右边是复刻出的 ChemDraw 文档。五个结构、反应条件、产率和化合物编号都能编辑。

专利图中的通式结构:R 基、两个可变环、可连在三个环位置之一的基团以及重复次数。整个提取由一个小型低成本模型完成,结构同时保存为 CXSMILES 和 V3000 molfile。







四步,每一步都能检查
图看起来对,化学上也可能是错的。所以每一步都有明确的输入和产物,出了问题,一眼就能看出是哪一步。
四步都从同一个入口 cdx.py 运行,能执行命令行的 Agent 都能调用,MCP 可选。
“阿司匹林”
-
resolve_nameOPSIN、PubChem确认结构
从名称、标识符、可信 SMILES 或 DECIMER 识别结果出发,并记录来源,不让模型凭空编 SMILES。
查看命令和输出
$ cdx.py call resolve_name --json '{"query": "aspirin"}' {"ok": true, "name": "aspirin", "smiles": "CC(=O)Oc1ccccc1C(=O)O", "formula": "C9H8O4", "mw": 180.159, "exact_mass": 180.0423, "source": "reagent_db", …}CC(=O)Oc1ccccc1C(=O)O -
buildACS Document 1996原生绘制
生成 CDXML,保留立体、电荷和同位素。原子、键和文字都能在 ChemDraw 里接着改。
查看命令和输出
$ cat aspirin.json {"objects": [{"type": "molecule", "smiles": "CC(=O)Oc1ccccc1C(=O)O", "at": [80, 60]}]} $ cdx.py build aspirin.json aspirin.cdxml {"cdxml": "…/aspirin.cdxml", "ok": true}aspirin.cdxml -
renderChemDraw,300 dpi渲染查看
由 ChemDraw 本身渲染,Agent 打开图片,逐项检查标签、箭头、电荷和交叉。
查看命令和输出
$ cdx.py render aspirin.cdxml {"source": "…/aspirin.cdxml", "png": "…/aspirin.png", "ok": true}aspirin.png -
readbackChemScript、RDKit回读核对
保存后重新读取文件,确认写进去的就是要画的结构;读取器之间不一致时如实报告。
查看命令和输出
$ cdx.py chemscript-info aspirin.cdxml Type: structure Name: 2-acetoxybenzoic acid Formula: C9H8O4 SMILES: CC(OC1=CC=CC=C1C(O)=O)=O InChI: InChI=1S/C9H8O4/c1-6(10)13-8-5-3-2-4-7(8)9(11)12/h2-5H,1H3,(H,11,12) Atoms: 13 Bonds: 13C9H8O4,与输入一致 ✓
反应用量、收率和相关数字
对你画出或粘贴的反应,cdx.py calc 会打开一个页面,改任何一个用量,其余数值跟着变。算的是台面上常做的那些运算,所用的假设都摆在明面上。
- 溶剂浓度、溶剂体积、收率、原子经济性和过程质量强度(PMI;E 因子等于 PMI 减 1)。
- 你没设的用量会标成默认值,不会当作你给的数。
- 常见试剂带 Danger 或 Warning 标记,来自内置的表;表里没有的显示“未收录”。它只是提醒,不能代替 SDS。
- 用量可以写到 ChemDraw 流程图的结构下方,同一个反应也能进入 SI 原料表。
- 旁边还有:按 ACS 顺序的表征段落(核磁峰数会核对)、多步路线的总收率和 PMI、带反应类型标注的原子映射。
能做什么
十四类工作:绘图,以及随之而来的计算。
- 结构与反应
- 解析名称和标识符;绘制、编辑、清理、合并、拆分、转换和渲染 CDXML / CDX。
- 论文图复刻
- 裁剪原图、DECIMER 识别、并排比对、修正化学,组装条件与版面。
- 专利 Markush
- 从专利图和权利要求提取通式,输出 CXSMILES、V3000 molfile 和可编辑 CDXML。
- 试卷与讲义
- 由 JSON 生成 ACS 1996 插图,支持缩写节点、富文本、中文注释和带框编号。
- SAR 与底物拓展
- 由 CSV / Excel 生成可持续更新的 SAR 图和底物拓展图,保留手工排版。
- 比较与性质
- 相似度与精确身份比较;含 MS 加合物和 logP 的性质表;反应配平检查,指出缺失的副产物;把文件中的全部结构导出为 SMILES 和 InChI;ChemDraw 生成的名称会读回核对。
- 反应计算器
- 用量、浓度、收率、原子经济性和 PMI 随输入实时更新;内置表提供的试剂安全提示;把用量写到 ChemDraw 流程图下方;最多 100 个反应的 SI 原料表。
- 表征文字
- HRMS 表征句和按 ACS 顺序排列的整段文字:外观、Rf、熔点、比旋光度、IR、核磁、HRMS。峰数按结构核对,不一致只提示,不改数据。
- 路线收率与 PMI
- 线性或汇聚路线的总收率和累计 PMI。缺少的数字保持为空并给出提示。
- 原子映射
- 内置方法遇到歧义会如实报告;也可一条命令安装 RXNMapper 与 LocalMapper。给出键变化、反应中心 SMARTS、仅凭结构判断的反应类型,并把映射编号写进图的副本。
- 反应机理
- 按原子坐标绘制电子箭头、电荷和抗衡离子。
- TLC 与装置
- 原生 TLC 板、泳道、斑点和 Rf 计算;ChemDraw 装置模板组装。
- 谱图与实验记录
- 一维 NMR 寻峰与区间积分,数值数据输出为可编辑曲线;处理 LCMS、SciFinder RDF 和实验记录。
- Word 与 PPT
- 在 Word、PowerPoint 文档中嵌入可编辑的 ChemDraw 对象(Windows 或 macOS 上生成)。
三步开始使用
安装脚本需要 Python 3.9 以上,会自动找到 64 位 Python 3.10–3.13 作为运行时,Windows、macOS、Linux 都能装。原生渲染和 Office 嵌入需要 Windows 或 macOS 上已授权的桌面版 ChemDraw。
选择 Agent 和系统后,右边的命令会随之改写。安装到项目目录等其他用法见 Agent 接入说明。
-
安装
git clone https://github.com/ZiChenWang114514/chemdraw-skill.git cd chemdraw-skill python scripts/install.py --agent claude --runtime --apply -
检查本机能用哪些功能
python $HOME/.claude/skills/chemdraw/scripts/cdx.py doctor -
直接对 Agent 说
用 ChemDraw Skill 把阿司匹林画成可编辑 CDXML,用 ChemDraw 原生渲染并给我看 PNG。
常见问题
任意 AI Agent 都能使用这个 ChemDraw Skill 吗?
可以。Agent 只需要能读取 Skill 指令并执行命令行,所有工具都通过 cdx.py 运行。安装脚本会把 Skill 放到 Claude Code、Codex、Gemini CLI、GitHub Copilot、Cursor、OpenCode 等 Agent 能发现的目录;不支持自动发现的 Agent,在它的指令文件里指向 SKILL.md 即可。
必须使用 MCP 服务吗?
不需要。命令行覆盖全部工具,并保留同样的工作进程隔离、ChemDraw 原生锁和超时控制。需要类型化工具调用的客户端仍可使用 MCP。
能从 Excel 实验数据生成 SAR 图和底物拓展图吗?
可以。将可信结构与 CSV/XLSX 数据绑定,生成可编辑的构效关系(SAR)图或底物拓展图;更新数据时保留无关的手工布局修改。见数据驱动绘图指南。
能帮我算每种试剂该称多少吗?
可以。cdx.py calc 会打开计算器页面,画出或粘贴反应后,改当量、mmol、质量或体积中的任何一个,浓度、收率、原子经济性和 PMI 随之变化。你没有给出的用量使用默认值,并标明是假设值。见化学报告指南。
安全信息可以信到什么程度?
它只是提醒,来自内置的约五十种常用溶剂和试剂表:GHS 图标、H 说明、沸点和闪点。表里没有的物质显示“未收录”,不会显示成安全。请以你实际使用的产品的 SDS 为准。
能把文献里的结构图复刻成可编辑 ChemDraw 文件吗?
可以。论文图复刻流程结合 DECIMER 结构识别、结构确认、版式重建与原生视觉复核,输出可编辑 CDXML 和 ChemDraw 原生预览。见重建指南。
没有安装 ChemDraw 能用吗?
可以使用跨平台的 cdxml-toolkit 运行时生成和检查 CDXML(Windows、macOS、Linux)。原生渲染、ChemScript 检查和 Office 嵌入需要 Windows 或 macOS 上已授权的桌面版 ChemDraw。