Token导航 LogoToken导航TokenDH.com
研究检索执行命令clawhub未标认证来源可访问clear审计提醒

epub2md-cliepub2md CLI 搜索

Agent Skill

epub2md-cli 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

3,158

周安装

129

GitHub Stars

公开资料未说明

下载量

1,022
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:epub2md-cli(epub2md CLI 搜索)
来源仓库:https://github.com/liujuntao123/epub2md-cli
安装命令:
openclaw skills install epub2md-cli
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install epub2md-cli

简介

epub2md-cli 使用本地 epub2md 工具检查并转换 EPUB 文件为 Markdown。

  • 适合在 OpenClaw 中快速处理 .epub 文件,确保格式正确后转为标记语言。
  • 通过 clawhub 安装,依赖本地环境运行,需具备文件访问和执行权限。
  • 建议在隔离环境中测试,防止意外修改或删除其他文件。
  • 适用宿主包括 OpenClaw,接入前应确认版本、权限和运行环境要求。

SKILL.md

name
epub2md-cli
description
Use the local epub2md CLI to inspect EPUB files and convert them into Markdown. Make sure to use this whenever the user mentions .epub files, EPUB 转 Markdown、电子书章节导出、合并章节为单个 Markdown、下载或本地化 EPUB 中的远程图片、查看书籍信息/目录/章节结构、或解压 EPUB 内容,即使用户没有明确说出 epub2md

epub2md CLI

Use this skill to operate on local EPUB files with epub2md instead of hand-rolling parsing logic.

Bundled script

For any conversion that writes files, use the bundled wrapper script:

/home/admin1/.agents/skills/epub2md-cli/scripts/run_epub2md.py

The wrapper exists to enforce a stable workspace layout and avoid epub2md 1.6.2 merge-path quirks.

One more epub2md 1.6.2 quirk: source filenames containing glob metacharacters such as [ ] ? or * can still be treated as patterns by epub2md, even when the shell path was quoted correctly. When that happens, keep the original EPUB in inputs/, but stage a temporary safe basename such as book.epub before calling raw epub2md, then copy the generated book/ directory into the expected workspace output folder.

What epub2md is good at

  • Inspecting book metadata with --info
  • Inspecting table of contents and nesting with --structure
  • Listing sections/chapters with --sections
  • Converting an EPUB into chapter-by-chapter Markdown files
  • Merging an EPUB into one Markdown file, preferably with an explicit output name
  • Merging an existing Markdown directory with plain --merge
  • Downloading remote images referenced by the EPUB with --localize
  • Unzipping EPUB contents for inspection with --unzip
  • Batch conversion with quoted glob patterns like "books/*.epub"

Prerequisites

Check the command first:

command -v epub2md

If it is missing and the environment allows installs, install it with npm:

npm install -g epub2md

If --localize is needed, make sure Node.js is at least 18.0.0.

Workspace layout

By default, write conversion jobs to:

/home/admin1/.agents/skills/epub2md-cli-workspace/{bookname}

Within that directory:

  • inputs/ contains the original EPUB file
  • outputs/ contains conversion results
  • outputs/split/ contains chapter-by-chapter Markdown output
  • outputs/merge/ contains merged Markdown output and related assets
  • outputs/inspect/ contains saved inspection results when the user explicitly asks for inspection output

Do not write conversion output next to the user's source EPUB unless they explicitly ask for a different layout.

Working style

  1. Start from the user's real goal, not from the default conversion.

- If they only want metadata or structure, do not convert the book. - Inspection is opt-in only. Do not run it unless the user explicitly asked to inspect the EPUB. - If they want one final Markdown file from an EPUB, use merge mode. - If they want chapter files, use split mode.

  1. Confirm the source path before running commands.

