Calibre Catalog Read: AI 电子书库分析 - Openclaw Skills

作者:互联网

2026-04-06

AI教程

什么是 Calibre Catalog Read?

Calibre Catalog Read 技能是 Openclaw Skills 框架的专业级扩展,旨在弥合本地电子书管理与大语言模型智能之间的鸿沟。它使 AI 代理能够通过 calibredb 直接与 Calibre 内容服务器交互,实现自动化的库审计、元数据丰富和深层内容理解。该技能专为性能和可靠性而设计,采用双代理架构,确保繁重的文本分析不会阻塞用户交互。通过将其集成到您的 Openclaw Skills 设置中,您可以将静态书籍收藏转化为动态、AI 可搜索的知识库,洞察结果将以整洁的 HTML 格式自动写回书库备注。

下载入口:https://github.com/openclaw/skills/tree/main/skills/nextaltair/calibre-catalog-read

安装与下载

1. ClawHub CLI

从源直接安装技能的最快方式。

npx clawhub@latest install calibre-catalog-read

2. 手动安装

将技能文件夹复制到以下位置之一

全局模式 ~/.openclaw/skills/ 工作区 /skills/

优先级:工作区 > 本地 > 内置

3. 提示词安装

将此提示词复制到 OpenClaw 即可自动安装。

请帮我使用 Clawhub 安装 calibre-catalog-read。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。

Calibre Catalog Read 应用场景

  • 为新加入的书籍自动生成主题摘要和批判性分析。
  • 通过自然语言界面在大型 Calibre 藏书中搜索和列出书籍。
  • 将 AI 生成的见解同步回数据库,从而丰富 Calibre 元数据。
  • 从 EPUB 和其他格式中进行高性能文本提取,用于研究和存档。
Calibre Catalog Read 工作原理
  1. 主代理与 Calibre 内容服务器交互,根据用户查询识别目标书籍。
  2. 使用 ebook-convert 处理选定的电子书文件以提取原始文本内容。
  3. 该技能准备分段负载以避免工具调用限制,并生成一个专门的子代理。
  4. 子代理根据严格的 JSON 模式对书籍内容进行多步骤分析。
  5. 主代理接收分析结果,将其缓存在本地 SQLite 数据库中,并使用 HTML 格式的分析块更新 Calibre 书籍备注。

Calibre Catalog Read 配置指南

要在您的 Openclaw Skills 环境中部署此技能,请确保您的系统路径中已安装 calibredb、ebook-convert、node 和 uv。在环境中配置您的库凭据:

export CALIBRE_PASSWORD='your_password'
export CALIBRE_USERNAME='your_username'

使用以下命令初始化持久缓存数据库:

uv run python skills/calibre-catalog-read/scripts/analysis_db.py init --db skills/calibre-catalog-read/state/calibre_analysis.sqlite

Calibre Catalog Read 数据架构与分类体系

该技能通过一组结构化的文件和数据库管理其运行数据:

  • **运行状态 (runs.json)**:跟踪活动分析任务的生命周期,包括运行 ID 和时间戳。
  • **分析缓存 (calibre_analysis.sqlite)**:存储内容哈希和之前分析结果的 SQLite 数据库,以减少冗余 API 调用。
  • **身份验证 (auth.json)**:可选的 Calibre 内容服务器会话令牌本地存储。
  • 元数据映射:分析结果作为标准化的 HTML 存储在 calibre:comments-metadata 字段中。
name: calibre-catalog-read
description: Read Calibre catalog data via calibredb over a Content server, and run one-book analysis workflow that writes HTML analysis block back to comments while caching analysis state in SQLite. Use for list/search/id lookups and AI reading pipeline for a selected book.
metadata: {"openclaw":{"requires":{"bins":["node","uv","calibredb","ebook-convert"],"env":["CALIBRE_PASSWORD"]},"optionalEnv":["CALIBRE_USERNAME"],"primaryEnv":"CALIBRE_PASSWORD","dependsOnSkills":["subagent-spawn-command-builder"],"localWrites":["skills/calibre-catalog-read/state/runs.json","skills/calibre-catalog-read/state/calibre_analysis.sqlite","skills/calibre-catalog-read/state/cache/**","~/.config/calibre-catalog-read/auth.json"],"modifiesRemoteData":["calibre:comments-metadata"]}}

calibre-catalog-read

Use this skill for:

  • Read-only catalog lookup (list/search/id)
  • One-book AI reading workflow (export -> analyze -> cache -> comments HTML apply)

Requirements

  • calibredb available on PATH in the runtime where scripts are executed.
  • ebook-convert available for text extraction.
  • subagent-spawn-command-builder installed (for spawn payload generation).
  • Reachable Calibre Content server URL in --with-library format:
    • http://HOST:PORT/#LIBRARY_ID
  • Do not assume localhost/127.0.0.1; always pass explicit reachable HOST:PORT.
  • If auth is enabled:
    • Preferred: set in /home/altair/.openclaw/.env
      • CALIBRE_USERNAME=
      • CALIBRE_PASSWORD=
    • Then pass only --password-env CALIBRE_PASSWORD (username auto-loads from env)
    • You can still override with --username explicitly.
    • Optional auth cache file: ~/.config/calibre-catalog-read/auth.json
      • Avoid --save-plain-password unless explicitly requested.

