Token导航 LogoToken导航TokenDH.com
研究检索敏感数据github未标认证来源可访问许可证需确认审计未展示

tooyoung%3aink-reader太年轻%3aink 读者

Agent Skill

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

总安装

524

周安装

21

GitHub Stars

15

下载量

170
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

请帮我安装这个 Agent Skill:tooyoung%3aink-reader(太年轻%3aink 读者)
来源仓库:https://github.com/shiqkuangsan/oh-my-daily-skills
仓库路径:skills/tooyoung%3Aink-reader
安装命令:
npx skills add https://github.com/shiqkuangsan/oh-my-daily-skills --skill tooyoung:ink-reader
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/shiqkuangsan/oh-my-daily-skills --skill tooyoung:ink-reader

简介

用于查找、检索和筛选 Ink Reader 相关信息。

  • 适合在 Codex、Claude、Cursor、Gemini CLI 中根据关键词快速定位候选结果。
  • 通过 npx 命令从 GitHub 仓库安装并使用。
  • 安装前需确认权限范围和维护状态,注意可能触发联网或文件操作。
  • tooyoung%3aink-reader 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Ink Reader

Intelligently read any URL content. Auto-detect platform, pick the best fetch strategy, output clean Markdown.

When to Activate

Activate this skill when the user:

  • Shares a URL and asks to read / fetch / view / grab its content
  • Says "read this link", "what does this say", "fetch this article"
  • Uses /ink-reader <url>

Fetch Strategy Overview

Four-layer fallback with platform-specific optimizations:

Layer 0: Camoufox       → WeChat-specific, bypasses anti-scraping (requires pip install)
Layer 1: Jina Reader    → Free, no API key, covers most public content
Layer 2: WebFetch        → Claude Code built-in, direct URL reading
Layer 3: Playwright MCP  → Browser automation, handles login-required sites

Platform Detection

Match the URL domain to determine platform and strategy routing:

PlatformDomain ContainsNeeds LoginStrategy Order
WeChatmp.weixin.qq.comYesCamoufox → Jina → Playwright
Zhihuzhihu.comNoJina → WebFetch
Bilibilibilibili.com, b23.tvNoJina → WebFetch
Toutiaotoutiao.comNoJina → WebFetch
Weiboweibo.com, m.weibo.cnYesJina → Playwright
Xiaohongshuxiaohongshu.comYesJina → Playwright
Douyindouyin.comNoJina → WebFetch
X/Twitterx.com, twitter.comPartialSee X/Twitter Flow
Genericanything elseNoJina → WebFetch

