Commit graph

42 commits

Author SHA1 Message Date
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
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
606e8900ce docs: update install.md — remove read/search references, add upstream tools table 2026-02-26 08:20:20 +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
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
12bd727e30 fix: Twitter bird CLI fetch failed — 自动代理注入 + 连通性检测 + Exa fallback
问题:bird CLI 用 Node.js 原生 fetch(),不走 HTTP_PROXY,
导致需要代理的用户(如 Windows + 本地代理)完全无法使用。

修复:
1. 自动代理注入:检测到 HTTP_PROXY/HTTPS_PROXY 时,通过 undici 的
   EnvHttpProxyAgent 让 Node.js fetch 自动走代理,用户无需任何额外配置
2. doctor 检测:实际跑 bird whoami 测连通性,失败时给出具体原因
3. search fallback:bird 搜索失败时自动 fallback 到 Exa
4. install:自动安装 undici(npm install -g undici)
5. 新增 troubleshooting.md:常见问题解决方案

Fixes #9
2026-02-25 21:35:21 +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
823f239a54 docs: 完善三个新渠道的登录说明
- Instagram: Cookie-Editor 导入(推荐)或 instaloader --login
- LinkedIn: linkedin-scraper-mcp --login(服务器需 VNC 远程桌面)
- Boss直聘: 启动 MCP 后 App 扫码

README 平台表格更新登录方式说明
2026-02-25 11:49:51 +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
a0ecd438ee fix: 完善所有渠道安装指引,修复文档错误
- 小红书: 添加 Docker 安装命令 (xpzouying/xiaohongshu-mcp),替换模糊的 'install xiaohongshu-mcp'
- Exa: 修正文档错误(实际免费无需 API Key,之前写要 Key)
- CLI: install 命令输出添加小红书 Docker 安装指引
- channel: xiaohongshu.py 所有错误信息添加完整安装步骤
- install.md: 添加小红书配置段落
- README: 修正小红书 GitHub 链接,Exa 描述改为免费无需 Key

Fixes user-reported issue: 安装后不知道怎么装小红书 MCP
2026-02-25 05:10:56 +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
17970b2789 feat: 添加 watch 和 check-update 命令 + OpenClaw 每日监控
- agent-reach check-update: 检查 GitHub 最新版本,展示更新内容
- agent-reach watch: 快速健康检查+版本检查,为定时任务设计
  - 全部正常只输出一行
  - 有问题才展开详情
- install.md 新增 Step 5: OpenClaw 用户可设置每日自动监控
  - Agent 主动问用户要不要设定时任务
  - 有问题才通知,没问题不打扰
2026-02-25 03:41:42 +01:00
Panniantong
ac63a5dc55 docs: install.md 恢复有用细节,保留简洁指令
保留:
- Cookie 配置步骤(需要用户操作,Agent 做不了)
- 代理配置说明(含推荐服务商)
- 完整命令参考表(12 条命令)
- 自动安装说明

去掉的只有:9 行排错对照表(Agent 自己能搞定)
2026-02-24 15:38:57 +01:00
Panniantong
05452e5b54 simplify: install.md 只说目标,不说怎么修——Agent 自己会
install.md 核心指令:
- 目标:所有渠道都 
- 遇到问题自己修,不要停
- 只有需要用户提供的东西(密码/cookie/key)才问用户
- 最后跑 doctor 汇报结果
2026-02-24 15:34:50 +01:00
Panniantong
db3f292228 feat: 添加 Agent 自修复提示——让用户的 Agent 自己解决安装问题
核心改动:
1. install.md 加入 Agent 指令:'You are a capable AI Agent. If a tool
   fails, try another method. Don't give up after one attempt.'