Commands

List books (JSON):

node skills/calibre-catalog-read/scripts/calibredb_read.mjs list r
  --with-library "http://192.168.11.20:8080/#Calibreライブラリ" r
  --password-env CALIBRE_PASSWORD r
  --limit 50

Search books (JSON):

node skills/calibre-catalog-read/scripts/calibredb_read.mjs search r
  --with-library "http://192.168.11.20:8080/#Calibreライブラリ" r
  --password-env CALIBRE_PASSWORD r
  --query 'series:"中公文庫"'

Get one book by id (JSON):

node skills/calibre-catalog-read/scripts/calibredb_read.mjs id r
  --with-library "http://192.168.11.20:8080/#Calibreライブラリ" r
  --password-env CALIBRE_PASSWORD r
  --book-id 3

Run one-book pipeline (analyze + comments HTML apply + cache):

uv run python skills/calibre-catalog-read/scripts/run_analysis_pipeline.py r
  --with-library "http://192.168.11.20:8080/#Calibreライブラリ" r
  --password-env CALIBRE_PASSWORD r
  --book-id 3 --lang ja

Cache DB

Initialize DB schema:

uv run python skills/calibre-catalog-read/scripts/analysis_db.py init r
  --db skills/calibre-catalog-read/state/calibre_analysis.sqlite

Check current hash state:

uv run python skills/calibre-catalog-read/scripts/analysis_db.py status r
  --db skills/calibre-catalog-read/state/calibre_analysis.sqlite r
  --book-id 3 --format EPUB

Main vs Subagent responsibility (strict split)

Use this split to avoid long blocking turns on chat listeners.

Main agent (fast control plane)

  • Validate user intent and target book_id.
  • Confirm subagent runtime knobs: model, thinking, runTimeoutSeconds.
  • Start subagent and return a short progress reply quickly.
  • After subagent result arrives, run DB upsert + Calibre apply.
  • Report final result to user.

Subagent (heavy analysis plane)

  • Read extracted source payload.
  • Generate analysis JSON strictly by schema.
  • Do not run metadata apply or user-facing channel actions.

Never do in main when avoidable

  • Long-form content analysis generation.
  • Multi-step heavy reasoning over full excerpts.

Turn policy

  • One book per run.
  • Prefer asynchronous flow: quick ack first, final result after analysis.
  • If analysis is unavailable, either ask user or use fallback only when explicitly acceptable.

Subagent pre-flight (required)

Before first subagent run in a session, confirm once:

  • model
  • thinking (low/medium/high)
  • runTimeoutSeconds

Do not ask on every run. Reuse the confirmed settings for subsequent books in the same session unless the user asks to change them.

Subagent support (model-agnostic)

Book-reading analysis is a heavy task. Use a subagent with a lightweight model for analysis generation, then return results to main agent for cache/apply steps.

  • Prompt template: references/subagent-analysis.prompt.md
  • Input schema: references/subagent-input.schema.json
  • Output schema: references/subagent-analysis.schema.json
  • Input preparation helper: scripts/prepare_subagent_input.mjs
    • Splits extracted text into multiple files to avoid read-tool single-line size issues.

Rules:

  • Use subagent only for heavy analysis generation; keep main agent lightweight and non-blocking.
  • In this environment, Python commands must use uv run python.
  • Use the strict prompt template (references/subagent-analysis.prompt.md) as mandatory base; do not send ad-hoc relaxed read instructions.
  • Keep final DB upsert and Calibre metadata apply in main agent.
  • Process one book per run.
  • Confirm model/thinking/timeout once per session, then reuse; do not hardcode provider-specific model IDs in the skill.
  • Configure callback/announce behavior and rate-limit fallbacks using OpenClaw default model/subagent/fallback settings (not hardcoded in this skill).
  • Exclude manga/comic-centric books from this text pipeline (skip when title/tags indicate manga/comic).
  • If extracted text is too short, stop and ask user for confirmation before continuing.
    • The pipeline returns reason: low_text_requires_confirmation with prompt_en text.

Language policy

  • Do not hardcode user-language prose in pipeline scripts.
  • Generate user-visible analysis text from subagent output, with language controlled by user-selected settings and lang input.
  • Fallback local analysis in scripts is generic/minimal; preferred path is subagent output following the prompt template.

Orchestration note (important)

run_analysis_pipeline.py is a local script and does not call OpenClaw tools by itself. Subagent execution must be orchestrated by the agent layer using sessions_spawn.

