Commit Graph

54 Commits

Author SHA1 Message Date
Pnant 447dc4acc4 docs: trim friend-links to Tencent Cloud OpenClaw only (#352)
Remove the FluxNode and OpenClaw-for-Enterprise placements from the
friend-links section across README.md / README_en / README_ko; keep the
Tencent Cloud OpenClaw entry.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 20:07:56 +08:00
Pnant 7015b08063 refactor: remove Douyin, Weibo and WeChat channels (#347)
All three had rotted past honest usability:
- Douyin's upstream (yzfly/douyin-mcp-server) is archived and required a
  4-step manual local-server setup nobody could complete
- Weibo depended on an unmaintained personal fork (mcp-server-weibo)
- WeChat full-article reading was increasingly blocked by anti-bot
  (#339) while doctor still advertised it as zero-config

Removes the channel files, installers, skill routing/trigger entries,
reference sections and README rows (zh+en). Honest counts: 13 platforms,
6 zero-config. They can return when maintained upstreams exist.

Follows the v1.4.0 precedent of removing Discord/Toutiao (#234).

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 15:57:05 +08:00
Pnant 781496540b fix: correct stale twitter flag, MP3 case match, reddit tier, bird residue (#344)
Four small correctness fixes found while live-testing community PRs:

- SKILL.md taught agents 'twitter search --limit 10' but twitter-cli
  v0.8.5 has no --limit (real flag is -n/--max) — every agent following
  the skill got a usage error
- transcribe_xiaoyuzhou.sh audio regex only matched lowercase .m4a/.mp3;
  current episodes serve uppercase .MP3 (verified on a live episode) —
  add /i flag
- reddit.py declared tier=0 (zero-config) while its own docstring says
  Reddit requires login since 2024 — set tier=1 to match reality (tier
  is doctor display metadata only)
- docs/README_en.md referenced the retired 'bird' CLI name once

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 14:16:25 +08:00
nyxst4ck bdf692c391 docs(en): document safe mode and OpenClaw exec requirement (#330)
The English README was missing two things present in the Chinese README: the OpenClaw 'exec' permission prerequisite (without it the Agent silently can't run install commands) and the --safe install mode. Both refer to real, supported features (cli.py exposes --safe; install.md documents it). Also align the Chinese README's Python badge alt-text (3.8+ -> 3.10+) with requires-python and the badge image.

Co-authored-by: nyxst4ck <289980115+nyxst4ck@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 14:12:15 +08:00
Pnant 17624268a0 docs: update Reddit auth requirement and fix architecture diagrams across all READMEs
Reddit requires authentication since 2024 (all API requests return 403
without a valid session cookie). Updated all 4 language versions (zh, en,
ja, ko) to reflect this: platform tables, tool choice tables, architecture
diagrams, and FAQ sections.

Also fixed Chinese README architecture diagram: reddit.py backend corrected
from Exa to rdt-cli, wechat.py backend corrected from camoufox+miku to Exa.
Fixed Japanese README reddit.py swap suggestions (removed outdated PRAW/Pushshift).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 17:45:43 +08:00
Hak Lee 575cd3b479 docs: add Korean README translation (docs/README_ko.md) (#251)
docs: add Korean README translation (closes #250)
2026-04-13 17:17:28 +08:00
Always lucky 0e21545bc5 Add English skill locale support (#223)
feat: add English skill locale support with SKILL_en.md
2026-04-13 17:17:20 +08:00
Pnant def2ce932e docs: update all remaining files for v1.4.0 upstream migrations
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 18:27:32 +08:00
Pnant a1cc229239 docs: update README for v1.4.0 upstream migrations
Update all tool references across both Chinese and English READMEs:
- bird CLI → twitter-cli
- Exa Reddit → rdt-cli
- Docker xiaohongshu-mcp → xhs-cli (pipx)
- miku_ai → Exa (WeChat)
- Add bili-cli to Bilibili
- Update stars counts, install commands, FAQ answers, credits

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 18:13:38 +08:00
Jerrys d7c8ac81e9 docs: add alternative Douyin/XHS MCP option (social-post-extractor-mcp)
Co-authored-by: JNHFlow21 <JNHFlow21@users.noreply.github.com>
2026-03-31 14:57:32 +08:00
Ikko Eltociear Ashimine 1e0e6d1ae7 docs: add Japanese README (ja)
* docs: add Japanese README

* docs: update README.md
2026-03-31 14:56:50 +08:00
Pnant 5d046ecb61 fix(reddit): switch to Exa-only for search and read, remove proxy dependency
Reddit blocks nearly all non-browser access at IP level (including ISP proxies).
Switch Reddit channel to use Exa exclusively:
- Search: web_search_exa with includeDomains: ["reddit.com"]
- Read: crawling_exa for full post + comments
- check() now verifies Exa availability instead of probing Reddit API
- tier changed from 1 (needs config) to 0 (zero config)
- Removed reddit_proxy from config, CLI, and setup guide
- Updated all docs (README, README_en, install.md, SKILL.md, references)
- Fixed xreach→bird references in references/social.md

Fixes #218, Fixes #222, Fixes #221

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 14:21:31 +08:00
fernando_jacob d793afaba6 fix(xueqiu): fix 400 errors by using browser cookies and correct headers
The Xueqiu stock API requires a login session token (xq_a_token) that
is generated by Xueqiu's frontend JavaScript and cannot be obtained by
simply visiting the homepage. This caused persistent HTTP 400 (error
code 400016) for all users.

Changes:
- _ensure_cookies(): add three-level priority — config file (saved by
  --from-browser) → live Chrome cookies via browser_cookie3 → homepage
  fallback. The homepage-only approach only ever got acw_tc (anti-DDoS
  token), never xq_a_token.
- _get_json(): switch User-Agent from "agent-reach/1.0" to a real Chrome
  UA, and add Referer: https://xueqiu.com/ to all API requests.
- get_hot_posts(): replace the defunct /statuses/hot/listV3.json endpoint
  (returns empty body) with the v4 public timeline endpoint; correctly
  parse item.data as a JSON string to extract author, text, and likes.
- cookie_extract.py: add Xueqiu to PLATFORM_SPECS and configure_from_browser
  so that `agent-reach configure --from-browser chrome` now also saves
  Xueqiu cookies (only when xq_a_token is present).
- check(): improve error message to direct users to --from-browser instead
  of suggesting a proxy.
- Fix urllib.parse.quote usage (was using urllib.request.quote).
- Update tier and backends description to reflect cookie requirement.
- Add 2 new tests: cookie loading from config, Referer/UA header verification.
- Update docs: README, install guide, troubleshooting, SKILL.md, CHANGELOG.
2026-03-27 11:55:14 +08:00
Pnant ca2e85520b docs: add Tencent Cloud OpenClaw to友情链接/Friends section (#209)
Co-authored-by: Panniantong <panniantong@users.noreply.github.com>
2026-03-26 11:15:16 +08:00
Pnant 470c1288d0 feat: add Xueqiu (雪球) channel (#198)
* feat: add Xueqiu (雪球) channel for stock quotes and community posts

Add a Tier 0 (zero-config) channel for Xueqiu, China's popular stock
market and investment community platform. Uses auto-generated session
cookies via http.cookiejar — no login required.

Supported methods:
- get_stock_quote(symbol) — real-time quotes (A/HK/US markets)
- search_stock(query) — search by name or code
- get_hot_posts(limit) — trending community posts
- get_hot_stocks(limit, stock_type) — popular stocks leaderboard

Inspired by https://github.com/jackwener/opencli xueqiu implementation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: add Xueqiu to README platform tables, remove stale Instagram ref

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: fernando_jacob <f.jacob1996@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-23 18:44:13 +08:00
Panniantong 7ae0cd8c0a feat(twitter): migrate from xreach to bird CLI
- Replace xreach CLI with bird (@steipete/bird) as Twitter/X backend
- bird uses AUTH_TOKEN/CT0 env vars (simpler than xreach's session.json)
- Accept both 'bird' and 'birdx' binary names
- Remove version detection logic (bird v0.8.0 is the baseline)
- Write credentials.env to ~/.config/bird/ for easy sourcing
- Keep xfetch session.json sync for backward compatibility
- Update SKILL.md commands: bird search/read/user-tweets/thread
- Update install/uninstall to use npm @steipete/bird
- All 52 tests pass
2026-03-23 08:51:22 +01:00
Panniantong be9f9ab838 docs: replace WeChat group QR with personal QR, update copy 2026-03-16 12:02:41 +01:00
Kada Liao f52fb67232 docs: add V2EX channel to README and CHANGELOG (v1.3.0) 2026-03-12 21:55:26 +08:00
Pnant ba565bd096 fix: switch wechat-article-for-ai to Panniantong fork (BS4 4.12 fix) (#150)
Upstream bzd6661/wechat-article-for-ai has a bug where Tag.new_tag
is None in BS4 4.12+. Our fork fixes this.

Co-authored-by: Panniantong <panniantong@users.noreply.github.com>
2026-03-11 17:34:20 +08:00
Pnant ae5812cf7f docs: remove personal WeChat QR, keep group QR only (#138)
Co-authored-by: Panniantong <panniantong@users.noreply.github.com>
2026-03-10 10:42:46 +08:00
Pnant 3321bf7d34 docs: add WeChat community group QR code (#137)
Co-authored-by: Panniantong <panniantong@users.noreply.github.com>
2026-03-10 10:39:40 +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 16733df4fc fix: bust Star History chart cache (v=20260309, 7.5K+ stars) (#131)
Co-authored-by: Panniantong <panniantong@users.noreply.github.com>
2026-03-09 20:29:53 +08:00
Pnant c912051173 feat: 新增小宇宙播客转文字渠道 (#124)
* feat: add Xiaoyuzhou podcast transcription channel

- New channel: 小宇宙播客 (xiaoyuzhoufm.com) → full text transcript
- Uses Groq Whisper API (free, no credit card needed)
- Auto-downloads audio, converts to low-bitrate MP3, splits by 25MB limit
- Supports any length podcast with automatic chunking
- Script installed to ~/.agent-reach/tools/xiaoyuzhou/transcribe.sh
- User just needs: agent-reach configure groq-key gsk_xxxxx
- Updated README (CN/EN), install.md, pyproject.toml

* docs: clarify Xiaoyuzhou setup — free key, limitations, step-by-step

---------

Co-authored-by: Panniantong <panniantong@users.noreply.github.com>
2026-03-09 00:34:22 +08:00
Pnant 22d7ad766a docs: add Twitter/X to contact section (#122)
Co-authored-by: Panniantong <panniantong@users.noreply.github.com>
2026-03-09 00:20:07 +08:00
Pnant 5895f3992d docs: add email to contact section (#121)
Co-authored-by: Panniantong <panniantong@users.noreply.github.com>
2026-03-09 00:19:02 +08:00
Pnant 3fe100cd9a docs: add contact section with WeChat QR code (#120)
Add author contact section to both Chinese and English READMEs.
Placed after Credits, before License — clean and non-intrusive.

Co-authored-by: Panniantong <panniantong@users.noreply.github.com>
2026-03-08 22:51:00 +08:00
Pnant fedbf95f61 feat: add Weibo as default-install channel via Panniantong fork (#118)
- Weibo now auto-installs during 'agent-reach install' (no login needed)
- Uses Panniantong/mcp-server-weibo fork with visitor passport auth fix
- Works from overseas servers without proxy or cookies
- Updated README (CN/EN), install.md, and channel check to point to fork
- 10 tools: trending, search content/users/topics, profile, feeds, comments

Co-authored-by: Panniantong <panniantong@users.noreply.github.com>
2026-03-08 22:25:40 +08:00
Pnant df34436942 docs: add Star History chart to README (#81)
Co-authored-by: Panniantong <panniantong@users.noreply.github.com>
2026-03-05 21:33:40 +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 35073aed54 docs: make WeChat row consistent with other channels (#79)
Changed '怎么配' column from raw pip command to '告诉 Agent「帮我配微信公众号」',
matching the pattern of all other channels. Updated both Chinese and English READMEs.

Co-authored-by: Panniantong <panniantong@users.noreply.github.com>
2026-03-05 18:08:35 +08:00
Pnant 105b477a31 docs: add update one-liner to English README + update.md (#77)
- English README: added update one-liner in hero section and Quick Start
- update.md: added English version of the one-liner for humans

Co-authored-by: Panniantong <panniantong@users.noreply.github.com>
2026-03-05 15:43:57 +08:00
Pnant 49d05b7023 docs: add WeChat channel to README (zh + en) (#69)
Co-authored-by: Panniantong <panniantong@users.noreply.github.com>
2026-03-04 18:06:47 +08: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 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 80a08c8c10 docs: update all remaining references to use upstream tools directly
- docs/README_en.md: update FAQ, Works Out of the Box, Design Philosophy
- docs/troubleshooting.md: Exa fallback uses mcporter directly
- agent_reach/guides/setup-exa.md: test with mcporter call
- agent_reach/guides/setup-wechat.md: test with Jina Reader
2026-02-26 08:25:06 +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 c3a9813b1c seo: GitHub SEO + GEO 优化,提升项目可发现性
1. 新增 llms.txt — 让 AI 搜索引擎(ChatGPT/Claude/Perplexity)理解项目
2. README 中英文加 FAQ 区块 — AI 搜索友好的常见问题解答
3. pyproject.toml keywords 扩展到 21 个 — 覆盖更多搜索词
2026-02-25 22:32:22 +01:00
Panniantong 545a6c5761 docs: 新渠道配置方式统一为「告诉 Agent 帮我配」
跟其他渠道风格一致,不单独列限制说明。
具体配置步骤都在 install.md 里,Agent 会自动引导。
2026-02-25 15:27:51 +01:00
Panniantong c642e18e1f release: v1.1.0 — 新增 Instagram、LinkedIn、Boss直聘 三个渠道
🆕 新渠道:
- 📷 Instagram — instaloader 读取帖子和 Profile
- 💼 LinkedIn — linkedin-scraper-mcp 读取 Profile、公司、职位
- 🏢 Boss直聘 — mcp-bosszp 搜索职位、向 HR 打招呼

📈 改进:
- 渠道数量 9 → 12
- 新增 CHANGELOG.md
- CLI 新增 search-instagram / search-linkedin / search-bosszhipin
- 安装指南更新
- 致谢列表更新
2026-02-25 14:14:30 +01:00
Panniantong e3804108fe feat: 新增 Instagram、LinkedIn、Boss直聘 三个渠道
新增渠道:
- Instagram: 基于 instaloader (9.8K),读取帖子/Profile,Cookie 登录
- LinkedIn: 基于 linkedin-scraper-mcp (900+) MCP 服务,Jina Reader fallback
- Boss直聘: 基于 mcp-bosszp MCP 服务,Jina Reader fallback

代码改动:
- 新建 channels/instagram.py, linkedin.py, bosszhipin.py
- 注册到 channels/__init__.py
- cli.py 添加 search-instagram/linkedin/bosszhipin 子命令
- cli.py 安装逻辑添加 instaloader 自动安装
- core.py 添加 search_instagram/linkedin/bosszhipin 方法
- README.md + docs/README_en.md 更新平台表格和选型表格
- docs/install.md 添加三个新渠道的配置说明和 Quick Reference
2026-02-25 10:25:30 +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
Panniantong 93ad9c5722 fix: birdx → bird CLI (npm @steipete/bird)
birdx 从来不是 PyPI 包,pip install birdx 必然失败。
实际工具是 npm 包 @steipete/bird,一个 Twitter GraphQL CLI。

变更:
- 安装器改用 npm install -g @steipete/bird
- twitter.py 直接调 bird,通过环境变量传 AUTH_TOKEN/CT0
- 兼容已有的 birdx wrapper(shutil.which 回退)
- 更新所有文档引用
- 重写 setup-twitter.md 指南
2026-02-25 04:02:42 +01:00
Panniantong 064ae75ca6 docs: 30秒 → 几分钟,更符合实际 2026-02-24 14:12:20 +01:00
Panniantong c67478239e docs: 加上 vibe coding 说明,欢迎提 bug 2026-02-24 14:09:41 +01:00
Panniantong 758002f136 docs: 精简贡献指南,去掉技术细节
- 删掉添加新渠道的代码示例和 3 步教程
- 删掉希望支持的渠道列表
- 简化为:想要新渠道提 Issue/PR,想本地加让 Agent clone 改就行
- 中英文同步
2026-02-24 13:57:48 +01:00
Panniantong f2f2e19eac docs: 更新 Twitter API 定价 — 已改为按量付费(2026-02)
X 官方 API 2026年2月改版:
- 旧: 固定月费 00/00/000
- 新: 按量付费(读推 /bin/bash.005/条,读用户 /bin/bash.01,发推 /bin/bash.01)
- X 官方示例:中等用量约 15/月
- birdx 仍然免费(Cookie 登录)

中英文 README 同步更新
2026-02-24 13:43:02 +01:00
Panniantong 8b00f73e84 docs: 重写设计理念 — 突出脚手架定位、可插拔架构、新渠道贡献指南
- 设计理念: 明确「脚手架不是框架」定位
- 项目结构: 每个文件标注可替换后端选项
- 添加新渠道: 3 步完整教程 + 代码示例
- 贡献指南: 希望支持的渠道列表(HN/Mastodon/Telegram/arXiv 等)
- 中英文 README 同步更新
2026-02-24 13:41:14 +01:00
Panniantong 88eaebe263 refactor: 统一所有渠道后端,对齐 research 技能
GitHub: REST API → gh CLI(官方工具,认证后完整能力)
Bilibili: 自写 API → yt-dlp(和 YouTube 统一后端,支持搜索 bilisearch)
YouTube: 新增搜索功能(ytsearch via yt-dlp)

README 中英文同步更新:
- 平台表格:小红书/Exa/GitHub/YouTube/B站 描述全部更新
- 选型表格:新增 gh CLI、xiaohongshu-mcp,更新 yt-dlp/Exa 描述
- 按需解锁:去掉 Exa Key 注册步骤(已自动配置)
- 配置难度说明:新增「自动配置」「mcporter」级别
2026-02-24 13:25:57 +01:00