- Prefer exact paths the user already gave you. - If they referred to "that epub in this folder", discover it with shell tools such as rg --files -g '*.epub'. - Quote paths and glob patterns when they contain spaces or wildcard characters. - Quoting is necessary but not sufficient when the EPUB basename itself contains [ ] ? or *; epub2md may still interpret the basename as a glob internally.

  1. If the user asked for conversion but did not specify the output shape, ask one short clarifying question before writing files.

- Ask whether they want 多个文件只要 merge 文件、or 都转换. - Do not guess between split and merge when the user clearly cares about the output form.

  1. Use the wrapper script for any file-writing conversion task.

- Do not call epub2md directly for split/merge/both output jobs unless the user explicitly asked for raw CLI invocation. - The wrapper copies the original EPUB into inputs/ and writes results into outputs/. - The wrapper always uses a safe merge invocation and should not produce a stray home/ directory. - If conversion still fails with No files found matching pattern: or a wrapper FileNotFoundError caused by a glob-like source basename, fall back to safe-basename staging: copy the EPUB into a temp directory as book.epub, run raw epub2md there, then copy the generated book/ directory back into outputs/merge/ or outputs/split/.

  1. After the command finishes, report concrete outputs.

- Say which command you ran. - Say where the generated files were written. - Mention any limitations, such as remote images not being localized unless --localize was used.

  1. Treat --sections as an inspection tool, not a default user-facing output.

- In epub2md 1.6.2, --sections prints very large objects with raw HTML. - Use it when you need deep inspection. - Summarize the findings for the user unless they explicitly asked for the raw dump.

Command selection

Inspect only

epub2md --info "/path/to/book.epub"
epub2md --structure "/path/to/book.epub"
epub2md --sections "/path/to/book.epub"
epub2md --unzip "/path/to/book.epub"

python3 /home/admin1/.agents/skills/epub2md-cli/scripts/run_epub2md.py \
  --input "/path/to/book.epub" \
  --mode inspect

python3 /home/admin1/.agents/skills/epub2md-cli/scripts/run_epub2md.py \
  --input "/path/to/book.epub" \
  --mode inspect \
  --inspect-actions info structure sections

Use these only when the user explicitly wants to understand the book before deciding how to export it.

Convert into chapter Markdown files

python3 /home/admin1/.agents/skills/epub2md-cli/scripts/run_epub2md.py \
  --input "/path/to/book.epub" \
  --mode split

python3 /home/admin1/.agents/skills/epub2md-cli/scripts/run_epub2md.py \
  --input "/path/to/book.epub" \
  --mode split \
  --autocorrect

Use --autocorrect when the user explicitly wants spacing or punctuation cleanup in the Markdown output.

Merge into one Markdown file

python3 /home/admin1/.agents/skills/epub2md-cli/scripts/run_epub2md.py \
  --input "/path/to/book.epub" \
  --mode merge

python3 /home/admin1/.agents/skills/epub2md-cli/scripts/run_epub2md.py \
  --input "/path/to/book.epub" \
  --mode merge \
  --merge-name custom-name.md

Use the custom merged filename form when the user asks for a specific final filename.

Convert both split and merge outputs

python3 /home/admin1/.agents/skills/epub2md-cli/scripts/run_epub2md.py \
  --input "/path/to/book.epub" \
  --mode both

Localize remote images

python3 /home/admin1/.agents/skills/epub2md-cli/scripts/run_epub2md.py \
  --input "/path/to/book.epub" \
  --mode split \
  --localize

python3 /home/admin1/.agents/skills/epub2md-cli/scripts/run_epub2md.py \
  --input "/path/to/book.epub" \
  --mode merge \
  --merge-name custom-name.md \
  --localize

Use this only when the user wants remote images downloaded into the output folder. Mention the Node.js >=18 requirement if needed.

Batch conversion

epub2md "books/*.epub"
epub2md --merge "books/*.epub"

Keep the glob quoted so epub2md receives the pattern directly.

This is a raw CLI fallback for explicit bulk-processing requests. It does not use the per-book workspace layout above. Prefer the bundled wrapper for normal single-book conversion jobs.

