Design & media

Chemvision

Try it

Use this skill when the user asks about chemistry — chemical names, molecular structures (SMILES), molecular formulas, molecular weights, safety information...

What it does

Use this skill when the user asks about chemistry — chemical names, molecular structures (SMILES), molecular formulas, molecular weights, safety information (GHS hazards), or chemical reaction predictions. Supports Chinese and English chemical names, IUPAC names, and common names. Calls PubChem and OPSIN real chemistry databases to reduce LLM hallucinations. Returns molecular structure images and chemical equation renderings.

The skill document

ChemVision AI 化学家

化学数据查询服务 — PubChem + OPSIN 真实数据库,分子结构图 + 化学方程式渲染。

When to Use

  • Chemical compound queries (name → structure, SMILES → info)
  • Safety / GHS hazard information
  • Chemical reaction prediction (Agent answers, tools provide data)
  • Molecular structure image rendering

Step 0: Ensure Service Is Running

cd {this_skill_dir} && python manage.py status

Port note: Default port is 8899. If occupied, the service auto-selects the next free port (8900, 8901...). Run python manage.py status to see the actual port. The service uses CHEMVISION_PORT env var (not SERVER_PORT) to avoid conflicts with the Agent host process.

If not running: python manage.py start To stop: python manage.py stop

Step 1: Call Tools

POST to http://localhost:8899/api/tools/call.

name_to_structure

curl -s -X POST http://localhost:8899/api/tools/call \
  -H "Content-Type: application/json" \
  -d '{"tool_name":"name_to_structure","arguments":{"name":"苯甲酸"}}'

Returns SMILES, formula, weight, svg_url.

Important: Tools only accept English names. If the user asks in Chinese, Agent must translate to English first, then call the tool. Example: "苯甲酸" → "benzoic acid".

inspect_smiles

curl -s -X POST http://localhost:8899/api/tools/call \
  -H "Content-Type: application/json" \
  -d '{"tool_name":"inspect_smiles","arguments":{"smiles":"CCO"}}'

safety_info

curl -s -X POST http://localhost:8899/api/tools/call \
  -H "Content-Type: application/json" \
  -d '{"tool_name":"safety_info","arguments":{"query":"benzene"}}'

predict_reaction

Queries chemical data for reactants. Agent should answer the reaction itself.

curl -s -X POST http://localhost:8899/api/tools/call \
  -H "Content-Type: application/json" \
  -d '{"tool_name":"predict_reaction","arguments":{"reactants":"acetic acid + ethanol"}}'

Step 2: Show Results

Molecular structure

  1. Open svg_url from tool result in browser
  2. Screenshot → save file
  3. Send to user: send_file_to_user(file_path="xxx.png", caption="分子结构图")

Chemical equation

After answering a reaction, render the equation:

  1. Open in browser: http://localhost:8899/api/formula/{equation}
  2. Screenshot → save file
  3. Send to user: send_file_to_user(file_path="xxx.png", caption="化学方程式")

Equation format rules:

  • Subscripts automatic: H2O, CH3COOH, Ca(OH)2
  • Superscripts: Fe^{2+}, SO4^{2-}
  • Arrows: -> (one way), <=> (equilibrium)
  • Conditions: [加热], [催化剂] (shown above/below arrow)
  • Example: CH3COOH+C2H5OH<=>[浓硫酸][加热]CH3COOC2H5+H2O

Fallback

If predict_reaction fails, the Agent answers directly using its own chemistry knowledge, then renders the equation via /api/formula/.

Notes

  • Pure data tools — NO LLM dependency, ALL reasoning by Agent
  • All data from PubChem/OPSIN real databases
  • Local only — chemistry data never leaves the machine
  • Swagger UI: http://localhost:8899/docs

Related skills

This skill should be used when users need to translate natural language molecular structure queries into MolQL (Mol-Script) expressions. It handles basic atom/residue/chain selection, distance-based queries, property-based filtering, complex multi-part queries, and provides clarification for ambiguous requests.

2 installs1 stars

Generate professional alloy composition search responses by interpreting user queries, retrieving and analyzing relevant alloy data (optionally via MCP tools), and presenting structured composition tables with clear filtering, classification, and insights.

Catalysis literature search skill. Given a user-provided catalyst topic, reaction type, or material system, retrieve and organize relevant catalysis research papers from the open web (ScienceDirect, arXiv, OpenAlex, Google Scholar, etc.) and output structured literature-review information (literatur

1 stars

Run a protein-ligand docking workflow for research questions about target binding, selectivity, and structural plausibility. Use this skill when the user ask...

18 installs

Retrosynthesis, reaction prediction, and synthesizability for organic molecules, using the synomega Python package (pip install synomega) — runs locally, works out of the box. Six capabilities: single-step retrosynthesis (product → reactants, candidate disconnections), single-step forward reaction prediction / reaction outcome (reactants → product), multi-step route planning down to purchasable building blocks, a continuous synthesizability / makeability score (SynScore), reaction-plausibility screening, and multi-component evolution (growing a forward synthesis network from a set of reactants, e.g. one-pot / multicomponent chemistry). Use this whenever the user gives a molecule (as SMILES or a resolvable name) and asks how to make / synthesize it, whether it can be made or how hard, how to rank molecules by ease of synthesis, what reactants give a target, what product a set of reactants gives, a reaction outcome, or how a reactant mixture evolves — i.e. for retrosynthesis, synthesis p

1 installs

Entry skill of the chatMOSP system. Parses Chinese/English natural language input, recognizes three task types (MSR / KMC / parameter query), extracts metal, temperature, gas, partial pressure, steps, and size parameters, then dispatches parameter-builder, file-organizer, msr-generator, and kmc-simu

1 installs