Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
7505e02
fix: 物料系统标准化重构 + 多轮运行期 Bug 修复 (2026-03-12)
Andy6M Mar 18, 2026
41a018f
chore: 鏈湴淇敼瀛樻。 - 0.10.18 鍩虹鐗堟湰澶囦唤 (2026-03-24)
Andy6M Mar 24, 2026
03e3719
add ai conventions
TablewareBox Mar 19, 2026
dff70bd
add formulation action
TablewareBox Mar 21, 2026
d7850b0
add create_orders_foumulation and extract common code
TablewareBox Mar 21, 2026
91928a8
Merge remote-tracking branch 'origin/dev' into backup/local-0.10.18-2…
Andy6M Mar 24, 2026
467f0b1
feat: update coin cell assembly, bioyond cell workstation, and resour…
Andy6M Mar 25, 2026
ed952e8
feat: 更新Neware电池测试系统驱动及电芯组装工作站相关文件
Andy6M Apr 9, 2026
e11c353
Merge origin/dev into backup/local-0.10.18-20260324
Andy6M Apr 9, 2026
dd21d93
chore: remove local-only date CSV files (not for upstream)
Andy6M Apr 10, 2026
73add2d
feat: implement electrolyte CSV export and barcode tracking
Andy6M Apr 15, 2026
3e43359
fix(bioyond): fix order name type and prep bottle max volumes
Andy6M Apr 16, 2026
0895252
change to leap-lab backend. Support feedback interval. Reduce cocurre…
Xuwznln Apr 10, 2026
008c355
Support async func.
Xuwznln Apr 11, 2026
20342c6
Change uni-lab. to leap-lab.
Xuwznln Apr 12, 2026
db22156
Update Skills addr
Xuwznln Apr 13, 2026
01d2811
Update Skills
Xuwznln Apr 13, 2026
8356503
Fix skills exec error with action type
Xuwznln Apr 13, 2026
620cb84
Fix skills exec error with action type
Xuwznln Apr 13, 2026
4581ee1
print res query logs
Xuwznln Apr 13, 2026
dc1de44
update aksk desc
Xuwznln Apr 13, 2026
7efccbc
update workbench example
Xuwznln Apr 15, 2026
52b4604
Update neware battery test system driver and registry
Andy6M Apr 21, 2026
d1713fc
Wire bioyond/coin-cell/neware param passing and add manual-confirm CS…
Andy6M Apr 21, 2026
3af86a0
Trim manual_confirm outputs and fix resource uuid lookup
Andy6M Apr 22, 2026
f431d61
Fix neware test dispatch and manual_confirm CSV archival
Andy6M Apr 22, 2026
79c0815
fix(neware): 修复 submit_auto_export_excel 因 resource=[] 导致 0 下发 + file…
Andy6M Apr 22, 2026
717f236
feat(neware): submit_auto_export_excel add manual backup path and ele…
Andy6M Apr 22, 2026
2ebe35e
fix(neware): add coin_cell_code input handle to battery_transfer_confirm
Andy6M Apr 22, 2026
201b106
Revert "fix(neware): add coin_cell_code input handle to battery_trans…
Andy6M Apr 22, 2026
e8f54d5
fix(neware): remove output_dir from submit_auto_export_excel input ha…
Andy6M Apr 22, 2026
99ee27b
Revert "Revert "fix(neware): add coin_cell_code input handle to batte…
Andy6M Apr 22, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
124 changes: 76 additions & 48 deletions .cursor/skills/batch-insert-reagent/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,15 @@ python -c "import base64,sys; print('Authorization: Lab ' + base64.b64encode(f'{

### 2. --addr → BASE URL

| `--addr` 值 | BASE |
|-------------|------|
| `test` | `https://uni-lab.test.bohrium.com` |
| `uat` | `https://uni-lab.uat.bohrium.com` |
| `local` | `http://127.0.0.1:48197` |
| 不传(默认) | `https://uni-lab.bohrium.com` |
| `--addr` 值 | BASE |
| ------------ | ----------------------------------- |
| `test` | `https://leap-lab.test.bohrium.com` |
| `uat` | `https://leap-lab.uat.bohrium.com` |
| `local` | `http://127.0.0.1:48197` |
| 不传(默认) | `https://leap-lab.bohrium.com` |

确认后设置:

```bash
BASE="<根据 addr 确定的 URL>"
AUTH="Authorization: Lab <gen_auth.py 输出的 token>"
Expand Down Expand Up @@ -65,7 +66,7 @@ curl -s -X GET "$BASE/api/v1/edge/lab/info" -H "$AUTH"
返回:

```json
{"code": 0, "data": {"uuid": "xxx", "name": "实验室名称"}}
{ "code": 0, "data": { "uuid": "xxx", "name": "实验室名称" } }
```

记住 `data.uuid` 为 `lab_uuid`。
Expand All @@ -90,6 +91,7 @@ curl -s -X POST "$BASE/api/v1/lab/reagent" \
```

