Project is now mirrored on AtomGit (auto pull-sync from GitHub, enabled
with pull-f) for faster cloning in China. Badge + mirror notice added to
both READMEs per the G-Star certification requirements.
Mirror: https://atomgit.com/qq_51337814/Agent-Reach
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Two factual errors and a batch of stale-world copy found by auditing the
full README against v1.5.0 reality:
- "what install does" claimed twitter-cli/rdt-cli are installed by default
— they never are (opt-in via --channels); now describes the real flow
incl. the channel menu step
- zero-config examples listed "read a tweet" — Twitter is tier 1, not
zero-config; list now shows truly free channels (incl. bili search)
- FAQ rewrites: xiaohongshu (OpenCLI-first, mcp for servers, xhs-cli as
legacy fallback), Reddit (login mandatory, OpenCLI first, pinned rdt
source), free-cost answer (tool list updated, proxy rescoped to
restricted networks)
- platform table stops advertising write ops (发推/Post·Comment·Like) —
aligned with the skill's fetch-only boundary
- bilibili pain-point line updated to the 412 reality
- credits gain OpenCLI and xiaohongshu-mcp
- README_en: same FAQ/table/doctor-sample fixes
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
SKILL.md (per the skill-writing guide):
- description rewritten trigger-first: 调研/全网调研/帮我调研/research lead
the text (the owner's own phrasing "去全网调研" previously had NO matching
trigger word — the exact undertrigger the guide warns about); platform
keywords front-loaded against the 1536-char truncation
- standing rules added: probe `doctor --json` active_backend before acting
on multi-backend platforms, announce which skill/backend is in use,
follow the documented retry chains, compose multi-platform research
- quick commands updated to the new reality: bili-cli for bilibili search,
Reddit/xiaohongshu moved to a "login-backed platforms" section
- SKILL_en.md: same description surgery + the actively harmful stale
advice removed (anonymous reddit .json curl, yt-dlp for bilibili)
README / README_en:
- tagline gains the capability-layer subline: backends are chosen,
installed and health-checked for us to swap — the user never notices
- "设计理念" reframed from scaffolding to capability layer (selection /
install / doctor / routing); channels diagram now shows ordered backend
lists; selection table split into primary + fallback columns with the
live-test rationale per row
- platform table: honest rows for bilibili (bili-cli, yt-dlp retired),
Reddit (no zero-config path), xiaohongshu (OpenCLI / mcp / legacy)
Version 1.5.0 across pyproject / __init__ / CLAUDE.md / test fixture.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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>
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>
PyPI still only has rdt-cli 0.4.1 while the doctor hint required >=0.4.2, so the suggested install command always failed. Installs from the upstream GitHub repo pinned to the 0.4.2 commit instead, and syncs all four docs that still taught the PyPI path. Verified locally: clean-venv install from the pinned source yields rdt 0.4.2 and rdt status works. 86 tests pass. Fixes#294.
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>
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>
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>
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.
* 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>
- 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
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>
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>
Fixes#110 and #115. Since OpenClaw 2026-01 disabled the exec tool by
default, users on OpenClaw can't run any agent-reach commands unless
exec is explicitly enabled.
Added:
- Warning callout before '快速上手' explaining exec requirement for
OpenClaw users with the exact config command to use
- Note in the FAQ 'Compatible with Claude Code / OpenClaw...' entry
with the same fix instructions
Closes#110Closes#115
Co-authored-by: neo-minion1 <bot@openclaw.ai>
- 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>
* 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>
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>
- New docs/update.md for AI agents to follow
- README: add update one-liner next to install one-liner
- Same pattern: copy one line to your agent, it handles the rest
Co-authored-by: Panniantong <panniantong@users.noreply.github.com>