Pnant
dbcc668f47
Merge pull request #40 from peter941221/fix/security-hardening-split-v2
...
fix: split security hardening and setup mcporter config checks
2026-02-27 13:30:52 +08:00
Your Name
a726aa7fe1
chore: add quality infra matrix, constraints, and test baseline fixes
2026-02-27 12:27:07 +08:00
Your Name
4b2e6f2ffb
fix: split security hardening and setup mcporter config checks
2026-02-27 12:16:00 +08:00
Panniantong
5c62a21f32
rename: Agent Eyes → Agent Reach
...
全局重命名:
- 包名: agent_eyes → agent_reach
- CLI: agent-eyes → agent-reach
- 类名: AgentEyes → AgentReach
- 显示名: Agent Eyes → Agent Reach
- GitHub: Panniantong/agent-eyes → Panniantong/Agent-Reach
所有 36 个测试通过,CLI/doctor/read/search 全部正常。
2026-02-24 10:25:46 +01:00
Panniantong
2098dacd37
全中文输出 + 积极正向的状态提示
...
所有 doctor 输出和渠道描述改为中文。
状态提示从'不支持/需要配置'的语气改为'配置一下就能用'。
Before: ⬜ Reddit posts — Need config: reddit_proxy
After: ⬜ Reddit 帖子和评论 — 配个代理就能用
Before: ⬜ XiaoHongShu — Need config: xhs_cookie
After: ⬜ 小红书笔记 — 导入浏览器 Cookie 就能用
2026-02-24 09:14:41 +01:00
Panniantong
904f8dfb49
fix: doctor status must be honest — show real capability per channel
...
Before: everything under tier 0 showed ✅ with vague descriptions
After: each channel shows its actual capability and limitations
Changes:
- GitHub: 'Public repos only. Set github_token for private repos'
- Twitter: shows 'Full access' vs 'Read-only' depending on birdx
- Bilibili: ⚠️ warning on servers about potential IP blocks
- XiaoHongShu: friendly message when no cookie (was showing Jina 451)
- Doctor format: tier 0 items now show detailed status messages, not just ✅
- README: platform table updated to match reality (removed exaggerated claims)
- README: doctor example updated to show new honest format
2026-02-24 09:00:34 +01:00
Panniantong
74c3df5c3d
v2.0.0 — Pure glue architecture: zero copied code, pluggable channels
...
BREAKING: Complete architectural rewrite.
Before: Copied x-reader's fetcher code into readers/ (1205 lines of borrowed code)
After: Pluggable channel system where each channel is a thin wrapper (~50 lines)
around the best external tool for that platform. Zero copied code.
Architecture:
- channels/base.py — Universal Channel interface (read, search, check)
- channels/web.py — Jina Reader API (swappable)
- channels/github.py — GitHub API (swappable)
- channels/twitter.py — birdx + Jina fallback (swappable)
- channels/youtube.py — yt-dlp (swappable)
- channels/reddit.py — Reddit JSON API + proxy (swappable)
- channels/rss.py — feedparser (swappable)
- channels/bilibili.py — Bilibili API (swappable)
- channels/exa_search.py — Exa semantic search (swappable)
Key design: every backend can be swapped by changing ONE file.
YouTube dies? Change youtube.py. Exa sucks? Swap exa_search.py for Tavily.
Nothing else changes.
Removed: reader.py, schema.py, readers/, search/, utils/ (all x-reader code)
Tests: 36/36 passing
2026-02-24 05:38:21 +01:00
Panniantong
8eab038cb9
v1.0.0 — Agent Eyes: search + read the entire internet
...
Major restructure from x-reader fork to independent project:
Architecture:
- readers/ — content extraction from 10+ platforms (based on x-reader, MIT)
- search/ — semantic search via Exa, GitHub API, birdx (NEW)
- config.py — configuration management (~/.agent-eyes/config.yaml) (NEW)
- doctor.py — environment health checker (NEW)
- core.py — AgentEyes unified entry point (NEW)
- cli.py — full CLI: read, search, setup, doctor (NEW)
- integrations/mcp_server.py — 8 MCP tools (NEW)
- guides/ — 6 Agent-readable setup guides (NEW)
- integrations/skill/ — OpenClaw Skill package (NEW)
Platforms (zero config):
- Web pages, GitHub, Bilibili, YouTube, RSS, single tweets
Platforms (one free API key):
- Web search, Reddit search, Twitter search (via Exa)
Platforms (optional setup):
- Reddit full reader, Twitter advanced, WeChat, XiaoHongShu
Tests: 34/34 passing
Credits: Built on x-reader by @runes_leo (MIT License)
2026-02-24 04:00:47 +01:00