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
최근 소스 활동
2026년 8월 5일 04:10
감지된 SKILL.md 언어
다국어 혼합
스타
508
포크
39

설치 방법

기본적으로 소스를 먼저 확인하는 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에서 보기