← 返回
效率工具 中文

Castreader Openclaw Skill

Read any web page aloud with natural AI voices. Extract article text from any URL and convert it to audio (MP3). Use when the user wants to: listen to a webp...
使用自然AI语音朗读任意网页,从URL提取文章文本并转换为MP3音频。适用于收听网页内容的场景。
vinxu
效率工具 clawhub v2.1.1 1 版本 99880.8 Key: 无需
★ 0
Stars
📥 838
下载
💾 9
安装
1
版本
#latest

概述

CastReader — Read Any Web Page Aloud

Setup (once per session)

cd <skill-directory> && npm install --silent 2>/dev/null

How to find target (chatId)

User messages look like: [Telegram username id:8716240840 ...]

The number after id: is the target. You MUST use this number in every message tool call.

Example: target is "8716240840".

When user sends a URL, follow these steps:

Step 1: Extract article

node scripts/read-url.js "<url>" 0

Returns: { title, language, totalParagraphs, totalCharacters, paragraphs[] }

Step 2: Show info + ask user to choose

Reply with this text:

📖 {title}
🌐 {language} · 📝 {totalParagraphs} paragraphs · 📊 {totalCharacters} chars

📋 Summary:
{write 2-3 sentence summary from paragraphs}

Reply a number to choose:
1️⃣ Listen to full article (~{totalCharacters} chars, ~{Math.ceil(totalCharacters / 200)} sec to generate)
2️⃣ Listen to summary only (~{summary_char_count} chars, ~{Math.ceil(summary_char_count / 200)} sec to generate)

STOP. Wait for user to reply 1 or 2.

Step 3a: User chose 1 (full article)

Reply: 🎙️ Generating full audio (~{totalCharacters} chars, ~{Math.ceil(totalCharacters / 200)} seconds)...

node scripts/read-url.js "<url>" all

Then send the audio file using the message tool:

{"action":"send", "target":"<chatId>", "channel":"telegram", "filePath":"<audioFile>", "caption":"🔊 {title}"}

Reply: ✅ Done!

Step 3b: User chose 2 (summary only)

Reply: 🎙️ Generating summary audio...

Save the SAME summary text you showed in Step 2 to a file and generate:

echo "<summary text>" > /tmp/castreader-summary.txt
node scripts/generate-text.js /tmp/castreader-summary.txt <language>

Then send the audio file using the message tool:

{"action":"send", "target":"<chatId>", "channel":"telegram", "filePath":"/tmp/castreader-summary.mp3", "caption":"📋 Summary: {title}"}

Reply: ✅ Done!

Rules

  • ALWAYS extract first (index=0), show info, wait for user choice. Never skip.
  • ALWAYS send audio files using the message tool with target (numeric chatId) and channel ("telegram"). Never just print the file path.
  • Do NOT use built-in TTS tools. ONLY use read-url.js and generate-text.js.
  • Do NOT use web_fetch. ONLY use read-url.js.

版本历史

共 1 个版本

  • v2.1.1 当前
    2026-03-19 04:45 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

productivity

Weather

steipete
获取当前天气和预报(无需API密钥)
★ 446 📥 226,438
productivity

Word / DOCX

ivangdavila
创建、检查和编辑 Microsoft Word 文档及 DOCX 文件,支持样式、编号、修订记录、表格、分节符及兼容性检查等功能。
★ 440 📥 148,082
ai-intelligence

Castreader Openclaw Skill

vinxu
URL to audio: extract any web page and convert to natural AI speech (Kokoro TTS). The only skill that turns a URL into a
★ 1 📥 1,047