Skip to main content

qiaomu-markdown-proxy

Read, fetch, extract, parse, or convert a URL or link into clean Markdown. Use FIRST whenever a user asks to read source content from a webpage, especially WeChat/微信公众号 mp.weixin.qq.com, Feishu/Lark docs, X/Twitter, PDFs, arXiv papers, or a URL that will feed a later summary, rewrite, article, podcast, or analysis. For WeChat and Feishu, prefer this specialist extractor over generic web open or generic content parsers. Exclude YouTube, pure web search, already-pasted text, and local non-PDF files.

معلومات المصدر

المستودع
joeseesun/qiaomu-markdown-proxy
آخر نشاط في المصدر
٥ أغسطس ٢٠٢٦ في ٠٤:١٠
لغة SKILL.md المكتشفة
لغات متعددة
النجوم
٥١٠
التفرعات
٣٩

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
qiaomu-markdown-proxy
description
Read, fetch, extract, parse, or convert a URL or link into clean Markdown. Use FIRST whenever a user asks to read source content from a webpage, especially WeChat/微信公众号 mp.weixin.qq.com, Feishu/Lark docs, X/Twitter, PDFs, arXiv papers, or a URL that will feed a later summary, rewrite, article, podcast, or analysis. For WeChat and Feishu, prefer this specialist extractor over generic web open or generic content parsers. Exclude YouTube, pure web search, already-pasted text, and local non-PDF files.
version
2.1.0
# Markdown Proxy - URL to Markdown 将任意 URL 转为干净的 Markdown。支持需要登录的页面、PDF、专有平台。 ## Trigger Priority(先触发,再分流) - 用户给出 URL 并要求“读取、抓取、提取、解析、转 Markdown”时,优先使用本 Skill。 - 用户要求“读取这篇链接后再写稿、总结、翻译、做播客或分析”时,先用本 Skill 取回原文,再把 Markdown 交给下游 Skill;不要因为最终任务是写作而跳过抓取。 - `mp.weixin.qq.com` 和飞书文档属于专用路由。不要先试普通网页打开或通用内容解析器。 - 用户已经贴出全文时不触发。YouTube 交给 `qiaomu-youtube-download`,普通搜索问题交给搜索工具。 ## URL Routing (先判断再执行) 收到 URL 后,先判断类型,不同类型走不同通道: | URL Pattern | Route To | Reason | |-------------|----------|--------| | `mp.weixin.qq.com` | `scripts/fetch_weixin.sh` | 先代理,验证码页自动回退 Playwright | | `feishu.cn/docx/` `feishu.cn/wiki/` `larksuite.com/docx/` | `scripts/fetch_feishu.py` | 需飞书 API 认证 | | `youtube.com` `youtu.be` | `qiaomu-youtube-download` skill | YouTube 有专用工具链 | | `huggingface.co/papers/` | 提取 arXiv ID → `scripts/extract_tex.py` | HuggingFace 论文页实际是 arXiv 镜像,先找到 arXiv 链接再走 LaTeX 提取 | | `arxiv.org/abs/` `arxiv.org/pdf/` | `scripts/extract_tex.py` | 从 LaTeX 源码提取结构化内容 (章节/图表/公式) | | `.pdf` (URL or local path) | `scripts/extract_pdf.sh` | PDF 专用提取 | | All other URLs | `scripts/fetch.sh` | 代理级联自动 fallback | ## Workflow ### Step 1: Route by URL Type ``` if URL contains "mp.weixin.qq.com": → bash ~/.agents/skills/qiaomu-markdown-proxy/scripts/fetch_weixin.sh "URL" → Done if URL contains "feishu.cn/docx/" or "feishu.cn/wiki/" or "larksuite.com/docx/": → python3 ~/.agents/skills/qiaomu-markdown-proxy/scripts/fetch_feishu.py "URL" → Done if URL contains "huggingface.co/papers/": → First fetch the page (WebFetch) to find the arXiv URL → Then python3 ~/.agents/skills/qiaomu-markdown-proxy/scripts/extract_tex.py "{arxiv_url}" → Done if URL contains "arxiv.org/abs/" or "arxiv.org/pdf/": → python3 ~/.agents/skills/qiaomu-markdown-proxy/scripts/extract_tex.py "URL" → Done if URL contains "youtube.com" or "youtu.be": → Call qiaomu-youtube-download skill → Done if URL ends with ".pdf" or is local PDF path: if remote URL: → Try: curl -sL "https://r.jina.ai/{url}" → If fails: download + extract_pdf.sh if local path: → bash ~/.agents/skills/qiaomu-markdown-proxy/scripts/extract_pdf.sh "PATH" → Done else: → bash ~/.agents/skills/qiaomu-markdown-proxy/scripts/fetch.sh "URL" → Done ``` ### Step 2: Display Content After fetching, show to user: ``` Title: {title} Author: {author} (if available) Source: {platform} (公众号 / 飞书文档 / 网页 / PDF) URL: {original_url} Summary {3-5 sentence summary} Content {full Markdown, truncated at 200 lines if long} ``` ### Step 3: Continue or Save - **Composite request**(“读取后写稿/总结/分析”):把提取结果直接交给下游任务,在同一轮继续;除非用户要求,不必额外保存源文件。 - **Extraction-only request**(“只读取/转 Markdown”):保存到 `~/Downloads/{title}.md`,使用 YAML frontmatter。 - Filename: use article title, remove special characters. - Format: YAML frontmatter (title, author, date, url, source) + Markdown body. - Tell the user the saved path. - Skip saving if the user says “just preview” or “don't save”. Only stop after extraction when extraction was the complete request. If the user asked for a downstream deliverable, continue to that deliverable. ## Examples ### General URL ```bash bash ~/.agents/skills/qiaomu-markdown-proxy/scripts/fetch.sh "https://example.com/article" ``` ### X/Twitter Post ```bash bash ~/.agents/skills/qiaomu-markdown-proxy/scripts/fetch.sh "https://x.com/username/status/1234567890" ``` ### WeChat Article ```bash bash ~/.agents/skills/qiaomu-markdown-proxy/scripts/fetch_weixin.sh "https://mp.weixin.qq.com/s/abc123" ``` ### Feishu Document ```bash python3 ~/.agents/skills/qiaomu-markdown-proxy/scripts/fetch_feishu.py "https://xxx.feishu.cn/docx/xxxxxxxx" ``` ### arXiv LaTeX Source ```bash python3 ~/.agents/skills/qiaomu-markdown-proxy/scripts/extract_tex.py "https://arxiv.org/abs/1706.03762" ``` ### PDF (Remote) ```bash curl -sL "https://r.jina.ai/https://example.com/paper.pdf" ``` ### PDF (Local) ```bash bash ~/.agents/skills/qiaomu-markdown-proxy/scripts/extract_pdf.sh "/path/to/paper.pdf" ``` ### With Custom Proxy ```bash bash ~/.agents/skills/qiaomu-markdown-proxy/scripts/fetch.sh "https://example.com" "http://127.0.0.1:7890" ``` ## Notes - r.jina.ai and defuddle.md require no API key - `fetch.sh` handles proxy cascade with automatic fallback - Content validation: filters error, login-wall, and WeChat verification pages; requires >5 lines - WeChat wrapper prefers dependency-free proxies, then uses local Playwright; when Python packages are missing and `uv` is available, it runs them in an isolated environment - Playwright fallback requires a Chromium runtime; install once with `python3 -m playwright install chromium` if absent - Feishu script requires: `FEISHU_APP_ID` + `FEISHU_APP_SECRET` env vars - PDF extraction tries: marker-pdf → pdftotext → pypdf - For detailed method documentation, see `references/methods.md`
عرض على GitHub