بنقرة واحدة
bookshelf-setup
家庭书架初始化技能。当用户说「第一次使用」「初始化书架」「怎么配置」「连接不上」「setup」时使用。引导完成 API 连通、Google Books Key、Agent 对接与成员渠道绑定。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
家庭书架初始化技能。当用户说「第一次使用」「初始化书架」「怎么配置」「连接不上」「setup」时使用。引导完成 API 连通、Google Books Key、Agent 对接与成员渠道绑定。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
家庭藏书入库技能。当用户发送书封照片、ISBN、或说「买了本书/入库/加书」时使用。调用 bookshelf CLI 完成识别、元数据补全与落库。
家庭藏书查询技能。当用户问「有没有 XX 书」「我家关于历史的书」「这本书详情」时使用。调用 bookshelf find / show 检索书架。
读书笔记技能。当用户说「记一段摘录」「写点感想」「给这本书做个笔记」时使用。调用 bookshelf note 写入 reading_notes。
购书记录技能。当用户说「这本花了 X 元」「在京东买的」「补录购买信息」时使用。调用 bookshelf purchase 写入购买记录。
阅读进度跟踪技能。当用户说「读到第 X 页」「在读」「读完了」「给这本书打 5 分」时使用。调用 bookshelf progress 更新进度。
藏书统计技能。当用户问「我家有多少书」「今年买书花了多少」「阅读 streak」时使用。调用 bookshelf stats。
| name | bookshelf-setup |
| description | 家庭书架初始化技能。当用户说「第一次使用」「初始化书架」「怎么配置」「连接不上」「setup」时使用。引导完成 API 连通、Google Books Key、Agent 对接与成员渠道绑定。 |
首次使用请先跑本技能,完成后再使用 book-intake / book-query 等业务技能。
deploy/.env 或 backend/.envbookshelf doctorbook-intakebookshelf doctor → 修 errors → 配 Key(可选) → 配 Agent → bind 成员 → doctor 再验 → 完成
bookshelf doctor
关注 JSON 中:
| 字段 | 含义 |
|---|---|
checks.api_reachable | API 是否可达 |
checks.db_ok | 数据库是否正常 |
checks.google_books_configured | 服务端是否配置了 Google Books Key |
checks.barcode_scan_available | 服务端条码识别是否可用 |
checks.members_bound | 已绑定 IM 渠道的成员数 |
errors | 必须先清零 |
warnings | 建议处理,不阻断基本使用 |
hints | 具体操作指引 |
| 现象 | 处理 |
|---|---|
| API 不可达 | 本机:cd backend && uvicorn app.main:app --host 127.0.0.1 --port 8000;或 cd deploy && docker compose up -d |
| DB 异常 | alembic upgrade head;检查 data/ 目录权限 |
BOOKSHELF_API_URL 错误 | Agent/CLI 机器上 export BOOKSHELF_API_URL=http://<家庭服务器IP>:8000 |
不要在对话里让用户发送 Key。
告知用户:
deploy/.env → GOOGLE_BOOKS_API_KEY=...backend/.env 或 deploy/systemd/bookshelf.envbookshelf doctor,确认 google_books_configured: trueOpenLibrary + 国图源无需 Key,但中文书 metadata 有 Key 更稳。
skills/ 目录 加入 OpenClaw / Hermes 等 Agent 的可用技能路径bookshelf 命令(pip install -e cli)export BOOKSHELF_API_URL=http://127.0.0.1:8000 # 或家庭服务器地址
| Skill | 用途 |
|---|---|
| bookshelf-setup | 本技能(初始化) |
| book-intake | 入库 |
| book-query | 查询 |
| reading-tracker | 阅读进度 |
| purchase-logger | 购书记录 |
| note-taker | 笔记 |
| shelf-report | 统计 |
查看现有成员:
bookshelf doctor # data.members 列表
或调用 GET /api/v1/members
默认可能有「默认用户」(ID=1)。如需区分多位家庭成员,先创建新成员:
bookshelf member --name "你" --role owner # role 可选 owner / member / guest
空库首次直接
bookshelf bind --member-id 1 ...会自动创建默认 owner,无需先手动建成员。
绑定飞书用户(示例):
bookshelf bind --member-id 1 --channel feishu --external-user-id ou_xxxxxxxx
external_user_id:飞书开放平台用户 open_id(ou_ 开头)sender.sender_id.open_id绑定后 bookshelf doctor 应显示 members_bound >= 1
绑定后所有业务写端点(progress/notes/reading-logs/purchases/intake)会校验
X-Channel/X-External-User-Id,未绑定的渠道身份返回 403。 一期不做飞书 Webhook 自动配置;Agent 侧收到消息后映射成员 ID 即可。
全部 warnings 可接受后:
bookshelf doctor # ready: true
bookshelf stats # 空库也应正常
# 可选:bookshelf add --isbn 9780141439518 # 测试入库
书架已初始化完成:API 连通、数据库正常{,Google Books 已配置}{,成员已绑定飞书}。 你现在可以发书封照片或 ISBN,我会帮你入库。
然后 切换至 book-intake 技能 处理后续藏书请求。
| 情况 | 话术 |
|---|---|
| doctor 有 errors | 列出 errors,逐步引导,不要跳过 |
| 用户想在聊天里发 Key | 拒绝并说明安全风险,引导编辑 .env |
| 绑定 ID 不知道 | 说明从飞书事件/开放平台获取 open_id,或二期 Web 配置 |
| doctor ready 但入库失败 | 转 book-intake 排查;必要时查服务端日志 |
| 业务端点返回 403 | 渠道身份未绑定/与 member_id 不一致,提示先 bind 或核对成员 |
bookshelf doctor
bookshelf health
bookshelf member --name "你" --role owner
bookshelf bind --member-id 1 --channel feishu --external-user-id ou_xxx
bookshelf stats
export BOOKSHELF_API_URL=http://<host>:8000