Commit graph

23 commits

Author SHA1 Message Date
Pnant
383004e06a
docs(skill): add 小宇宙播客 (Xiaoyuzhou) section to SKILL.md (#158)
The XiaoyuzhouChannel (groq-whisper + ffmpeg transcription) was
implemented in the codebase but missing from SKILL.md entirely,
causing agents to not know it existed.

Changes:
- Add Xiaoyuzhou to platform count (15 → 16) in description
- Add trigger keywords: 小宇宙, xiaoyuzhou, 播客, podcast, 转录, transcribe
- Add ## 小宇宙播客 / Xiaoyuzhou Podcast usage section with
  transcribe.sh invocation, prerequisites, and setup instructions

Closes #156

Co-authored-by: 小白 Bot <bot@agent-reach.dev>
2026-03-13 11:59:54 +08:00
Kada Liao
31f00b8d78
feat(channels): add V2EX support via public API (zero-config, tier=0)
* feat(channels): add V2EX support via public API

V2EX provides a public JSON API that requires no authentication.
This PR adds:
- agent_reach/channels/v2ex.py: V2EXChannel (tier=0, zero-config)
  - can_handle() matches v2ex.com URLs
  - check() verifies API reachability via urllib (no extra deps)
- Register V2EXChannel in channels/__init__.py
- SKILL.md: add V2EX section with curl examples for hot topics,
  node browsing, topic detail, replies, and user info
- tests/test_channels.py: URL matching + mocked ok/warn check tests

V2EX API endpoints used:
  GET /api/v2/topics/hot          — hot topics
  GET /api/topics/show.json       — node topics / topic detail
  GET /api/replies/show.json      — topic replies
  GET /api/members/show.json      — user info

* feat(channels): expand V2EX channel with data-fetching methods

Add get_hot_topics, get_node_topics, get_topic, get_user, and search
methods to V2EXChannel using stdlib urllib only (no new dependencies).
Update unit tests and SKILL.md with Python call examples.

* feat(v2ex): add data fetching methods to V2EXChannel
2026-03-12 14:29:07 +08:00
Pnant
ce9b365491
docs: update SKILL.md metadata (homepage, 14 channels, 7500+ stars) (#143)
Co-authored-by: Panniantong <panniantong@users.noreply.github.com>
2026-03-10 14:41:06 +08:00
Pnant
00d80d2169
remove: drop Boss直聘 channel (non-functional) (#135)
Boss直聘 channel removed entirely — upstream mcp-bosszp
triggers account-level bans, making it unusable in practice.

Removed from: channel registry, README (CN/EN), install.md,
SKILL.md, tests, credits.

Co-authored-by: Panniantong <panniantong@users.noreply.github.com>
2026-03-10 10:14:59 +08:00
Pnant
cd94706d3b
feat: auto-install WeChat article tools during install (#80)
* feat: auto-install WeChat article tools during agent-reach install

WeChat (微信公众号) deps are now auto-installed during 'agent-reach install':
- Python packages: camoufox[geoip], markdownify, beautifulsoup4, httpx, miku_ai
- Tool repo: wechat-article-for-ai cloned to ~/.agent-reach/tools/

No login or configuration needed — works out of the box like YouTube/RSS.
Updated README tables to reflect zero-config status.
Also covers safe mode and dry-run.

* feat: auto-install WeChat + add channel-setup reference to SKILL.md

1. WeChat auto-install during 'agent-reach install':
   - pip install camoufox[geoip], markdownify, bs4, httpx, miku_ai
   - clone wechat-article-for-ai to ~/.agent-reach/tools/
   - covers safe mode and dry-run
   - README tables: WeChat → zero-config

2. SKILL.md improvements:
   - Added 'configure' triggers to description
   - Added references/channel-setup.md with install steps for all
     login-required platforms (Twitter, XHS, Douyin, LinkedIn, Boss)
   - Principle: user only provides cookies, agent does everything else

* simplify: point to install.md URL instead of bundled reference

No need to maintain a separate channel-setup.md. Just tell agents
to fetch install.md when they need setup instructions.

---------

Co-authored-by: Panniantong <panniantong@users.noreply.github.com>
2026-03-05 18:29:33 +08:00
Pnant
94b428b0b9
refactor: rewrite SKILL.md as pure usage guide (324→160 lines) (#78)
SKILL.md was mixing installation/configuration with usage commands.
Now it's a pure usage guide per skill-creator conventions:

- Description includes ALL platform trigger words (search, read,
  browse for each of 13 channels) so agents load it when users
  ask to search/read any platform
- Body is concise command reference only — no install/config
  instructions (those belong in install.md)
- Removed duplicate workspace rules explanation
- Removed cookie setup, proxy config, and channel setup sections
- 324 → 160 lines (51% reduction in context tokens)

Co-authored-by: Panniantong <panniantong@users.noreply.github.com>
2026-03-05 17:19:23 +08:00
Pnant
b4d189b536
fix: enforce workspace isolation to prevent agent pollution (#57) (#72)
Problem: After installing Agent Reach, agents may clone repos, create
files, or write output into the workspace directory, gradually polluting
the user's project. Over time this degrades the agent experience.

Fix:
- SKILL.md: add Workspace Rules section — never create files in workspace
- install.md: add Directory Rules table, explicit boundary about workspace
- install.md: all git clone commands now target ~/.agent-reach/tools/
- update.md: add workspace warning
- cli.py: install creates ~/.agent-reach/tools/ directory

All agent-facing docs now enforce: /tmp for temp, ~/.agent-reach/ for
persistent data, workspace stays untouched.

Co-authored-by: Panniantong <panniantong@users.noreply.github.com>
2026-03-04 18:40:31 +08:00
Pnant
476935be92
feat: add WeChat search via miku_ai (sogou) (#68)
- wechat channel now supports both search and read
- Search: miku_ai (sogou weixin search) → article list with URLs
- Read: camoufox (stealth Firefox) → full Markdown content
- Doctor shows granular status (search only / read only / both)
- SKILL.md updated with search + read workflow examples

Co-authored-by: Panniantong <panniantong@users.noreply.github.com>
2026-03-04 18:02:05 +08:00
Pnant
4f4ad99d49
feat: add WeChat Official Account channel (#54) (#67)
New channel: wechat (微信公众号文章)
- Backend: wechat-article-for-ai (Camoufox stealth browser)
- Can read mp.weixin.qq.com article URLs → clean Markdown
- Bypasses WeChat anti-bot detection via stealth Firefox
- Doctor checks for camoufox package availability
- SKILL.md updated with usage examples

Co-authored-by: Panniantong <panniantong@users.noreply.github.com>
2026-03-04 17:53:39 +08:00
Yves
7434c3cb9f
docs: fix xiaohongshu API in SKILL.md — replace non-existent functions with correct ones (#65) 2026-03-04 17:18:13 +08:00
Pnant
1a61a2cc81
docs: clarify agent-reach has no read/search commands (#59)
- Remove dead '# ── read ──' placeholder comment in cli.py
- Reword SKILL.md to make it explicit that agent-reach is an
  installer/config tool, not a content fetcher
- Addresses confusion from issue #58

Co-authored-by: Panniantong <panniantong@users.noreply.github.com>
2026-03-04 14:33:38 +08:00
Panniantong
0d1a33236e fix: YouTube requires JS runtime — auto-configure Node.js in install
yt-dlp now requires an external JS runtime (deno or Node.js) for YouTube.
Since agent-reach already installs Node.js, we configure yt-dlp to use it:

1. cli.py: install writes '--js-runtimes node' to ~/.config/yt-dlp/config
2. youtube.py: doctor checks JS runtime availability and config
3. SKILL.md: updated YouTube section with accurate troubleshooting

Bilibili note: 412 errors are IP-based (needs proxy), not cookie-related.

Fixes #47
2026-02-27 11:45:39 +01:00
Panniantong
e620a1db8f docs: add cookie/proxy warnings for YouTube and Bilibili in SKILL.md
YouTube may trigger 'Sign in to confirm you're not a bot' on server IPs.
Bilibili may return 412 on non-residential IPs.

Added --cookies-from-browser fallback examples for both channels.

Fixes #47
2026-02-27 11:25:29 +01:00
Panniantong
62aacf38b5 feat: migrate Twitter backend from bird CLI to xreach CLI
bird CLI (@steipete/bird) is deprecated and no longer maintained.
xreach CLI (xreach-cli on npm) is our maintained fork with:
- Fixed SearchTimeline (POST + updated query ID)
- Built-in proxy rotation support
- Additional features (DMs, notifications, lists)

Changes across 11 files:
- channels/twitter.py: detect xreach instead of bird/birdx
- cli.py: install/doctor/uninstall all reference xreach-cli
- SKILL.md: updated command examples (bird read → xreach tweet)
- guides/setup-twitter.md: rewritten for xreach
- docs/troubleshooting.md: updated proxy guidance
- README.md + README_en.md: all references updated
- config.py: twitter_bird → twitter_xreach
- core.py, mcp_server.py: comment updates

npm package: https://www.npmjs.com/package/xreach-cli
Source: https://github.com/Panniantong/xfetch
2026-02-27 08:17:51 +01:00
Panniantong
f269667a34 docs: 添加 Cookie 登录封号风险提醒,强调使用小号
- README: Cookie 安全建议新增封号风险说明
- install.md: Security tip 补充 account ban 风险
- SKILL.md: Cookie 导入段落加封号提醒
2026-02-26 15:13:25 +01:00
Panniantong
50f2181fcc feat: 新增抖音(Douyin)渠道 - 基于 douyin-mcp-server
- 新增 agent_reach/channels/douyin.py
- 更新 doctor 检测逻辑
- 更新 install.md/SKILL.md/README 文档
- 通过 mcporter 调用 douyin-mcp-server
- 支持视频解析、下载链接获取
- 无需登录即可使用
2026-02-26 13:25:57 +01:00
Panniantong
a96c5cda14 docs: Cookie-Editor 作为首选登录方式,统一所有 cookie 平台
- install.md: 新增通用 Cookie 导入说明,所有平台统一流程
- install.md: 小红书登录方式改为 Cookie-Editor 优先,扫码降级为备选
- SKILL.md: Cookie 导入独立成段,明确优先级
- README.md: 更新 Cookie 说明,强调 Cookie-Editor 比扫码更简单可靠
2026-02-26 12:16:34 +01:00
Panniantong
a37e9aa190 refactor: strip to installer + doctor + docs, remove read/search wrapper layer
BREAKING CHANGE: Remove all `agent-reach read` and `agent-reach search-*` commands.

Agent Reach is now an installer, configuration tool, and doctor —
not a wrapper layer. After installation, agents call upstream tools
directly (bird CLI, yt-dlp, mcporter, gh CLI, Jina Reader, etc.).

What's kept:
- agent-reach install: one-shot installer
- agent-reach doctor: channel status overview
- agent-reach configure: cookies, proxy, credentials
- agent-reach setup: interactive wizard
- SKILL.md: complete guide for agents to use upstream tools directly

What's removed:
- agent-reach read URL (and all channel read() methods)
- agent-reach search-* commands (and all channel search() methods)
- ReadResult / SearchResult data classes
- URL routing system (get_channel_for_url)
- All parsing/conversion logic (VTT, Reddit JSON, bird text parser, etc.)
- MCP server read/search tools (kept only get_status)

Net change: -1790 lines. Less code = fewer bugs.
2026-02-26 08:15:56 +01:00
Panniantong
f70711e75e remove(instagram): 移除 Instagram 渠道
Instagram 反爬封杀导致所有开源工具(instaloader 等)失效,
无论有无 cookies 都无法正常使用。

- 删除 instagram.py 渠道文件
- 移除 CLI 中 search-instagram、configure instagram-cookies 等命令
- 移除 setup/doctor 中 instaloader 依赖检查
- 更新 README、docs、SKILL.md、pyproject.toml

上游 issue: instaloader#2585, instaloader#2648
Relates to: #13
2026-02-26 07:20:13 +01:00
Panniantong
d291d27664 docs: install.md 和 SKILL.md 补充 Twitter 代理方案说明
让 Agent 在配置 Twitter 时知道:
- undici 需要安装(npm install -g undici)
- 代理注入是自动的,不需要用户额外操作
- fetch failed 的排查步骤
2026-02-25 21:45:40 +01:00
Panniantong
00f3edd9cc refactor: 合并 SKILL.md 为单一来源,更新为 12 个渠道
- 删除 agent-reach/SKILL.md(重复)
- 删除 agent_reach/integrations/skill/SKILL.md(重复)
- 保留并更新 agent_reach/skill/SKILL.md 为唯一来源
- 新增 Instagram/LinkedIn/Boss直聘 搜索命令
- 新增渠道配置引导流程说明
- 描述从 9+ 更新为 12+
2026-02-25 15:11:51 +01:00
Panniantong
868822e2ed fix: Skill 加 Setup 引导,纯 Skill 安装也能自动触发 pip install
SKILL.md 增加 Setup 段:Agent 读到 skill 后先检测 agent-reach CLI
是否存在,不存在则自动 pip install + agent-reach install。
README 说明同步更新。
2026-02-25 04:35:35 +01:00
Panniantong
25d869d3fe feat: Agent Reach 作为 Skill 安装
- 新增 agent-reach/SKILL.md — skills.sh 兼容格式
  安装: npx skills add Panniantong/Agent-Reach@agent-reach
- agent-reach install 自动检测 OpenClaw / Claude Code / 通用 Agent
  并在对应 skill 目录注册 SKILL.md
- SKILL.md 打包进 pip 包(agent_reach/skill/SKILL.md)
- README 中英文都加了 Skill 安装方式
2026-02-25 04:24:16 +01:00