$npx -y skills add Yuan1z0825/nature-skills --skill nature-experiment-log标准化实验日志记录——接收原始材料(图/语音/文字),产出带 YAML frontmatter 的标准日志到 Obsidian vault。需配合飞书 CLI 或手动输入使用。
| 1 | # experiment-log — 实验日志标准化 |
| 2 | |
| 3 | ## 触发条件 |
| 4 | |
| 5 | 用户通过以下任一方式提交实验原始材料时自动加载: |
| 6 | |
| 7 | - **路径 A** — CLI 直接提交(图片 / 语音转录 / 文字) |
| 8 | - **路径 B** — 发到飞书科研群,通过 `feishu-cli-integration` 扫描 |
| 9 | |
| 10 | ## 前置依赖 |
| 11 | |
| 12 | 需要配合 `feishu-cli-integration` skill 使用。确保: |
| 13 | - 飞书 bot 已添加到目标群 |
| 14 | - bot 权限:`im:message` + `im:resource` + `im:message.group_msg` |
| 15 | - 群 ID 配置在 skill 上下文中 |
| 16 | |
| 17 | ## 处理流程 |
| 18 | |
| 19 | 1. 接收材料 → vision_analyze 读图 + 提取结构化信息 |
| 20 | 2. 生成实验 ID + 样品批次 ID |
| 21 | 3. 写出标准日志到 `wiki/实验日志/{体系}/{类型}/{exp_id}.md` |
| 22 | 4. 原始材料(图片等)归档到 `raw/experiments/YYYY.MM.DD_描述_EXPID/` |
| 23 | 5. 日志末尾加「原始材料」段落,引用 raw 路径 |
| 24 | 6. 检查异常 → 有则追加 `异常记录.md` |
| 25 | 7. 追加操作记录到日志索引 |
| 26 | 8. 告知用户写入位置 |
| 27 | |
| 28 | 模糊信息(温度记不清、样品编号不明)主动询问,不猜测写入。 |
| 29 | |
| 30 | ## 目录结构 |
| 31 | |
| 32 | ``` |
| 33 | /vault/ |
| 34 | ├── raw/experiments/ ← 原始层(归档) |
| 35 | │ └── YYYY.MM.DD_描述_EXPID/ |
| 36 | │ ├── 笔记.md |
| 37 | │ ├── 图片/ |
| 38 | │ └── 语音/ |
| 39 | │ |
| 40 | wiki/实验日志/ ← 标准层(产出) |
| 41 | ├── 实验索引.md |
| 42 | ├── 异常记录.md |
| 43 | ├── {体系A}/ |
| 44 | │ ├── 实验类型1/ |
| 45 | │ ├── 实验类型2/ |
| 46 | │ └── ... |
| 47 | ├── {体系B}/ |
| 48 | │ └── ... |
| 49 | └── 公共/ |
| 50 | └── 设备与试剂追踪.md |
| 51 | ``` |
| 52 | |
| 53 | ## 实验 ID 规则 |
| 54 | |
| 55 | ``` |
| 56 | {体系代码}-{设备代码}-YYMMDD-{序号} |
| 57 | │ │ │ └─ 当日序号(001 起) |
| 58 | │ │ └─ 日期 |
| 59 | │ └─ 设备代码(M=马弗炉, T=管式炉, E=电化学, G=手套箱, F=可控气氛炉, B=通用) |
| 60 | └─ 体系代码(自定义,如 CL / NO / OX / HY 等) |
| 61 | ``` |
| 62 | |
| 63 | ## 样品批次 ID 规则 |
| 64 | |
| 65 | ``` |
| 66 | {体系代码}-{候选编号}-B{序号} |
| 67 | │ │ └─ 配盐批次序号 |
| 68 | │ └─ 候选配方编号 |
| 69 | └─ 体系代码 |
| 70 | ``` |
| 71 | |
| 72 | 同一批样品跨多个实验时 `sample_batch` 保持一致,便于 dataview 追踪。 |
| 73 | |
| 74 | ## 设备代码 |
| 75 | |
| 76 | | 代码 | 设备 | 场景 | |
| 77 | |------|------|------| |
| 78 | | M | 马弗炉 | 热处理、浸泡腐蚀 | |
| 79 | | T | 管式炉 | 气氛控制、脱水、热稳定性 | |
| 80 | | E | 电化学工作站 | CV/SWV/EIS | |
| 81 | | G | 手套箱 | 配盐、称量、取样 | |
| 82 | | F | 可控气氛炉 | 精密气氛控制 | |
| 83 | | B | 通用 | 干燥、清洗、制样 | |
| 84 | |
| 85 | 按实际设备扩展。 |
| 86 | |
| 87 | ## Obsidian 集成 |
| 88 | |
| 89 | 本 skill 设计为与 [Obsidian](https://obsidian.md) vault 配合使用。Obsidian 是一个基于本地 Markdown 文件的笔记系统,配合 [Dataview](https://github.com/blacksmithgu/obsidian-dataview) 插件可实现实验数据的动态查询和仪表盘。 |
| 90 | |
| 91 | **为什么用 Obsidian:** |
| 92 | - 所有日志为纯文本 Markdown,可版本控制、可全文搜索 |
| 93 | - YAML frontmatter 结构使 dataview 可自动生成实验列表、异常汇总、设备使用记录 |
| 94 | - 本地存储,无云依赖性,数据安全 |
| 95 | |
| 96 | **安装 skill 后需在 vault 中创建以下文件:** |
| 97 | |
| 98 | | 文件 | 模板 | 用途 | |
| 99 | |------|------|------| |
| 100 | | `实验日志/实验索引.md` | `templates/experiment-index.md` | Dataview 查询仪表盘 | |
| 101 | | `实验日志/异常记录.md` | `templates/anomaly-log.md` | 异常记录 | |
| 102 | | `实验日志/公共/设备与试剂追踪.md` | `templates/equipment-tracking.md` | 设备与试剂追踪 | |
| 103 | |
| 104 | 将模板文件复制到你的 Obsidian vault 对应位置即可使用。 |
| 105 | |
| 106 | ## 参考示例 |
| 107 | |
| 108 | `references/` 目录包含三个完整的实验日志示例,覆盖常见实验类型: |
| 109 | |
| 110 | | 文件 | 实验类型 | |
| 111 | |------|---------| |
| 112 | | `references/example-log.md` | 材料腐蚀浸泡实验 | |
| 113 | | `references/example-electrochemical.md` | 电化学表征(CV 窗口测试) | |
| 114 | | `references/example-thermal-stability.md` | 热稳定性实验 | |
| 115 | |
| 116 | 每个示例均包含完整的 YAML frontmatter 和 Markdown 正文,可直接作为模板修改使用。 |
| 117 | |
| 118 | ## 飞书 CLI 操作要点 |
| 119 | |
| 120 | 路径 B 使用 `feishu-cli-integration` skill: |
| 121 | |
| 122 | - 拉消息:`lark-cli im +chat-messages-list --chat-id oc_*** --page-size 30 --sort asc` |
| 123 | - 下载图片:`lark-cli im +messages-resources-download --message-id *** --file-key *** --type image --output <相对路径>` |
| 124 | - ⚠️ `--output` 只接受相对路径,先 `cd` 到 `raw/experiments/` 归档目录 |
| 125 | |
| 126 | 群 ID 和 bot 权限按 `feishu-cli-integration` skill 的配置获取。 |
| 127 | |
| 128 | ## 自定义指南 |
| 129 | |
| 130 | - **体系代码**:按你的实验体系自定义(如 CL/NO/OR/PO) |
| 131 | - **实验类型**:在 `wiki/实验日志/{体系}/` 下按需创建子目录 |
| 132 | - **YAML 字段**:模板是建议结构,可增删字段 |
| 133 | - **设备代码**:按实际实验室设备扩展 |
| 134 | |
| 135 | ## 相关文件 |
| 136 | |
| 137 | | 文件 | 用途 | |
| 138 | |------|------| |
| 139 | | `references/example-log.md` | 完整实验日志示例 | |
| 140 | | `wiki/实验日志/实验索引.md` | Dataview 仪表盘 | |
| 141 | | `wiki/实验日志/异常记录.md` | 异常记录格式 | |
| 142 | | `wiki/实验日志/公共/设备与试剂追踪.md` | 设备、试剂追踪 | |