2. install.md 加入常见问题自修复表(9 种场景 + 对应解法)
3. CLI 错误输出改为 Agent-friendly 语气,给出替代方案而非只说失败
4. install 结束时如果有未激活渠道,提示 Agent 自行修复
2026-02-24 15:32:25 +01:00
Panniantong
51f73639e2 fix: install 自动安装 gh CLI + Node.js,加大 mcporter 超时
问题:新服务器上 gh CLI 和 Node.js 未安装,mcporter npm install 60s 超时
修复:
- 新增 _install_system_deps():自动安装 gh CLI (apt) + Node.js (nodesource)
- mcporter 超时从 60s → 120s
- install.md 更新:去掉过时的 exa-key/xhs-cookie 配置步骤
- install 流程:系统依赖 → mcporter → Exa 配置 → 环境检测 → 测试
2026-02-24 15:05:00 +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
Panniantong
ac64f607e0 fix: 开头平台列表补上 YouTube(中英文同步) 2026-02-24 12:19:46 +01:00
Panniantong
ebbb69c372 polish: 全面清理旧名引用 + 英文 README 对齐中文版质量
- .gitignore/.env.example: agent-eyes → agent-reach
- README.md: 暂去掉 logo 图片标签(logo 待定)
- docs/README_en.md: 完全重写,对齐中文版的表格/徽章/结构
- SKILL.md: setup → configure
- sync-upstream.sh: 更新路径到 agent_reach/channels
- 提交 3 个 logo 候选文件(最终选定后改名 logo.png)
2026-02-24 12:15:30 +01: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
c851bd64b9 simplify: auto-everything in install command
Changes:
1. browser-cookie3 now in default deps (no separate pip install)
2. install --env=auto now auto-imports cookies on local computers
3. install auto-detects EXA_API_KEY from environment variables
4. install.md cut from 100 lines to 60 lines — two steps not five

Before: pip install → agent-eyes install → 'want search?' → 'want cookies?' → configure each
After: pip install → agent-eyes install (does everything automatically) → only ask about what's missing

Docker clean-room test: all passing, 0 bugs.
2026-02-24 08:37:55 +01:00
Panniantong
e96ebdec88 docs: Chinese README as default, English in docs/
Chinese README polished 3 rounds:
- Round 1: direct translation
- Round 2: too dry, too many tables, too technical
- Round 3: conversational tone, scenario-driven, collapsible details

