详细分析 ▾
运行时依赖
版本
Update README and docs to match v2.1 flow: extract→choose full/summary→generate audio
安装命令 点击复制
技能文档
Setup (once per session)
cd && 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 "" 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 "" all
Then send the audio file using the message tool:
{"action":"send", "target":"", "channel":"telegram", "filePath":"", "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 "" > /tmp/castreader-summary.txt
node scripts/generate-text.js /tmp/castreader-summary.txt
Then send the audio file using the message tool:
{"action":"send", "target":"", "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
messagetool withtarget(numeric chatId) andchannel("telegram"). Never just print the file path. - Do NOT use built-in TTS tools. ONLY use
read-url.jsandgenerate-text.js. - Do NOT use web_fetch. ONLY use
read-url.js.
免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制