← 返回
沟通协作 Key 中文

Diy Pc Ingest

Ingest pasted PC parts purchase/config text (Discord message receipts, bullet lists) into Notion DIY_PC tables (PCConfig, ストレージ, エンクロージャー, PCInput). Use when the user pastes raw purchase logs/spec notes and wants the AI to classify, enrich via web search, ask follow-up questions for unknowns, and then upsert rows into the correct Notion data sources using the 2025-09-03 data_sources API.
将粘贴的电脑配件采购或配置文本(如 Discord 消息记录、项目列表)录入 Notion DIY_PC 数据表(PCConfig、ストレージ、エンクロージャー、PCInput)。当用户粘贴原始购买日志或规格说明时,利用此技能进行分类,通过网络搜索完善信息,针对未知项提问,随后使用 2025-09-03 data_sources API 将数据更新或插入至正确的 Notion 数据源。
nextaltair
沟通协作 clawhub v2.0.1 1 版本 99751.9 Key: 需要
★ 0
Stars
📥 1,608
下载
💾 65
安装
1
版本
#latest

概述

diy-pc-ingest

Setup (required)

This skill is intended to be shared. Do not hardcode your Notion IDs or token in the skill.

1) Copy the example config:

  • skills/diy-pc-ingest/references/config.example.json~/.config/diy-pc-ingest/config.json

2) Fill in your Notion targets (IDs):

  • notion.targets.*.data_source_id (for schema/query)
  • notion.targets.*.database_id (for creating pages)

3) Provide a Notion integration token (choose one):

  • env: NOTION_API_KEY (recommended)
  • or ~/.config/notion/api_key (legacy local path)
  • or inline notion.api_key in config.json (not recommended if you publish/share configs)

Notes:

  • This skill uses Notion-Version 2025-09-03 by default.
  • Targets are read at runtime from config; see references/config.example.json.

Canonical Notion targets

Use data_sources endpoints for schema/query, and pages endpoint for row creation.

(IDs are intentionally not included in this public skill. They live in your local config.)

Workflow (A: user pastes raw text)

1) Read the pasted text and decide target table per item:

  • エンクロージャー: USB/RAID/HDDケース/ドック、ベイ数、JAN/型番、"安全な取り外し"表示名。
  • ストレージ: HDD/SSD/NVMe/SATA/容量/シリアル/健康状態。
  • PCConfig: CPU/GPU/RAM/PSU/MB/ケース/冷却/NIC/キャプチャ等。

2) Extract fields (best-effort). Prefer Japanese column names as they exist in each table.

3) Enrich specs using web_search/web_fetch when it reduces user work (e.g., bay count, interface, capacity, form factor). Keep it minimal; don’t overfill.

4) Ask follow-up questions only for fields needed to avoid ambiguity or bad joins.

  • ストレージ: Serial missing → ask for serial (or confirm creating as “暫定/シリアル不明”).
  • エンクロージャー: ベイ数 or USB/Thunderbolt/LAN unclear → ask.
  • PCConfig: Identifier/型番 missing but needed to match existing row → ask.

5) Upsert into Notion using scripts/notion_apply_records.js:

  • Provide JSONL records (one per item) on stdin.
  • Script will:
  • find an existing row by key (see below)
  • patch only missing fields unless overwrite=true
  • otherwise create a new row

6) Report results (created/updated/skipped) and link any created rows.

Upsert keys (rules)

  • ストレージ: シリアル (exact) is the primary key. If the existing row was created without serial, allow a safe fallback match by title + (optional) 購入日/価格(円) to support post-fill of serial/health/scan-date.
  • エンクロージャー: 取り外し表示名 (exact) else title/name.
  • PCConfig: (Name + Purchase Date) を複合キーとして扱う(exact)。重複ヒット時は書き込まず質問。
  • If a key collides with multiple rows, do not write; ask user.

JSONL input format for the apply script

Each line is a JSON object:

{"target":"enclosure","title":"RATOC RS-EC32-R5G","properties":{"種別":"USBケース","接続":"USB","ベイ数":2,"普段つないでるPC":"RECRYZEN","購入日":"2026-01-18","購入店":"PCワンズ","価格(円)":8977,"取り外し表示名":"RS-EC32-R5G","メモ":"JAN: 4949090752191"}}

Optional control fields (for cleanup / manual fixes):

  • page_id (or id): update this Notion page directly (bypasses upsert matching)
  • archive: true: archive the page (useful for de-dup)
  • overwrite: true: allow overwriting existing values (including clearing with null)

Optional behavior flags:

  • mirror_to_pcconfig: true (only for target=storage): also create/update a pcconfig row for the installed component.
  • requires: 現在の接続先PC, 購入日, Name

Targets: enclosure | storage | pcconfig | pcinput

Property value encoding:

  • select/status: string name
  • rich_text: string
  • number: number
  • date: YYYY-MM-DD
  • checkbox: boolean
  • relation: array of page_ids (advanced; avoid unless needed)

Notes

  • Always use Notion-Version 2025-09-03.
  • Prefer POST /v1/data_sources/{id}/query over /databases/{id}/query.
  • Relation schema updates require relation.data_source_id (not database_id).

Note (implementation)

  • JS implementation is the default: scripts/notion_apply_records.js
  • Legacy Python implementation is kept for reference: scripts/_deprecated/notion_apply_records.py

版本历史

共 1 个版本

  • v2.0.1 当前
    2026-03-28 22:28 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

content-creation

Soul In Sapphire

nextaltair
长期记忆、状态追踪、连续性审查与身份变更支持,专为OpenClaw设计。用于在Notion中持久记忆的写入/搜索、情绪/状态...
★ 0 📥 2,078
communication-collaboration

imap-smtp-email

gzlicanyi
使用IMAP/SMTP读取和发送邮件;检查新/未读邮件、获取内容、搜索邮箱、标记已读/未读、发送带附件的邮件。支持...
★ 113 📥 52,401
communication-collaboration

Slack

steipete
当需要通过 slack 工具从 Clawdbot 控制 Slack 时使用,包括在频道或私信中回复消息或置顶/取消置顶项目。
★ 157 📥 47,676