Input Methods
Automatically loaded when the user submits raw experiment materials through any of the following methods:
- Direct Upload — Submit images, audio, voice transcriptions, or text in the current session.
- Local Materials — Provide a local file or folder path, which the agent reads and organizes.
- Feishu Group — Through the optional
feishu-cli-integrationto read group messages and attachments.
Output Methods
- Local Markdown — Save the log and raw attachments to a regular local folder specified by the user; if no directory is specified, first return saveable Markdown and do not choose a path on your own.
- Obsidian vault — Through the optional
obsidianskill to write to the vault, and use the included templates to build indexes, anomaly records, and device tracking.
The core workflow does not require installing Feishu or Obsidian. Only when using Feishu group input is the bot required to have joined the target group and to have the im:message、im:message.group_msg and im:resource permissions.
Processing Workflow
- Receive uploaded materials, read local files, or obtain materials from a configured Feishu group.
- Extract structured information through vision_analyze and text parsing.
- Confirm missing or ambiguous fields with the user; do not guess experimental conditions or results.
- Confirm the output method and target directory, and generate the experiment ID and sample batch ID.
- Write out
{OUTPUT_ROOT}/实验日志/{体系}/{类型}/{exp_id}.md。 - Archive raw attachments to
{OUTPUT_ROOT}/raw/experiments/YYYY.MM.DD_描述_EXPID/, and create references in the log. - If the index template is enabled, update the experiment index; when anomalies are found, append anomaly records.
- Tell the user the specific locations of the generated files and raw materials.
Actively ask about ambiguous information (unclear temperature, unknown sample number); do not guess and write it in.
Directory Structure
/vault/
├── raw/experiments/ ← 原始层(归档)
│ └── YYYY.MM.DD_描述_EXPID/
│ ├── 笔记.md
│ ├── 图片/
│ └── 语音/
│
wiki/实验日志/ ← 标准层(产出)
├── 实验索引.md
├── 异常记录.md
├── {体系A}/
│ ├── 实验类型1/
│ ├── 实验类型2/
│ └── ...
├── {体系B}/
│ └── ...
└── 公共/
└── 设备与试剂追踪.md
Experiment ID Rules
{体系代码}-{设备代码}-YYMMDD-{序号}
│ │ │ └─ 当日序号(001 起)
│ │ └─ 日期
│ └─ 设备代码(M=马弗炉, T=管式炉, E=电化学, G=手套箱, F=可控气氛炉, B=通用)
└─ 体系代码(自定义,如 CL / NO / OX / HY 等)
Sample Batch ID Rules
{体系代码}-{候选编号}-B{序号}
│ │ └─ 配盐批次序号
│ └─ 候选配方编号
└─ 体系代码
When the same batch of samples spans multiple experiments, sample_batch remains consistent to facilitate dataview tracking.
Device Codes
| Code | Device | Scenario |
|---|---|---|
| M | Muffle Furnace | Heat treatment, immersion corrosion |
| T | Tube Furnace | Atmosphere control, dehydration, thermal stability |
| E | Electrochemical Workstation | CV/SWV/EIS |
| G | Glovebox | Salt preparation, weighing, sampling |
| F | Controlled Atmosphere Furnace | Precision atmosphere control |
| B | General | Drying, cleaning, sample preparation |
Expand according to actual devices.
Optional Obsidian Integration
This skill can output Markdown only to a regular local folder, or it can be used with Obsidian vault. Obsidian is a note-taking system based on local Markdown files, and with the Dataview plugin it enables dynamic querying and dashboards for experimental data.
Why use Obsidian:
- All logs are plain-text Markdown, version-controllable and full-text searchable
- The YAML frontmatter structure enables dataview to automatically generate experiment lists, anomaly summaries, and device usage records
- Local storage, no cloud dependency, data security
After installing the skill, you need to create the following files in the vault:
| File | Template | Purpose |
|---|---|---|
实验日志/实验索引.md |
templates/experiment-index.md |
Dataview query dashboard |
实验日志/异常记录.md |
templates/anomaly-log.md |
Anomaly records |
实验日志/公共/设备与试剂追踪.md |
templates/equipment-tracking.md |
Equipment and reagent tracking |
Copy the template files to the corresponding locations in your Obsidian vault to use them.
Reference examples
references/ The directory contains three complete experiment log examples, covering common experiment types:
| File | Experiment type |
|---|---|
references/example-log.md |
Material corrosion immersion experiment |
references/example-electrochemical.md |
Electrochemical characterization (CV window test) |
references/example-thermal-stability.md |
Thermal stability experiment |
Each example includes complete YAML frontmatter and Markdown body text, and can be directly modified and used as a template.
Optional Feishu CLI integration
When you need to get materials from a Feishu group, use feishu-cli-integration skill:
- Pull messages:
lark-cli im +chat-messages-list --chat-id oc_*** --page-size 30 --sort asc - Download images:
lark-cli im +messages-resources-download --message-id *** --file-key *** --type image --output <相对路径> - ⚠️
--outputonly accepts relative paths, firstcdtoraw/experiments/archive directory
Group ID and bot permissions are obtained according to the configuration of the feishu-cli-integration skill.
Customization guide
- System code: Customize according to your experiment system (e.g. CL/NO/OR/PO)
- Experiment type: Under
wiki/实验日志/{体系}/create subdirectories as needed - YAML fields: The template is a suggested structure; fields can be added or removed
- Equipment code: Extend according to actual laboratory equipment
- Output root directory: Can be an ordinary local folder, or the root directory of an Obsidian vault
Related files
| File | Purpose |
|---|---|
references/example-log.md |
Complete experiment log examples |
wiki/实验日志/实验索引.md |
Dataview dashboard |
wiki/实验日志/异常记录.md |
Anomaly record format |
wiki/实验日志/公共/设备与试剂追踪.md |
Equipment, reagent tracking |