返回成功时包含试剂 UUID:

```json
{"code": 0, "data": {"uuid": "xxx", ...}}
```
Expand All @@ -98,28 +100,28 @@ curl -s -X POST "$BASE/api/v1/lab/reagent" \

## 试剂字段说明

| 字段 | 类型 | 必填 | 说明 | 示例 |
|------|------|------|------|------|
| `lab_uuid` | string | 是 | 实验室 UUID(从 API #1 获取) | `"8511c672-..."` |
| `cas` | string | 是 | CAS 注册号 | `"7732-18-3"` |
| `name` | string | 是 | 试剂中文/英文名称 | `"水"` |
| `molecular_formula` | string | 是 | 分子式 | `"H2O"` |
| `smiles` | string | 是 | SMILES 表示 | `"O"` |
| `stock_in_quantity` | number | 是 | 入库数量 | `10` |
| `unit` | string | 是 | 单位(字符串,见下表) | `"mL"` |
| `supplier` | string | 否 | 供应商名称 | `"国药集团"` |
| `production_date` | string | 否 | 生产日期(ISO 8601) | `"2025-11-18T00:00:00Z"` |
| `expiry_date` | string | 否 | 过期日期(ISO 8601) | `"2026-11-18T00:00:00Z"` |
| 字段 | 类型 | 必填 | 说明 | 示例 |
| ------------------- | ------ | ---- | ----------------------------- | ------------------------ |
| `lab_uuid` | string | 是 | 实验室 UUID(从 API #1 获取) | `"8511c672-..."` |
| `cas` | string | 是 | CAS 注册号 | `"7732-18-3"` |
| `name` | string | 是 | 试剂中文/英文名称 | `"水"` |
| `molecular_formula` | string | 是 | 分子式 | `"H2O"` |
| `smiles` | string | 是 | SMILES 表示 | `"O"` |
| `stock_in_quantity` | number | 是 | 入库数量 | `10` |
| `unit` | string | 是 | 单位(字符串,见下表) | `"mL"` |
| `supplier` | string | 否 | 供应商名称 | `"国药集团"` |
| `production_date` | string | 否 | 生产日期(ISO 8601) | `"2025-11-18T00:00:00Z"` |
| `expiry_date` | string | 否 | 过期日期(ISO 8601) | `"2026-11-18T00:00:00Z"` |

### unit 单位值

| 值 | 单位 |
|------|------|
| 值 | 单位 |
| ------ | ---- |
| `"mL"` | 毫升 |
| `"L"` | 升 |
| `"g"` | 克 |
| `"L"` | 升 |
| `"g"` | 克 |
| `"kg"` | 千克 |
| `"瓶"` | 瓶 |
| `"瓶"` | 瓶 |

> 根据试剂状态选择:液体用 `"mL"` / `"L"`,固体用 `"g"` / `"kg"`。

Expand All @@ -133,8 +135,22 @@ curl -s -X POST "$BASE/api/v1/lab/reagent" \

```json
[
{"cas": "7732-18-3", "name": "水", "molecular_formula": "H2O", "smiles": "O", "stock_in_quantity": 10, "unit": "mL"},
{"cas": "64-17-5", "name": "乙醇", "molecular_formula": "C2H6O", "smiles": "CCO", "stock_in_quantity": 5, "unit": "L"}
{
"cas": "7732-18-3",
"name": "水",
"molecular_formula": "H2O",
"smiles": "O",
"stock_in_quantity": 10,
"unit": "mL"
},
{
"cas": "64-17-5",
"name": "乙醇",
"molecular_formula": "C2H6O",
"smiles": "CCO",
"stock_in_quantity": 5,
"unit": "L"
}
]
```

Expand All @@ -160,9 +176,20 @@ cas,name,molecular_formula,smiles,stock_in_quantity,unit,supplier,production_dat
7732-18-3,水,H2O,O,10,mL,农夫山泉,2025-11-18T00:00:00Z,2026-11-18T00:00:00Z
```

### 日期格式规则(重要)

所有日期字段(`production_date`、`expiry_date`)**必须**使用 ISO 8601 完整格式:`YYYY-MM-DDTHH:MM:SSZ`。

- 用户输入 `2025-03-01` → 转换为 `"2025-03-01T00:00:00Z"`
- 用户输入 `2025/9/1` → 转换为 `"2025-09-01T00:00:00Z"`
- 用户未提供日期 → 使用当天日期 + `T00:00:00Z`,有效期默认 +1 年

**禁止**发送不带时间部分的日期字符串(如 `"2025-03-01"`),API 会拒绝。

### 执行与汇报

每次 API 调用后:

1. 检查返回 `code`(0 = 成功)
2. 记录成功/失败数量
3. 全部完成后汇总:「共录入 N 条试剂,成功 X 条,失败 Y 条」
Expand All @@ -172,28 +199,29 @@ cas,name,molecular_formula,smiles,stock_in_quantity,unit,supplier,production_dat

## 常见试剂速查表

| 名称 | CAS | 分子式 | SMILES |
|------|-----|--------|--------|
| 水 | 7732-18-3 | H2O | O |
| 乙醇 | 64-17-5 | C2H6O | CCO |
| 甲醇 | 67-56-1 | CH4O | CO |
| 丙酮 | 67-64-1 | C3H6O | CC(C)=O |
| 二甲基亚砜(DMSO) | 67-68-5 | C2H6OS | CS(C)=O |
| 乙酸乙酯 | 141-78-6 | C4H8O2 | CCOC(C)=O |
| 二氯甲烷 | 75-09-2 | CH2Cl2 | ClCCl |
| 四氢呋喃(THF) | 109-99-9 | C4H8O | C1CCOC1 |
| N,N-二甲基甲酰胺(DMF) | 68-12-2 | C3H7NO | CN(C)C=O |
| 氯仿 | 67-66-3 | CHCl3 | ClC(Cl)Cl |
| 乙腈 | 75-05-8 | C2H3N | CC#N |
| 甲苯 | 108-88-3 | C7H8 | Cc1ccccc1 |
| 正己烷 | 110-54-3 | C6H14 | CCCCCC |
| 异丙醇 | 67-63-0 | C3H8O | CC(C)O |
| 盐酸 | 7647-01-0 | HCl | Cl |
| 硫酸 | 7664-93-9 | H2SO4 | OS(O)(=O)=O |
| 氢氧化钠 | 1310-73-2 | NaOH | [Na]O |
| 碳酸钠 | 497-19-8 | Na2CO3 | [Na]OC([O-])=O.[Na+] |
| 氯化钠 | 7647-14-5 | NaCl | [Na]Cl |
| 乙二胺四乙酸(EDTA) | 60-00-4 | C10H16N2O8 | OC(=O)CN(CCN(CC(O)=O)CC(O)=O)CC(O)=O |
| 名称 | CAS | 分子式 | SMILES |
| --------------------- | --------- | ---------- | ------------------------------------ |
| 水 | 7732-18-3 | H2O | O |
| 乙醇 | 64-17-5 | C2H6O | CCO |
| 乙酸 | 64-19-7 | C2H4O2 | CC(O)=O |
| 甲醇 | 67-56-1 | CH4O | CO |
| 丙酮 | 67-64-1 | C3H6O | CC(C)=O |
| 二甲基亚砜(DMSO) | 67-68-5 | C2H6OS | CS(C)=O |
| 乙酸乙酯 | 141-78-6 | C4H8O2 | CCOC(C)=O |
| 二氯甲烷 | 75-09-2 | CH2Cl2 | ClCCl |
| 四氢呋喃(THF) | 109-99-9 | C4H8O | C1CCOC1 |
| N,N-二甲基甲酰胺(DMF) | 68-12-2 | C3H7NO | CN(C)C=O |
| 氯仿 | 67-66-3 | CHCl3 | ClC(Cl)Cl |
| 乙腈 | 75-05-8 | C2H3N | CC#N |
| 甲苯 | 108-88-3 | C7H8 | Cc1ccccc1 |
| 正己烷 | 110-54-3 | C6H14 | CCCCCC |
| 异丙醇 | 67-63-0 | C3H8O | CC(C)O |
| 盐酸 | 7647-01-0 | HCl | Cl |
| 硫酸 | 7664-93-9 | H2SO4 | OS(O)(=O)=O |
| 氢氧化钠 | 1310-73-2 | NaOH | [Na]O |
| 碳酸钠 | 497-19-8 | Na2CO3 | [Na]OC([O-])=O.[Na+] |
| 氯化钠 | 7647-14-5 | NaCl | [Na]Cl |
| 乙二胺四乙酸(EDTA) | 60-00-4 | C10H16N2O8 | OC(=O)CN(CCN(CC(O)=O)CC(O)=O)CC(O)=O |

> 此表仅供快速参考。对于不在表中的试剂,agent 应根据化学知识推断或提示用户补充。

Expand Down
Loading