apswin/scout-dog

GitHub: apswin/scout-dog

scout-dog 是一个 Claude Code 技能,让用户用自然语言驱动网络搜索、内容过滤与信息监控,并自动生成调查结果笔记。

Stars: 0 | Forks: 0

# scout-dog (用于 Claude Code) 一个为 [Claude Code](https://claude.com/claude-code) 设计的发现技能。用简单的自然语言描述你想要寻找的内容,scout-dog 会运行布尔网络搜索,根据你的保留/剔除 (KEEP/DROP) 标准过滤搜索结果,读取它可以访问的页面,并将整理好的调查结果笔记写入 `./runs/`。 它负责查找、阅读并列出候选名单——它**绝不**会进行主动联系或联系任何人。 ``` "find Reddit threads naming good SEO audit tools" "find 50 X profiles who post about GEO and AI search" "round up recent articles on agentic RAG" "new SF 2BR apartments under $6500/mo on Craigslist, last 24h" │ ▼ gather → dedupe → filter → fetch & summarize → ./runs/findings_.md ``` 包含两种收集模式,会根据你的要求自动选择: - **web** — 在开放网络上进行布尔搜索(默认)。 - **site** — 获取单个网站自身的过滤列表/信息流,支持结构化过滤器(价格、卧室数、位置)和时效性(“过去 24 小时”)。在可用的情况下使用网站的 RSS;对于有反爬虫机制的网站,它会通过 Claude 的 fetch 功能读取结果页面。 ## 工作原理 单一智能层:你正在与之对话的 Claude 模型负责执行简报、KEEP/DROP 过滤,以及总结/分类。纯 Python 脚本仅负责确定性的机械工作(搜索、去重、抓取、渲染)并输出 JSON。**没有第二个模型,也不需要 API key** —— 密集的页面读取工作会被分发给 Claude Code 的 subagent,因此它永远不会淹没你的主聊天上下文。 查看 [`SKILL.md`](.claude/skills/scout-dog/SKILL.md) 了解完整的 pipeline,以及 [`references/brief-schema.md`](.claude/skills/scout-dog/references/brief-schema.md) 了解所有的配置项。 ## 安装 **选项 A — 在此 repo 中使用(最简单)。** 克隆 repo,在 repo 中打开 Claude Code,然后只需提问: ``` git clone https://github.com/apswin/scout-dog cd scout-dog claude # then: "find Reddit threads about ..." ``` `.claude/skills/scout-dog/` 中的技能会被自动发现。 **选项 B — 全局安装**,以便在任何项目中使用: ``` cp -r .claude/skills/scout-dog ~/.claude/skills/ ``` ### 首次运行 当你首次调用它时,scout-dog 会运行一次性设置:它会创建一个 virtualenv,安装基础依赖项(`ddgs`、`requests`、`beautifulsoup4`),询问一次你是否需要为 JavaScript 密集型网站启用可选的 Playwright 浏览器层,并运行一次冒烟测试。之后每次运行都会直接跳到搜索阶段。 你也可以手动运行设置: ``` bash .claude/skills/scout-dog/scripts/setup.sh # base bash .claude/skills/scout-dog/scripts/setup.sh --with-playwright # + browser ``` 要求 Python 3.9+。 ## 输出 每次运行都会在 `./runs/` 下生成自己的文件夹(已被 gitignored): ``` runs/--/ ├── brief.json the contract you agreed to ├── 01_raw.json 02_deduped.json 03_findings.json ├── findings_.md ← the deliverable you read ├── findings_.csv └── _run.md the funnel (searched → kept → fetched → snippet-only) ``` 为一次搜索提供一个 `slug`,即可将其变成一个可重复运行的 monitor:它的运行结果会累积在 `runs//` 下,并且 `_seen_urls.txt` 注册表会跳过任何已经找到的内容。 ## 调度 调度是可选的。在一次成功的运行后,该技能会询问你是否希望它自动运行,并且每次只显示新结果。如果你同意,它会在你选择的时间设置一个循环运行任务(对于更新频繁的列表为每天一次,对于内容发现为每周一次),默认使用你当地的时区。调度由 Claude Code 自带的调度器驱动——而不是脚本上的 cron——因为过滤和总结需要 Claude 的参与。你也可以随时直接要求“运行 `` monitor”。 ## 客观的局限性 有登录限制的网站(X、LinkedIn、Instagram……)在没有身份验证的情况下无法被读取,因此对于这些网站,scout-dog 会返回搜索片段并如实说明情况。可选的 Playwright 层有助于处理 JavaScript 渲染的页面,但无法突破登录限制。 ## 许可证 MIT — 见 [LICENSE](LICENSE)。
标签:Claude Code, LLM Agent, 数字取证, 特征检测, 自动化脚本, 逆向工具