DeepSeek Harness 插件

dsh-chem-render

Deterministic chemical-structure rendering for DeepSeek Harness: one chem_render tool turns a SMILES string into SVG, PNG, standalone HTML, Markdown and LaTeX (includegraphics + optional native.(英文原文)

跳到安装方式

来源信息

GitHub 仓库
EQmarks/dsh-chem-render
最近更新
2026年8月15日
分类
工具与能力
GitHub stars
1
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/EQmarks/dsh-chem-render
插件名:dsh-chem-render
作者:EQmarks

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器4 个文件
README.zh-CN.md来源说明 · 只读预览
README 语言

English · 中文

dsh-chem-render

DeepSeek Harness 的确定性化学结构式渲染插件:一个 chem_render 工具,把一行 SMILES 变成 SVG / PNG / 独立 HTML / Markdown / LaTeX

模型只负责给出 SMILES 字符串;解析、校验、2D 布局和渲染全部由代码完成(openchemlib-extended + resvg-js),因此 SMILES 写错会得到一条可读的报错,而不是一张错误的图。 LaTeX 的原生 chemfig 源码由 mol2chemfigPy3 转换器提供(先做 Kekulé 化,输出只含标准 chemfig 宏)。

效果预览

普通分子(咖啡因,默认纯净黑色渲染):

![咖啡因](assets/caffeine.png)

立体化学与规整楔形键(葡萄糖):

![葡萄糖](assets/glucose.png)

安装

pnpm dsh plugin --profile web add 'github:<owner>/dsh-chem-render#<commit>'

本地开发:

pnpm dsh plugin --profile web add link:D:/path/to/dsh-chem-render

包声明了 dsh.bundle.patch,CLI 会自动挂载它自带的 patch 层。

可选:LaTeX 原生 chemfig 源码

当本机装有转换器时,latex / chemfig / all 格式会额外输出原生 \chemfig{...} 源码:

pip install mol2chemfigPy3

可用 DSH_CHEMFIG_PYTHON / DSH_CHEMFIG_PYTHONPATH 指定解释器或搜索路径。没装也不影响:LaTeX 输出仍走 \includegraphics 位图路线(附同名 PNG),并在结果里说明跳过了什么。

用法

让模型画结构式,它会调用工具:

chem_render { smiles: "CN1C=NC2=C1C(=O)N(C(=O)N2C)C", format: "all", name: "caffeine" }
format产出说明
svg<name>.svg矢量图,走文本写入、完全守沙箱策略
png<name>.png由 SVG 光栅化;沙箱后端下二进制写入限制在会话工作区内
html<name>.html自包含页面(内嵌 SVG + PNG data URI),无外部请求
markdown<name>.md + 同名 .svg/.png相对路径引用 PNG(VS Code 预览等场景正常显示);仅当 PNG 文件写不了时才退回 data-URI
latex<name>.tex + 同名 .png\includegraphics 路线始终可用;装好转换器后追加 \chemfig{} 路线
chemfig<name>-chemfig.tex仅转换器源码
all以上全部

参数:smiles(必填)、format(必填)、name(基础文件名,自动消毒)、save_dir(默认 .)、width (200–1200,默认 500)。

样式选项(默认 = 纯净黑色渲染、不加额外标记):

参数默认作用
palette"monochrome""monochrome" 全黑渲染;"element" 给杂原子染色(N 蓝、O 红…)
stereo_labelsfalsetrue 时在手性中心显示 R/S、abs、对映体注释
stereo_position"below"stereo_labels 开启时注释文字的位置:below / above / frame-top / frame-bottom
rotate0结构式逆时针旋转角度(度),对所有格式生效(含 chemfig)

这些选项也进了 harness 设置页(插件的配置表单):在那里设置的值作为默认值,单次调用传参可覆盖。

立体楔形键(上/下键)经过后处理修正为严格几何:实心楔形是单一笔直三角形,虚楔形是间距均匀、长度线性递减、 垂直于键轴的虚线楔形。

文件一律通过 harness 文件系统服务写入,和其他工具一样受会话沙箱策略约束。

生成的 .tex 需要 graphicx(路线 2 还需 chemfig)——TeX Live / MiKTeX 都自带。已用 pdflatex 实测:咖啡因与 葡萄糖两条路线均编译通过。

开发

npm install
npm test                                # 纯渲染核心测试
DSH_NODE_MODULES=~/.dsh/profiles/web/node_modules node tests/boot.test.mjs
                                        # 起真实 harness Context 并实际执行工具

注意事项

  • 本版本不支持聚合物重复单元括号标注。 括号标注(重复单元 + 下标 n)此前为实验性功能,已从工具表面移除;

把高分子画成普通分子(有限长链)没问题,但教材式括号写法暂不支持。

  • chemfig 源码是尽力而为:质量取决于 mol2chemfigPy3/Indigo。稠合双环(咖啡因)渲染正确;非常复杂的分子可能不够

美观——位图路线永远兜底。

  • 适用于任何有工具注册表和 fs 服务的 surface(web profile、headless 等)。

许可证

MIT,见 [LICENSE](LICENSE)。渲染依赖的 npm 包各按自身许可证;可选的 chemfig 路线使用用户自行安装的 mol2chemfigPy3(MIT)。