Required runtime sequence:

  1. Main agent prepares subagent_input.json + chunked source_files from extracted text.
    • Use:
    node skills/calibre-catalog-read/scripts/prepare_subagent_input.mjs r
      --book-id  --title "" --lang ja r
      --text-path /tmp/book_<id>.txt --out-dir /tmp/calibre_subagent_<id>
    </CODE></PRE></LI>
    <LI>Main agent uses the shared builder skill <CODE>subagent-spawn-command-builder</CODE> to generate the <CODE>sessions_spawn</CODE> payload, then calls <CODE>sessions_spawn</CODE>.
    <UL>
    <LI>Build with profile <CODE>calibre-read</CODE> and run-specific analysis task text.</LI>
    <LI>Use the generated JSON as-is (or merge minimal run-specific fields such as label/task text).</LI></UL></LI>
    <LI>Subagent reads all <CODE>source_files</CODE> and returns analysis JSON (schema-conformant).</LI>
    <LI>Main agent passes that file via <CODE>--analysis-json</CODE> to <CODE>run_analysis_pipeline.py</CODE> for DB/apply.</LI></OL>
    <P>If step 2 is skipped, pipeline falls back to local minimal analysis (only for emergency/testing).</P>
    <H2 id=chat-execution-model-required-strict>Chat execution model (required, strict)</H2>
    <P>For Discord/chat, always run as <STRONG>two separate turns</STRONG>.</P>
    <H3 id=turn-a-start-only-must-be-fast>Turn A: start only (must be fast)</H3>
    <UL>
    <LI>Select one target book.</LI>
    <LI>Build spawn payload with <CODE>subagent-spawn-command-builder</CODE> (<CODE>--profile calibre-read</CODE> + run-specific <CODE>--task</CODE>).</LI>
    <LI>Call <CODE>sessions_spawn</CODE> using that payload.</LI>
    <LI>Record run state (<CODE>runId</CODE>) via <CODE>run_state.mjs upsert</CODE>.</LI>
    <LI>Reply to user with selected title + "running in background".</LI>
    <LI><STRONG>Stop turn here.</STRONG></LI></UL>
    <H3 id=turn-b-completion-only-separate-later-turn>Turn B: completion only (separate later turn)</H3>
    <P>Trigger: completion announce/event for that run.</P>
    <UL>
    <LI>Run one command only (completion handler):
    <UL>
    <LI><CODE>scripts/handle_completion.mjs</CODE> (<CODE>get -> apply -> remove</CODE>, and <CODE>fail</CODE> on error).</LI></UL></LI>
    <LI>If <CODE>runId</CODE> is missing, handler returns <CODE>stale_or_duplicate</CODE> and does nothing.</LI>
    <LI>Send completion/failure reply from handler result.</LI></UL>
    <P>Hard rule:</P>
    <UL>
    <LI>Never poll/wait/apply in Turn A.</LI>
    <LI>Never keep a chat listener turn open waiting for subagent completion.</LI></UL>
    <H2 id=run-state-management-single-file-required>Run state management (single-file, required)</H2>
    <P>For one-book-at-a-time operation, keep a single JSON state file:</P>
    <UL>
    <LI><CODE>skills/calibre-catalog-read/state/runs.json</CODE></LI></UL>
    <P>Use <CODE>runId</CODE> as the primary key (subagent execution id).</P>
    <P>Lifecycle:</P>
    <OL>
    <LI>On spawn acceptance, upsert one record:
    <UL>
    <LI><CODE>runId</CODE>, <CODE>book_id</CODE>, <CODE>title</CODE>, <CODE>status: "running"</CODE>, <CODE>started_at</CODE></LI></UL></LI>
    <LI>Do not wait/poll inside the same chat turn.</LI>
    <LI>On completion announce, load record by <CODE>runId</CODE> and run apply.</LI>
    <LI>On successful apply, delete that record immediately.</LI>
    <LI>On failure, set <CODE>status: "failed"</CODE> + <CODE>error</CODE> and keep record for retry/debug.</LI></OL>
    <P>Rules:</P>
    <UL>
    <LI>Keep this file small and operational (active/failed records only).</LI>
    <LI>Ignore duplicate completion events when record is already removed.</LI>
    <LI>If record is missing at completion time, report as stale/unknown run and do not apply blindly.</LI></UL>
    <P>Use helper scripts (avoid ad-hoc env var mistakes):</P><PRE><CODE class=language-bash># Turn A: register running task
    node skills/calibre-catalog-read/scripts/run_state.mjs upsert r
      --state skills/calibre-catalog-read/state/runs.json r
      --run-id <RUN_ID> --book-id <BOOK_ID> --title "<TITLE>"
    
    # Turn B: completion handler (preferred)
    node skills/calibre-catalog-read/scripts/handle_completion.mjs r
      --state skills/calibre-catalog-read/state/runs.json r
      --run-id <RUN_ID> r
      --analysis-json /tmp/calibre_<BOOK_ID>/analysis.json r
      --with-library "http://HOST:PORT/#LIBRARY_ID" r
      --password-env CALIBRE_PASSWORD --lang ja
    </CODE></PRE>                                                        
                                 
                               </div>
    														                            <div class="lastanext flexRow">
    							 							 							  <a class="lastart flexRow"  href="/wz/333859.html"  ><span>上一篇:</span><span>Unloopa API:AI 自动化销售与潜在客户生成 - Openclaw 技能</span></a>
    							 							 
                                 							                                 <a class="nextart flexRow"  href="/wz/333861.html" ><span>下一篇:</span><span>LangChain 开发:LCEL、RAG 与智能体优化 - Openclaw Skills</span></a>
    							                             </div>
                            </div>
                            <div class="dtl-xgtj">
                                <div class="jb-titles flexRow">
                                    <div class="jbtle-left flexRow"><b></b><p>相关推荐</p></div>
                                    
                                </div>
                                <div class="tjlist flexRow">
    														                                <div class="tj-item ">
                                        <div class="tjitemd">
    									
                                            <div class="tjimd-top flexRow">
                                                <a class="imdta flexRow"  href="/wz/368515.html"  >
                                                                                            <img src="https://images.jiaoben.net/uploads/20260418/logo_69e379de9e63b1.png" >
                                                                                            </a>
                                                <div class="imdt-right flexColumn">
                                                    <a class="imdtra flexRow overflowclass"  href="/wz/368515.html"  >【新手零难度操作 】OpenClaw 2.6.4 安装误区规避与快速使用指南(包含最新版安装包)</a>
                                                    <a class="imdtrap flexRow overflowclass"  href="/wz/368515.html"  >
                                                                                                                                         OpenClaw(小龙虾)是开源本地AI智能体工具,支持Windows一键部署(5分钟搞定),无需代码与复杂配置。具备本地运行、数据安全、零门槛操作、开箱即用等优势,可自动完成文件整理、数据提取、浏览器操控等办公自动化任务。
                                                                                                                    </a>
                                                </div>
                                            </div>
    									
                                            <div class="tjimd-down flexRow">
                                                <div class="imdd-tab flexRow">
                                                    <p class="imddt-time flexRow"><b></b><span>2026-04-18</span></p>
                                                    
                                                </div>
                                                <a  href="/wz/368515.html"   class="imdd-more flexRow flexcenter"  >立即查看</a>
                                            </div>
                                        </div>
                                    </div>
    								                                <div class="tj-item ">
                                        <div class="tjitemd">
    									
                                            <div class="tjimd-top flexRow">
                                                <a class="imdta flexRow"  href="/wz/368514.html"  >
                                                                                            <img src="https://images.jiaoben.net/uploads/20260418/logo_69e379c6ef2641.png" >
                                                                                            </a>
                                                <div class="imdt-right flexColumn">
                                                    <a class="imdtra flexRow overflowclass"  href="/wz/368514.html"  >Qwen3.6 正式发布!阿里云百炼同步开启“AI大模型节省计划”超值优惠</a>
                                                    <a class="imdtrap flexRow overflowclass"  href="/wz/368514.html"  >
                                                                                                                                         阿里云发布千问Qwen3.6系列大模型,大模型官网:https://t.aliyun.com/U/JbblVp 实现编程、智能体(Agent)及多模态能力的范式跃迁:代码生成与调试更精准,原生支持LangChain等框架,工具调用更稳定,图文识别与推理全面升级。Qwen3.6-Flash轻量高效,开发体验优化。同步推出百炼「全模型通享」限时特惠,新客首月立减最高500元。
                                                                                                                    </a>
                                                </div>
                                            </div>
    									
                                            <div class="tjimd-down flexRow">
                                                <div class="imdd-tab flexRow">
                                                    <p class="imddt-time flexRow"><b></b><span>2026-04-18</span></p>
                                                    
                                                </div>
                                                <a  href="/wz/368514.html"   class="imdd-more flexRow flexcenter"  >立即查看</a>
                                            </div>
                                        </div>
                                    </div>
    								                                <div class="tj-item ">
                                        <div class="tjitemd">
    									
                                            <div class="tjimd-top flexRow">
                                                <a class="imdta flexRow"  href="/wz/368512.html"  >
                                                                                            <img src="https://images.jiaoben.net/uploads/20260418/logo_69e379b7eeae01.png" >
                                                                                            </a>
                                                <div class="imdt-right flexColumn">
                                                    <a class="imdtra flexRow overflowclass"  href="/wz/368512.html"  >办公 AI 工具 OpenClaw 部署 Windows 系统一站式教程</a>
                                                    <a class="imdtrap flexRow overflowclass"  href="/wz/368512.html"  >
                                                                                                                                         OpenClaw(小龙虾)是开源本地AI智能体,无需编程、不联网、纯本地运行,3分钟一键部署。支持文件整理、表格生成、浏览器自动化等办公任务,兼顾隐私安全与零门槛易用性,专为Windows用户优化。
                                                                                                                    </a>
                                                </div>
                                            </div>
    									
                                            <div class="tjimd-down flexRow">
                                                <div class="imdd-tab flexRow">
                                                    <p class="imddt-time flexRow"><b></b><span>2026-04-18</span></p>
                                                    
                                                </div>
                                                <a  href="/wz/368512.html"   class="imdd-more flexRow flexcenter"  >立即查看</a>
                                            </div>
                                        </div>
                                    </div>
    								                                <div class="tj-item ">
                                        <div class="tjitemd">
    									
                                            <div class="tjimd-top flexRow">
                                                <a class="imdta flexRow"  href="/wz/368508.html"  >
                                                                                            <img src="https://images.jiaoben.net/uploads/20260418/logo_69e378709859b1.png" >
                                                                                            </a>
                                                <div class="imdt-right flexColumn">
                                                    <a class="imdtra flexRow overflowclass"  href="/wz/368508.html"  >OpenClaw 2.6.4 可视化部署 打造个人 AI 数字员工(包含最新版安装包)</a>
                                                    <a class="imdtrap flexRow overflowclass"  href="/wz/368508.html"  >
                                                                                                                                         本教程详解Windows一键部署OpenClaw 2.6.4(本地AI智能体),5分钟完成安装,无需编程与环境配置。支持自然语言操控电脑、自动化办公、文件处理等,数据全本地运行,保障隐私安全。
                                                                                                                    </a>
                                                </div>
                                            </div>
    									
                                            <div class="tjimd-down flexRow">
                                                <div class="imdd-tab flexRow">
                                                    <p class="imddt-time flexRow"><b></b><span>2026-04-18</span></p>
                                                    
                                                </div>
                                                <a  href="/wz/368508.html"   class="imdd-more flexRow flexcenter"  >立即查看</a>
                                            </div>
                                        </div>
                                    </div>
    									
                                    
    								
                                </div>
    
                            </div>
                        </div>
    
    
                        <div class="cd-right dtlcd-right">
                            <div class="dtl-ht">
                                <div class="jb-titles flexRow">
                                    <div class="jbtle-left flexRow"><b></b><p>专题</p></div>
                                    
                                </div>
                                <div class="dtlht-list ">
    							                                <div class="htl-item flexRow">
                                        <div class="htmitem-left">
                                            <div class="htiteml-top flexRow">
                                                <a href="/wz/zt-69351.html"  >#数据可视化</a>
                                                <span></span>
                                            </div>
                                            <a class="htiteml-down flexRow" href="/wz/zt-69351.html"  >数据可视化(Data Visu</a>
                                        </div>
                                        <p class="htmitem-right flexRow flexcenter gz" data-id="69351"  >+ 收藏</p>
                                    </div>
    							                                <div class="htl-item flexRow">
                                        <div class="htmitem-left">
                                            <div class="htiteml-top flexRow">
                                                <a href="/wz/zt-69342.html"  >#自然语言处理</a>
                                                <span></span>
                                            </div>
                                            <a class="htiteml-down flexRow" href="/wz/zt-69342.html"  >自然语言处理(Natural</a>
                                        </div>
                                        <p class="htmitem-right flexRow flexcenter gz" data-id="69342"  >+ 收藏</p>
                                    </div>
    							                                <div class="htl-item flexRow">
                                        <div class="htmitem-left">
                                            <div class="htiteml-top flexRow">
                                                <a href="/wz/zt-68363.html"  >#Excel公式</a>
                                                <span></span>
                                            </div>
                                            <a class="htiteml-down flexRow" href="/wz/zt-68363.html"  >Excel公式就是:用函数 +</a>
                                        </div>
                                        <p class="htmitem-right flexRow flexcenter gz" data-id="68363"  >+ 收藏</p>
                                    </div>
    							                                <div class="htl-item flexRow">
                                        <div class="htmitem-left">
                                            <div class="htiteml-top flexRow">
                                                <a href="/wz/zt-68355.html"  >#Excel技巧</a>
                                                <span></span>
                                            </div>
                                            <a class="htiteml-down flexRow" href="/wz/zt-68355.html"  >Excel是日常生活中必不可</a>
                                        </div>
                                        <p class="htmitem-right flexRow flexcenter gz" data-id="68355"  >+ 收藏</p>
                                    </div>
    							                                <div class="htl-item flexRow">
                                        <div class="htmitem-left">
                                            <div class="htiteml-top flexRow">
                                                <a href="/wz/zt-68081.html"  >#蛋仔派对</a>
                                                <span></span>
                                            </div>
                                            <a class="htiteml-down flexRow" href="/wz/zt-68081.html"  >蛋仔派对最新官方活动、关卡速</a>
                                        </div>
                                        <p class="htmitem-right flexRow flexcenter gz" data-id="68081"  >+ 收藏</p>
                                    </div>
    							                                <div class="htl-item flexRow">
                                        <div class="htmitem-left">
                                            <div class="htiteml-top flexRow">
                                                <a href="/wz/zt-68000.html"  >#人工智能</a>
                                                <span></span>
                                            </div>
                                            <a class="htiteml-down flexRow" href="/wz/zt-68000.html"  >人工智能(AI),简单说,就</a>
                                        </div>
                                        <p class="htmitem-right flexRow flexcenter gz" data-id="68000"  >+ 收藏</p>
                                    </div>
    								
                                    
    
    
                                </div>
                            </div>
    
    
                            <div class="   dtl-zt">
                                <div class="jb-titles flexRow">
                                    <div class="jbtle-left flexRow"><b></b><p>最新数据</p></div>
                                   
                                </div>
    
    
                                <div class="wkch-downs">
    																					                                <div class="weekch-top flexRow">
                                            <a class="wktpa flexRow" href="/wz/333865.html"  >
                                                                                         <img src="/jiaoben/image/noimg.png" >
                                                                                        </a>
                                        <div class="wktpa-right flexColumn">
                                            <a class="wktpara flexRow overflowclass"  href="/wz/333865.html"  >GizmoLab: Web3 区块链工具与 UI 组件 - Openclaw 技能</a>
                                            <a class="wktparp flexRow overflowclass"  href="/wz/333865.html"  >
                                                                                                什么是 GizmoLab 工具
                                                                                            
                                            </a>
                                        </div>
                                    </div>
    								
    															
    															
    															
    															
    															
    															
    															
    															
    															
    								
                                    <div class="weekch-list">
                                    										
    																											<div class="weekch-con flexRow">
    											<div class="weekch-icon flexRow"><b></b></div>
    											<a  href="/wz/333863.html"  class="weekcha flexRow flexcenter overflowclass" >med-info: 基于 FDA 标签的药物数据与引用 - Openclaw Skills</a>
    										</div>
    										
    																											<div class="weekch-con flexRow">
    											<div class="weekch-icon flexRow"><b></b></div>
    											<a  href="/wz/333862.html"  class="weekcha flexRow flexcenter overflowclass" >Electron:安全的桌面应用开发 - Openclaw Skills</a>
    										</div>
    										
    																											<div class="weekch-con flexRow">
    											<div class="weekch-icon flexRow"><b></b></div>
    											<a  href="/wz/333858.html"  class="weekcha flexRow flexcenter overflowclass" >IFC 数据提取:BIM 数据解析与导出 - Openclaw Skills</a>
    										</div>
    										
    																											<div class="weekch-con flexRow">
    											<div class="weekch-icon flexRow"><b></b></div>
    											<a  href="/wz/333857.html"  class="weekcha flexRow flexcenter overflowclass" >Hostinger API:自动化管理 VPS、DNS 和域名 - Openclaw Skills</a>
    										</div>
    										
    																											<div class="weekch-con flexRow">
    											<div class="weekch-icon flexRow"><b></b></div>
    											<a  href="/wz/333855.html"  class="weekcha flexRow flexcenter overflowclass" >掌握 Go 编程:可靠代码与并发 - Openclaw Skills</a>
    										</div>
    										
    																											<div class="weekch-con flexRow">
    											<div class="weekch-icon flexRow"><b></b></div>
    											<a  href="/wz/333854.html"  class="weekcha flexRow flexcenter overflowclass" >GolemedIn:AI 智能体职业网络 - Openclaw 技能</a>
    										</div>
    										
    																											<div class="weekch-con flexRow">
    											<div class="weekch-icon flexRow"><b></b></div>
    											<a  href="/wz/333853.html"  class="weekcha flexRow flexcenter overflowclass" >Sui Move 覆盖率:自动化测试与安全审计 - Openclaw Skills</a>
    										</div>
    										
    																											<div class="weekch-con flexRow">
    											<div class="weekch-icon flexRow"><b></b></div>
    											<a  href="/wz/333852.html"  class="weekcha flexRow flexcenter overflowclass" >SWARM 安全:多智能体 AI 风险评估 - Openclaw Skills</a>
    										</div>
    										
    																											<div class="weekch-con flexRow">
    											<div class="weekch-icon flexRow"><b></b></div>
    											<a  href="/wz/333851.html"  class="weekcha flexRow flexcenter overflowclass" >目标追踪技能:追踪里程碑与每日进度 - Openclaw Skills</a>
    										</div>
    										
    										
                                        
        
                                    </div>
        
                                </div>
                               
                            </div>
    
                           
                            <div class="  dtl-wz">
                                <div class="jb-titles flexRow">
                                    <div class="jbtle-left flexRow"><b></b><p>相关文章</p></div>
                                    
                                </div>
                                <div class="blog-list">
    							                                <a  href="/wz/355079.html"   class="bloga flexRow over"><p class="overflowclass">Minecraft 3D 建造计划生成器:AI 场景架构师 - Openclaw Skills</p><div class="blogtime"><span>04/</span>18</div></a>
    							                                <a  href="/wz/355080.html"   class="bloga flexRow over"><p class="overflowclass">Scholar Search:自动化文献搜索与研究简报 - Openclaw Skills</p><div class="blogtime"><span>04/</span>18</div></a>
    							                                <a  href="/wz/355081.html"   class="bloga flexRow over"><p class="overflowclass">issue-to-pr: 自动化 GitHub Issue 修复与 PR 生成 - Openclaw Skills</p><div class="blogtime"><span>04/</span>18</div></a>
    							                                <a  href="/wz/355082.html"   class="bloga flexRow over"><p class="overflowclass">接班交班总结器:临床 EHR 自动化 - Openclaw Skills</p><div class="blogtime"><span>04/</span>18</div></a>
    							                                <a  href="/wz/355083.html"   class="bloga flexRow over"><p class="overflowclass">Teacher AI 备课专家:K-12 自动化教案设计 - Openclaw Skills</p><div class="blogtime"><span>04/</span>18</div></a>
    							                                <a  href="/wz/355084.html"   class="bloga flexRow over"><p class="overflowclass">专利权利要求映射器:生物技术与制药 IP 分析 - Openclaw Skills</p><div class="blogtime"><span>04/</span>18</div></a>
    							                                <a  href="/wz/355085.html"   class="bloga flexRow over"><p class="overflowclass">生成 Tesla 车身改色膜:用于 3D 显示的 AI 图像生成 - Openclaw Skills</p><div class="blogtime"><span>04/</span>18</div></a>
    							                                <a  href="/wz/355086.html"   class="bloga flexRow over"><p class="overflowclass">Taiwan MD:面向台湾的 AI 原生开放知识库 - Openclaw Skills</p><div class="blogtime"><span>04/</span>18</div></a>
    							                                <a  href="/wz/355087.html"   class="bloga flexRow over"><p class="overflowclass">自学习与迭代演进:AI Agent 成长框架 - Openclaw Skills</p><div class="blogtime"><span>04/</span>18</div></a>
    							                                <a  href="/wz/355089.html"   class="bloga flexRow over"><p class="overflowclass">HIPC Config Manager: 安全的 API 凭据处理器 - Openclaw Skills</p><div class="blogtime"><span>04/</span>18</div></a>
    								
                                    
                                </div>
    
                            </div>
    
                            <div class="cdr-ai">
                            <div class="jb-titles flexRow">
                                <div class="jbtle-left flexRow"><b></b><p>AI精选 </p></div>
    							<a class="jbtitle-more flexRow" href="/category/list_344_1.html"  title=""><span>更多</span><b></b></a>
                            </div>
    						                        <div class="ai-list">
                                <div class="ail-top flexRow">
    																                                <a  href="/wz/368511.html"  title="" class="ailta ">
                                                                            <img src="https://images.jiaoben.net/uploads/20260418/logo_69e379a77ddc11.jpg" >
                                                                            <p ><span>电影哥特式火水社论</span></p></a>
    																								                                <a  href="/wz/368510.html"  title="" class="ailta ">
                                                                            <img src="https://images.jiaoben.net/uploads/20260418/logo_69e3799e6eb521.jpg" >
                                                                            <p ><span>本能 电影剧照</span></p></a>
    																																																																																																																																																                               
                                </div>
                                <div class="ail-down">
    																																																						<a class="ali-con flexRow"  href="/wz/368502.html"  title="">
    										<div class="alicon-left flexRow"><span>精选</span></div>
    										<p class="aliconp overflowclass">夜桥上的电影三联画肖像</p>
    									</a>
    																																<a class="ali-con flexRow"  href="/wz/368501.html"  title="">
    										<div class="alicon-left flexRow"><span>精选</span></div>
    										<p class="aliconp overflowclass">黄金时段海岸生活方式照片</p>
    									</a>
    																																<a class="ali-con flexRow"  href="/wz/368446.html"  title="">
    										<div class="alicon-left flexRow"><span>精选</span></div>
    										<p class="aliconp overflowclass">高速摄影:亚洲汤品爆裂瞬间</p>
    									</a>
    																																<a class="ali-con flexRow"  href="/wz/368441.html"  title="">
    										<div class="alicon-left flexRow"><span>精选</span></div>
    										<p class="aliconp overflowclass">玻璃马雕像变形动画(视频提示)</p>
    									</a>
    																																<a class="ali-con flexRow"  href="/wz/368440.html"  title="">
    										<div class="alicon-left flexRow"><span>精选</span></div>
    										<p class="aliconp overflowclass">秋叶超现实主义鹿</p>
    									</a>
    																																<a class="ali-con flexRow"  href="/wz/368426.html"  title="">
    										<div class="alicon-left flexRow"><span>精选</span></div>
    										<p class="aliconp overflowclass">90 年代复古闪光摄影肖像</p>
    									</a>
    																																<a class="ali-con flexRow"  href="/wz/368425.html"  title="">
    										<div class="alicon-left flexRow"><span>精选</span></div>
    										<p class="aliconp overflowclass">Sydney Sweeney《蜘蛛夫人》首映礼礼服描述</p>
    									</a>
    																																<a class="ali-con flexRow"  href="/wz/368393.html"  title="">
    										<div class="alicon-left flexRow"><span>精选</span></div>
    										<p class="aliconp overflowclass">女性在床上听音乐的私密生活照</p>
    									</a>
    															                               
                                </div>
                            </div>
    
                        </div>
        
    						<div class="cdr-blog">
    							<div class="jb-titles flexRow">
    								<div class="jbtle-left flexRow"><b></b><p>脚本推荐</p></div>
    								
    							</div>
    							<div class="blog-list">
    															<a href="/wz/zt-49225.html" title="" class="bloga flexRow over"><p class="overflowclass">SeeDance 2.0 Video Creator专区</p></a>
    															<a href="/wz/zt-49224.html" title="" class="bloga flexRow over"><p class="overflowclass">OpenClaw AI专区</p></a>
    															<a href="/wz/zt-49223.html" title="" class="bloga flexRow over"><p class="overflowclass">cowork专区</p></a>
    															<a href="/wz/zt-49222.html" title="" class="bloga flexRow over"><p class="overflowclass">claude code skills专区</p></a>
    								
    					  
    							</div>
    
    						</div>
    
                        </div>
                    </div>
                </div>
                
            </div>
    
    
        </main>
         <script>
            $(function() {
                // “+ 收藏”按钮点击事件
                $(document).on('click', '.htmitem-right, .ztop-right', function(e) {
                    // 仅针对包含 “+ 收藏” 文字的按钮
                    if ($(this).text().indexOf('+ 收藏') === -1) return;
                    
                    e.preventDefault();
                    
                    const id = $(this).data('id');
                    if (!id) {
                        layer.msg('该项暂无有效ID,无法收藏');
                        return;
                    }
    
                    // 构造收藏 URL: 当前域名 + /wz/zt- + id + /
                    const bookmarkUrl = window.location.origin + '/wz/zt-' + id + '.html';
                    
                    // 获取收藏标题 (优先从同级元素获取话题名称,否则使用页面标题)
                    let bookmarkTitle = $(this).closest('.htl-item, .zttopd').find('a:first, span.overflowclass').text().trim() || document.title;
                    if (bookmarkTitle.startsWith('#')) bookmarkTitle = bookmarkTitle.substring(1);
    
                    // 浏览器收藏逻辑 (带 Fallback)
                    try {
                        if (window.sidebar && window.sidebar.addPanel) { 
                            // Firefox < 23
                            window.sidebar.addPanel(bookmarkTitle, bookmarkUrl, "");
                        } else if (window.external && ('AddFavorite' in window.external)) { 
                            // IE
                            window.external.AddFavorite(bookmarkUrl, bookmarkTitle);
                        } else {
                            // Chrome, Safari, Firefox 23+, etc.
                            const isMac = /Mac/i.test(navigator.userAgent);
                            const keyStr = isMac ? 'Command + D' : 'Ctrl + D';
                            
                            layer.confirm('由于浏览器安全限制,请使用 <b>' + keyStr + '</b> 手动添加收藏。<br><br>收藏地址:<br><small>' + bookmarkUrl + '</small>', {
                                title: '收藏提示',
                                btn: ['复制链接', '知道了'],
                                yes: function(index) {
                                    copyToClipboard(bookmarkUrl).then(() => {
                                        layer.msg('链接已复制,请手动添加到收藏夹');
                                    }).catch(() => {
                                        layer.msg('复制失败,请手动选择复制');
                                    });
                                    layer.close(index);
                                }
                            });
                        }
                    } catch (err) {
                        layer.msg('收藏失败,请手动添加');
                    }
                });
    
                // 兼容非 HTTPS 的复制函数
                function copyToClipboard(text) {
                    if (navigator.clipboard && window.isSecureContext) {
                        return navigator.clipboard.writeText(text);
                    } else {
                        let textArea = document.createElement("textarea");
                        textArea.value = text;
                        textArea.style.position = "fixed";
                        textArea.style.left = "-999999px";
                        textArea.style.top = "-999999px";
                        document.body.appendChild(textArea);
                        textArea.focus();
                        textArea.select();
                        return new Promise((res, rej) => {
                            document.execCommand('copy') ? res() : rej();
                            textArea.remove();
                        });
                    }
                }
            });
        </script>
    <footer>
            <div class="foot ">
                <div class="foot-top flexRow">
                    <div class="foot-left">
                        <div class="ftl-top flexRow"><span class="flexRow flexcenter">脚本</span>在线</div>
                        <p class="ftl-down">
                            智能赋能梦想,脚本构筑现实。我们致力于链接AI智能指令
                            与传统自动化,为您提供一站式、高效率的脚 本资产与生成
                            服务。
                        </p>
                    </div>
                    <div class="foot-right flexRow">
                        <div class="ftr-list flexColumn">
                            <p>核心板块</p>
                            <span>AI脚本库</span>
                            <span>自动化仓库</span>
                            <span>脚本实验室</span>
                        </div>
                        <div class="ftr-list flexColumn">
                            <p>关于我们</p>
                            <a href="/category/list_229_1.html"   >最新游戏</a>
                            <span>商务合作</span>
                            <span>隐私政策</span>
                        </div>
                        <div class="ftr-list flexColumn">
                            <p>社区支持</p>
                            <span >API文档</span>
                            <a href="/category/list_334_1.html"   >攻略资讯</a>
                            <span>违规举报</span>
                        </div>
                    </div>
                </div>
                <div class="foot-down flexColumn">
                    <p>© 2026  jiaoben.net | 脚本在线 | 联系:jiaobennet2026@163.com</p>
                    <p>备案:<a style="color: #7F7F7F;" href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">湘ICP备18025217号-11</a> </p>
                </div>
            </div>
        </footer>
    
        <div style="display:none;">
    			<script type="text/javascript">
    		  var _paq = window._paq = window._paq || [];
    		  _paq.push(['trackPageView']);
    		  _paq.push(['enableLinkTracking']);
    
    		  (function() {
    			var u="//tongji.zhangwan.net/";
    			_paq.push(['setTrackerUrl', u+'matomo.php']);
    			_paq.push(['setSiteId', '29']);
    
    			// Add this code below within the Matomo JavaScript tracker code
    			// Important: the tracker url includes the /matomo.php
    			var secondaryTrackerUrl = u+'matomo.php';
    			var secondaryWebsiteId = 27;
    			// Also send all of the tracking data to this other Matomo server, in website ID 77
    			_paq.push(['addTracker', secondaryTrackerUrl, secondaryWebsiteId]);
    			// That's it!
    			var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    			g.type='text/javascript'; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
    		  })();
    		</script>
    	    <script>
            var _hmt = _hmt || [];
            (function() {
                var hm = document.createElement("script");
                hm.src = "https://hm.baidu.com/hm.js?5d3cfe1f36b1988029fe82a0d475b20d";
                var s = document.getElementsByTagName("script")[0];
                s.parentNode.insertBefore(hm, s);
            })();
        </script>
    	
    </div>  </body>
    </html>