Key improvements:
- Opens with WHY not WHAT ('你的Agent很聪明,但是看不见')
- Install section explains WHERE to paste for newbies
- Features shown as bullet list not tables (better visual scan)
- Architecture hidden in collapsible section (most users don't care)
- 'Why Agent Eyes' section explains positioning clearly
- English version at docs/README_en.md
2026-02-24 07:22:35 +01:00
Panniantong
c40ffbd5ed fix: 3 bugs found in Docker clean-room test
1. Install command: git+... requires git (many envs don't have it)
   → Changed to zip URL: pip install .../archive/main.zip

2. yt-dlp not in dependencies (shows warning in doctor)
   → Added yt-dlp to required dependencies

3. search-twitter/reddit shows raw 401 error without Exa key
   → Now shows friendly 'Exa API key not configured' message
2026-02-24 07:11:22 +01:00
Panniantong
deec966228 polish: reorder steps — search first (highest value), cookies second
Search (Exa) is more valuable to most users than cookie-based channels.
New order: install → search key → cookies → proxy → done
2026-02-24 07:03:12 +01:00
Panniantong
89b3eaf5da polish: cookie header string parsing + Cookie-Editor guide + server user path
Key improvements:
- twitter-cookies now accepts BOTH formats:
  1. Full cookie header string from Cookie-Editor export
  2. Two separate values (auth_token ct0)
  Automatically detects which format was pasted.

- New docs/cookie-export.md guide for server users
  Recommends Cookie-Editor Chrome extension (one-click export)
  Fallback: manual F12 → Network → Cookie header

- Install guide now has two clear paths:
  Path A (local): --from-browser chrome (one command, all cookies)
  Path B (server): Cookie-Editor extension export (30 sec per site)

- Better error messages with accepted format examples
2026-02-24 07:02:44 +01:00
Panniantong
b264070a8d feat: one-click cookie import from browser
New: agent-eyes configure --from-browser chrome
- Extracts Twitter, XiaoHongShu, Bilibili cookies in ONE command
- No F12, no manual copying, no extension needed
- Supports: chrome, firefox, edge, brave, opera
- Uses browser-cookie3 (optional dependency: pip install agent-eyes[cookies])

Install guide now 3x shorter:
1. pip install + agent-eyes install (auto-detect env)
2. agent-eyes configure --from-browser chrome (one-click all cookies)
3. agent-eyes configure exa-key KEY (one API key)
4. Done

User actions reduced from 4 trips to 2:
- Before: go to exa.ai + F12 Twitter + F12 XHS + go to webshare.io
- After: go to exa.ai + say 'yes' to auto-import cookies
2026-02-24 06:55:08 +01:00
Panniantong
f98fc991bc polish round 2: Cookie-Editor shortcut + single-question flow
- Recommend Cookie-Editor browser extension as easiest cookie export method
- Step 1 is now literally ONE command (install + auto-detect combined)
- Only ONE question after install: 'want search? here's a free key'
- Additional channels are 'just ask anytime', not a menu to read through
- YouTube cookies only mentioned if user actually needs age-restricted content
- Cut guide from 100 lines to ~90 lines, much more scannable
2026-02-24 06:44:22 +01:00
Panniantong
1d1484fc16 polish: Steve Jobs pass — simplify install to near-zero friction
Key changes:
1. Auto-detect local vs server (SSH/Docker/cloud/headless detection)
   - User no longer needs to answer 'local or server?'
2. Only ask for ONE thing: Exa API key (the highest-value unlock)
3. Everything else is 'ask later' — user says 'set up Twitter' anytime
4. Install guide cut from 200 lines to 100 lines
5. No more overwhelming channel menu — just show what works + one recommendation

Philosophy: default to everything working, only stop when user action is truly needed.
The lazy user path: paste one line → Agent installs → 'want search? get free key at exa.ai' → done.
2026-02-24 06:43:34 +01:00
Panniantong
1b8b202e1e feat: complete channel menu install flow + XiaoHongShu channel
Major install flow polish:
- Channels organized by setup difficulty:
  🟢 Zero-config (Web, GitHub, RSS) — works immediately
  🔵 Cookie-based (Twitter, YouTube, Bilibili, XiaoHongShu) — free, ~2min
  🟡 Free API key (Exa Search) — one key, 30 seconds
  🟠 Proxy-based (Reddit, Bilibili on server) — $1/month
- Every channel explains: what it does, what's needed, what you miss without it
- Server vs local affects which channels need proxy

New: XiaoHongShu channel (cookie-based, falls back to Jina Reader)
New configure commands: twitter-cookies, xhs-cookie, youtube-cookies
Each command auto-tests after saving.
2026-02-24 06:31:48 +01:00
Panniantong
6b023b6607 polish: rewrite install guide as clear channel menu + decision tree
Installation flow now:
1. pip install (one command)
2. Ask: local or server?
3. Show FULL channel menu with clear explanations:
   - What each channel does
   - What's needed to set it up
   - What you miss without it
   - Pre-selected: zero-config channels
   - Recommended: Exa Search (free)
   - Optional: Reddit/Bilibili proxy, Twitter Advanced, WeChat, XHS
4. Configure selected channels (one command each, auto-tested)
5. Final health check

Key improvements:
- User sees ALL options at once with tradeoffs
- 'Without it' explanations help users decide
- Server users get clear proxy guidance (Reddit + Bilibili share same proxy)
- Reddit clarified: search works FREE via Exa, only full reader needs proxy
2026-02-24 06:24:08 +01:00
Panniantong
62b82c5a52 feat: deterministic install & configure commands
New commands:
- agent-eyes install --env=<local|server> --search=<yes|no> [--proxy=URL] [--exa-key=KEY]
  One-shot installer with explicit flags. No ambiguity.

- agent-eyes configure <key> <value>
  Set exa-key/proxy/github-token/groq-key with auto-testing.
  e.g. 'agent-eyes configure exa-key xxx' → saves + tests API

Rewrote install.md as strict decision tree:
1. Ask 3 questions → get flags
2. pip install
3. Run ONE install command with flags
4. Configure keys with configure command (auto-tests each)
5. Verify with doctor

Inspired by oh-my-opencode's deterministic installer pattern.
2026-02-24 06:16:52 +01:00
Panniantong
83622965d2 feat: add environment detection (local vs server) + Bilibili proxy support
Install guide now asks: local computer or server?
- Server users get proactive guidance on Reddit/Bilibili proxy (/mo Webshare)
- Bilibili channel now supports proxy config (bilibili_proxy)
- Updated step numbering in install guide
2026-02-24 06:12:03 +01:00
Panniantong
33c7b773e0 feat: add Agent-readable install guide (one URL to rule them all)
Users just paste one line to their AI Agent:
'Install Agent Eyes: https://raw.githubusercontent.com/Panniantong/agent-eyes/main/docs/install.md'

The Agent reads the guide, installs, configures, and reports back.
Inspired by oh-my-opencode's installation flow.

Also updated README: new tagline, architecture diagram reflects
pure-glue design, updated credits.
2026-02-24 05:46:03 +01:00