Routing Rules

  • No login required: Jina → WebFetch → Playwright MCP (if available)
  • WeChat: Camoufox → Jina → Playwright MCP (dedicated flow below)
  • Login required (Weibo, Xiaohongshu): Jina → Playwright MCP (skip WebFetch, it won't help)
  • X/Twitter: Dedicated flow below

Execution Steps

Step 1: Identify Platform

Parse the URL domain and match against the platform table above.

Step 2: Fetch Content

For normal platforms (no login needed)

  1. Try Jina Reader:

- Use WebFetch with URL: https://r.jina.ai/{original_url} - Prompt: "Extract the article title, author, publish time, and full body content. Return as-is in Markdown." - If result is meaningful (> 100 chars, no verification page), use it.

  1. Try WebFetch direct:

- Use WebFetch with the original URL directly. - Prompt: "Extract the article title, author, publish time, and full body content." - If result is meaningful, use it.

  1. Try Playwright MCP (if available):

- Navigate to the original URL. - Wait for content to load. - Take a snapshot and extract content. - If Playwright MCP is not available, skip this step.

For WeChat (mp.weixin.qq.com)

WeChat articles have aggressive anti-scraping. Jina Reader and WebFetch almost always fail. Use Camoufox as the primary strategy.

Prerequisites check (run once per session):

~/.ink-reader-env/bin/python3 -c "import camoufox; print('camoufox OK')" 2>/dev/null && echo "READY" || echo "NOT_INSTALLED"
  1. Try Camoufox (if installed):

- Check if ~/.agent-reach/tools/wechat-article-for-ai/main.py exists. If yes, use it: cd ~/.agent-reach/tools/wechat-article-for-ai && ~/.ink-reader-env/bin/python3 main.py "{url}" - If that path doesn't exist, use inline invocation: ~/.ink-reader-env/bin/python3 -c " import asyncio from camoufox.sync_api import Camoufox from markdownify import markdownify with Camoufox(headless=True) as browser: page = browser.new_page() page.goto('{url}', wait_until='networkidle', timeout=30000) html = page.content() print(markdownify(html, strip=['script','style','nav','footer','header'])) " - Validate output (Step 3). If valid, use it.

  1. Try Jina Reader (fallback — occasionally works for WeChat):

- Use WebFetch with URL: https://r.jina.ai/{original_url} - If result is meaningful, use it.

  1. Try Playwright MCP (if available, last resort):

- Navigate to the original URL. - Wait for content to load. - Take a snapshot and extract content.

  1. All failed → Show failure output with suggestion: "WeChat articles require Camoufox to bypass anti-scraping. Install with: pip install camoufox[geoip] markdownify beautifulsoup4 httpx"

WeChat search (bonus — when user asks to search WeChat articles, not read a URL):

Check if miku_ai is installed:

~/.ink-reader-env/bin/python3 -c "import miku_ai; print('miku_ai OK')" 2>/dev/null && echo "READY" || echo "NOT_INSTALLED"

If installed, search articles:

~/.ink-reader-env/bin/python3 -c "
import asyncio
from miku_ai import get_wexin_article
async def search():
    results = await get_wexin_article('{query}', {count})
    for a in results:
        print(f'- [{a[\"title\"]}]({a[\"url\"]})')
asyncio.run(search())
"

Present results as a list. If user picks one, read it using the WeChat flow above. If miku_ai is not installed, inform user: pip install miku_ai

For login-required platforms (Weibo, Xiaohongshu)

  1. Try Jina Reader (same as above, sometimes works even for login-required sites).
  2. Try Playwright MCP (if available):

- Navigate to the original URL. - If a verification/login page is detected, inform the user. - If Playwright MCP is not available, inform the user: "This platform requires login. Install Playwright MCP to enable browser-based reading."

For X/Twitter

  1. Extract status ID from URL:

- Pattern: x.com/{user}/status/{id} or twitter.com/{user}/status/{id} - Strip query parameters.

  1. Try Thread Reader App via Jina:

- Use WebFetch with URL: https://r.jina.ai/https://threadreaderapp.com/thread/{status_id}.html - Prompt: "Extract the full thread content including all tweets. Return in Markdown." - If result is meaningful (> 100 chars, contains actual thread content), output as thread.

  1. Try Jina on original X URL:

- Use WebFetch with URL: https://r.jina.ai/{original_url} - Prompt: "Extract the tweet content, author, and timestamp." - If result is meaningful, output as single post.

  1. Try Playwright MCP (if available):

- Navigate to https://threadreaderapp.com/thread/{status_id}.html - Extract content from the page.

Step 3: Validate Content

Content is valid when ALL of these are true:

  • Length > 100 characters after trimming
  • Does NOT contain these verification markers: "环境异常", "完成验证", "请完成验证", "access denied", "please verify", "subscribe to continue", "sign in to read", "create a free account"
  • Is NOT a login wall or CAPTCHA page

If content fails validation, treat it as a failure and try the next strategy.

Step 4: Output

Use the output format specified below.

Output Format

Success

# {Title}

**Source**: {Platform Name}
**Author**: {Author name, omit if unavailable}
**Published**: {Time, omit if unavailable}
**URL**: {Original URL}
**Strategy**: {Camoufox / Jina Reader / WebFetch / Playwright MCP}

---

{Body content in Markdown}

Rules:

  • Only include Author and Published lines if the information is actually available.
  • Do NOT fabricate metadata. If it's not in the fetched content, omit it.
  • Keep images as remote URLs. Do NOT attempt to download images.
  • Clean up excessive whitespace, navigation elements, ads, and cookie banners from the content.

Failure

# Failed to read URL

**URL**: {url}
**Platform**: {detected platform}
**Attempted strategies**:

- {strategy 1}: {error reason}
- {strategy 2}: {error reason}

**Suggestions**:

- {contextual suggestions}

Contextual suggestions by scenario:

  • Login-required platform + no Playwright → "Install Playwright MCP to enable browser-based reading for this platform."
  • WeChat + no Camoufox → "Install Camoufox for reliable WeChat reading: pip install camoufox[geoip] markdownify beautifulsoup4 httpx"
  • WeChat + Camoufox failed → "Camoufox could not extract content. The article may have been deleted or restricted. Try opening the link in a browser."
  • All strategies returned empty → "The page may require JavaScript rendering. Try using Playwright MCP."
  • X/Twitter thread failed → "Try opening https://threadreaderapp.com/thread/{id}.html in your browser."

Save Mode

When the user says "save", "save it", "keep this", or "save to file" AFTER a successful read:

  1. Create directory ./ink-reader-clips/ in current working directory (if not exists).
  2. Write file: ./ink-reader-clips/{YYYY-MM-DD}_{sanitized_title}.md
  3. File content:
---
title: "{Title}"
source: "{Platform Name}"
url: "{Original URL}"
saved_at: "{YYYY-MM-DD HH:MM:SS}"
---

{Body content}
  • Sanitize title for filename: remove <>:"/\|?*, replace whitespace with -, truncate to 50 chars.
  • Report: "Saved to ./ink-reader-clips/{filename}"

Do NOT auto-save. Only save when explicitly asked.

Optional Dependencies

The base skill (Jina Reader + WebFetch) works out of the box with zero setup. For enhanced platform support, install the following optional dependencies into a dedicated virtual environment:

WeChat article reading (Camoufox)

# Create dedicated venv (one-time)
uv venv ~/.ink-reader-env

# Install dependencies
uv pip install --python ~/.ink-reader-env "camoufox[geoip]" markdownify beautifulsoup4 httpx

This enables reliable reading of mp.weixin.qq.com articles by bypassing WeChat's anti-scraping with a stealth browser. No API key or login required.

WeChat article search (miku_ai)

uv pip install --python ~/.ink-reader-env miku_ai

Enables searching WeChat public account articles by keyword via Sogou. No API key required.

Verify installation

~/.ink-reader-env/bin/python3 -c "import camoufox; print('camoufox OK')"
~/.ink-reader-env/bin/python3 -c "import miku_ai; print('miku_ai OK')"

Important Notes

  • No API keys needed: Jina Reader, Camoufox, and miku_ai are all free and keyless.
  • Camoufox is optional but recommended: Without it, WeChat articles will fall back to Jina Reader (often fails) or Playwright MCP.
  • Playwright MCP is optional: The skill works without it, just with reduced capability for login-required platforms.
  • Images stay remote: Never download images. Keep original URLs in the Markdown output.
  • Respect content: Output the content faithfully. Do not summarize or modify unless the user explicitly asks.

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

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

平台分布

Codex

37.14%
按下载量换算63

Claude

28.15%
按下载量换算48

Cursor

19.79%
按下载量换算34

Gemini CLI

9.79%
按下载量换算17

安全审计

暂无安全审计结果可展示。

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

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

来源信息

继续浏览同类 Skills