experiment-log — 实验日志标准化
输入方式
用户通过以下任一方式提交实验原始材料时自动加载:
- 直接上传 — 在当前会话提交图片、音频、语音转录或文字。
- 本地材料 — 提供本地文件或文件夹路径,由 agent 读取并整理。
- 飞书群 — 通过可选的
feishu-cli-integration读取群消息和附件。
输出方式
- 本地 Markdown — 将日志和原始附件保存到用户指定的普通本地文件夹;未指定目录时,先返回可保存的 Markdown,不擅自选择路径。
- Obsidian vault — 通过可选的
obsidianskill 写入 vault,并使用附带模板建立索引、异常记录和设备追踪。
核心流程不要求安装飞书或 Obsidian。使用飞书群输入时,才需要 bot 已加入目标群并具备 im:message、im:message.group_msg 和 im:resource 权限。
处理流程
- 接收上传材料、读取本地文件,或从已配置的飞书群获取材料。
- 通过 vision_analyze 和文本解析提取结构化信息。
- 对缺失或模糊字段向用户确认,不猜测实验条件或结果。
- 确认输出方式和目标目录,生成实验 ID 与样品批次 ID。
- 写出
{OUTPUT_ROOT}/实验日志/{体系}/{类型}/{exp_id}.md。 - 将原始附件归档到
{OUTPUT_ROOT}/raw/experiments/YYYY.MM.DD_描述_EXPID/,并在日志中建立引用。 - 如启用索引模板,更新实验索引;发现异常时追加异常记录。
- 告知用户生成文件及原始材料的具体位置。
模糊信息(温度记不清、样品编号不明)主动询问,不猜测写入。
目录结构
实验 ID 规则
样品批次 ID 规则
同一批样品跨多个实验时 sample_batch 保持一致,便于 dataview 追踪。
设备代码
按实际设备扩展。
可选的 Obsidian 集成
本 skill 可以只向普通本地文件夹输出 Markdown,也可以与 Obsidian vault 配合使用。Obsidian 是一个基于本地 Markdown 文件的笔记系统,配合 Dataview 插件可实现实验数据的动态查询和仪表盘。
为什么用 Obsidian:
- 所有日志为纯文本 Markdown,可版本控制、可全文搜索
- YAML frontmatter 结构使 dataview 可自动生成实验列表、异常汇总、设备使用记录
- 本地存储,无云依赖性,数据安全
安装 skill 后需在 vault 中创建以下文件:
将模板文件复制到你的 Obsidian vault 对应位置即可使用。
参考示例
references/ 目录包含三个完整的实验日志示例,覆盖常见实验类型:
每个示例均包含完整的 YAML frontmatter 和 Markdown 正文,可直接作为模板修改使用。
可选的飞书 CLI 集成
需要从飞书群获取材料时,使用 feishu-cli-integration skill:
- 拉消息:
lark-cli im +chat-messages-list --chat-id oc_*** --page-size 30 --sort asc - 下载图片:
lark-cli im +messages-resources-download --message-id *** --file-key *** --type image --output <相对路径> - ⚠️
--output只接受相对路径,先cd到raw/experiments/归档目录
群 ID 和 bot 权限按 feishu-cli-integration skill 的配置获取。
自定义指南
- 体系代码:按你的实验体系自定义(如 CL/NO/OR/PO)
- 实验类型:在
wiki/实验日志/{体系}/下按需创建子目录 - YAML 字段:模板是建议结构,可增删字段
- 设备代码:按实际实验室设备扩展
- 输出根目录:可以是普通本地文件夹,也可以是 Obsidian vault 根目录

