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>
- install --proxy help text: generic network-proxy wording (was
"Reddit/Bilibili")
- setup wizard: Reddit line no longer claims 无需配置 right before
demanding rdt login
- README_en: bilibili proxy-era claims replaced with bili-cli reality
(proxy section rescoped to restricted networks, doctor sample updated)
- install.md: rdt-cli example pinned to the same SHA as _RDT_GIT_SOURCE
Codex final verdict across 3 rounds: SHIP (all earlier fixes verified,
remaining items were these non-blocking nits).
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>
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>
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>
- 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>
- 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>
- 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