Fallback for glob-like EPUB filenames

Use this only when the source basename itself contains [ ] ? or * and the normal wrapper flow fails.

src="/path/to/Book [Annotated].epub"
book_name="Book [Annotated]"
book_dir="/home/admin1/.agents/skills/epub2md-cli-workspace/$book_name"
merge_dir="$book_dir/outputs/merge"
merge_name="$book_name-merged.md"

mkdir -p "$book_dir/inputs" "$merge_dir"
cp "$src" "$book_dir/inputs/"

tmpdir=$(mktemp -d "$book_dir/.manual-merge-XXXXXX")
cp "$src" "$tmpdir/book.epub"
cd "$tmpdir"
epub2md --merge="$merge_name" "book.epub"
cp -a "$tmpdir/book/." "$merge_dir/"

This preserves the normal workspace layout while avoiding epub2md's internal glob matching on the original basename.

Expected outputs

Use these expectations when explaining results:

  • The original EPUB is copied to .../{bookname}/inputs/{bookname}.epub
  • Split output is written under .../{bookname}/outputs/split/
  • Merge output is written under .../{bookname}/outputs/merge/
  • Inspection output is written under .../{bookname}/outputs/inspect/ only when the user asked for inspection
  • Chapter Markdown files are typically written as numbered Markdown files
  • Many chapter files are named like NNN-title.md, but fallback names such as NNN-partXXXX.md can also appear
  • Images are stored under an images/ subdirectory inside the relevant output folder
  • Merge mode defaults to {bookname}-merged.md unless the user asked for another filename

Do not claim remote images were downloaded unless --localize was part of the command.

Known quirks

These were validated against epub2md 1.6.2:

  • --sections is often too verbose to show directly because it includes raw HTML payloads
  • Plain --merge on an absolute EPUB path can generate an awkward nested path and keep the .epub extension on the merged Markdown file
  • The bundled wrapper avoids that behavior by never relying on plain --merge for EPUB merge jobs
  • EPUB basenames containing [ ] ? or * can be interpreted as glob patterns by epub2md itself, even when shell quoting is correct
  • The common symptom is No files found matching pattern: from epub2md, or a wrapper FileNotFoundError because epub2md created book/ while the wrapper expected a directory named after the original book
  • The practical workaround is to stage the source EPUB to a safe basename such as book.epub, run epub2md from that temp directory, then copy the generated book/ contents back into the expected workspace output directory

Response format

Keep the response practical and concrete:

  1. State the action you took
  2. Show the exact epub2md command you ran
  3. List the output path or paths created
  4. Mention blockers or caveats, if any

Examples

Example 1: convert to chapter files

User intent: "把 ~/Books/foo.epub 转成多个 markdown 章节。"

Good command:

python3 /home/admin1/.agents/skills/epub2md-cli/scripts/run_epub2md.py \
  --input "$HOME/Books/foo.epub" \
  --mode split

Example 2: merge and localize

User intent: "把 ~/Books/foo.epub 合成一个 markdown,并把远程图片下载到本地。"

Good command:

python3 /home/admin1/.agents/skills/epub2md-cli/scripts/run_epub2md.py \
  --input "$HOME/Books/foo.epub" \
  --mode merge \
  --merge-name foo.md \
  --localize

Example 3: user did not specify split or merge

User intent: "把这个 epub 转成 markdown。"

Good response:

要哪种输出:多个章节文件、只要一个 merge 文件,还是两种都要?

Example 4: inspect only

User intent: "先帮我看看这本书的目录结构,不要导出正文。"

Good command:

python3 /home/admin1/.agents/skills/epub2md-cli/scripts/run_epub2md.py \
  --input "/path/to/book.epub" \
  --mode inspect

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

90.63%
按下载量换算926

安全审计

VirusTotal

可疑

ClawScan

通过

Static analysis

通过

权限和风险

执行命令

安装流程涉及命令执行,可能通过 openclaw skills install epub2md-cli 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills