Show HN: agent-asearch – Go CLI, 18 sources, session-based search for AI agents
agent-asearch is a multi-source search CLI for LLM agents, supporting 18 sources with a session-based workflow to reduce token consumption. Users get compact metadata first, then paginated reading. Some sources work without API keys.
Notifications You must be signed in to change notification settings
Fork 1
Star 3
BranchesTags
Open more actions menu
Folders and files
NameName
Last commit message
Last commit date
Latest commit
History
32 Commits
32 Commits
.githooks
.githooks
.github/workflows
.github/workflows
bin
bin
cmd/asearch
cmd/asearch
docs
docs
internal
internal
scripts
scripts
.gitignore
.gitignore
.goreleaser.yaml
.goreleaser.yaml
AGENT_INSTRUCTIONS.en.md
AGENT_INSTRUCTIONS.en.md
AGENT_INSTRUCTIONS.md
AGENT_INSTRUCTIONS.md
LICENSE
LICENSE
README.en.md
README.en.md
README.md
README.md
SYSTEM_PROMPT_snippet.md
SYSTEM_PROMPT_snippet.md
go.mod
go.mod
go.sum
go.sum
package.json
package.json
Repository files navigation
Язык: Русский | English
Поисковый CLI для LLM-агентов. Одна команда — 18 источников.
asearch ищет одновременно в вебе, Hacker News, Reddit, GitHub, YouTube, X/Twitter и коде, а также через Tavily, Exa, Brave и ещё 6 API. Не засоряет контекст агента: сначала возвращает компактные метаданные, потом агент читает только нужные страницы через пагинацию. Один Go-бинарь, единственная зависимость — Cobra.
Быстрый старт
npm i -g agent-asearch
Zero-config — работает сразу, ничего не нужно
asearch open --query "claude code plugins" --source hn,reddit
Web поиск — DDG + Wikipedia + Bing, тоже без ключей
asearch open --query "claude code plugins" --source web
Поиск по коду — gh search code
asearch open --query "error handling golang" --source code
API-ключи сохраняются в конфиг (не нужны env var)
asearch config set tavily "tvly-..." # tavily.com asearch config set exa "..." # exa.ai
С ключом — полноценный веб-поиск
asearch open --query "claude code plugins" --source web,hn,reddit,github
open возвращает session id и next_commands:
{ "ok": true, "sid": "a1b2c3d4", "session": "claude-code-plugins", "query": "claude code plugins", "sources": ["web", "hn", "reddit"], "total": 42, "next_commands": { "read": "asearch results read -s a1b2c3d4 --limit 20", "filter": "asearch results filter -s a1b2c3d4 --source reddit", "close": "asearch session close -s a1b2c3d4" } }
Дальше работайте через results:
asearch results read -s a1b2c3d4 --seq 1 --limit 20 asearch results filter -s a1b2c3d4 --source reddit asearch results read -s a1b2c3d4 --raw | head -50 asearch session close -s a1b2c3d4
Что делает open
asearch open:
парсит --source и выбирает доступные поисковые бэкенды;
для web пробует: SearXNG → DDG → Wikipedia → Bing → API-ключи;
запускает поиск параллельно по всем выбранным источникам;
сохраняет результаты локально для пагинированного чтения;
возвращает sid, total, и next_commands для продолжения workflow.
Источники
Источник Статус Что нужно
Источник Статус Что нужно
---------- :------: -----------
web ✅ DDG → Wikipedia → Bing HTML-скраппинг (без ключа)
hn ✅ Algolia HN Search API (бесплатно, без ключа)
reddit ✅ куки Куки из браузера в ~/.asearch/reddit-cookies.txt
github ✅ gh CLI
code ✅ GitHub code search (через gh)
youtube ✅ куки Куки в ~/.asearch/youtube-cookies.txt
jina ✅ URL → markdown reader (jina.ai, без ключа)
searxng 🐳 docker run searxng/searxng + ASEARCH_SEARXNG_URL
tavily 🔑 asearch config set tavily ... — AI-ответы
exa 🔑 asearch config set exa ... — нейро/семантический
brave 🔑 asearch config set brave ... — 35B-страниц
serper 🔑 Google SERP (2500 бесплатно/мес)
serpapi 🔑 40+ поисковиков
perplexity 🔑 AI-ответы с цитатами
you 🔑 You.com поиск
firecrawl 🔑 JS-рендеринг страниц
parallel 🔑 Parallel.ai поиск
twitter 🔧 pipx install twitter-cli (API временно сломан)
Команды
asearch open --query Q --source SRC — запуск поисковой сессии.
asearch results read -s SID --seq N --limit M — пагинированное чтение.
asearch results filter -s SID --source SRC — фильтр по источнику.
asearch session list|close|gc — управление сессиями.
asearch config set|get|show — управление API-ключами.
asearch reddit sub|read|info — просмотр Reddit.
asearch doctor — проверка доступных бэкендов.
asearch update — самообновление.
asearch completion bash|zsh|fish — shell completion.
asearch prompt — инструкция для LLM-агента.
asearch version — версия и метаданные.
Экономия токенов
Сначала смотрите метаданные, потом читайте нужные страницы:
asearch open --query "rust async benchmarks" --source web,hn
→ {"ok":true,"sid":"...","total":42,...}
asearch results read -s SID --seq 1 --limit 10 asearch results read -s SID --seq 11 --limit 10 asearch results filter -s SID --source hn
--raw используйте для пайпов или точного вывода:
asearch results read -s SID --raw | grep "tokio"
Примеры для agent CLI
Вставьте эту инструкцию в Codex, Claude Code, OpenCode или другой terminal agent перед поисковой задачей:
Используй asearch для поисковых задач.
Если нужен веб-поиск, сначала проверь API-ключи: asearch doctor
Для быстрого поиска без ключей используй hn и reddit: asearch open --query "твой запрос" --source hn,reddit
Для полноценного веб-поиска установи ключ: export TAVILY_API_KEY="tvly-..." asearch open --query "твой запрос" --source web,hn,reddit,github
Сохрани returned sid. Читай результаты маленькими страницами: asearch results read -s SID --seq 1 --limit 20
Фильтруй по источнику перед чтением: asearch results filter -s SID --source reddit
Для пайпов используй --raw: asearch results read -s SID --raw | head -50
Всегда закрывай сессию: asearch session close -s SID
Короткие варианты для популярных CLI:
Codex: Используй asearch для поиска. Начни с asearch doctor, затем asearch open --query "..." --source web,hn. Сохрани sid, читай через asearch results read -s SID --seq 1 --limit 20, фильтруй через asearch results filter -s SID --source reddit. Закрывай сессию.
Claude Code: Перед поиском установи/запусти asearch. Используй asearch open --query "..." --source web,hn,reddit, сохрани returned sid, читай результаты постранично через asearch results read, фильтруй по источнику, закрывай сессию.
OpenCode: Используй asearch open, затем asearch results read/filter с returned sid. Не смешивай sid разных поисковых сессий. Запускай asearch doctor для проверки бэкендов.
Безопасность
Поисковые запросы не пишутся в audit logs.
Сессии и результаты хранятся локально в ~/.asearch/.
GitHub токен читается из GITHUB_TOKEN или GH_TOKEN.
API-ключи принимаются только через env-переменные. Флагов --api-key нет.
Jina Reader работает без ключа (rate-limited), с ключом снимает лимиты.
Плюсы
Одна команда для поиска по 10 источникам.
JSON-ответы стабильны для парсинга агентом.
Токен-эффективный: метаданные сначала, чтение постранично.
Session-based workflow — sid и next_commands как у assh и aget.
5 источников работают без API-ключей (hn, reddit, github, jina, web-авто).
Расширяемая архитектура: каждый источник — отдельный Go-бэкенд.
Go single binary — без Python, без Node, без Docker.
Ограничения
web без API-ключа показывает инструкцию по получению ключа, а не результаты.
Reddit public JSON может рейт-лимитить без кук (сохраните куки в ~/.asearch/reddit-cookies.txt).
Twitter требует twitter-cli с cookie-аутентификацией.
YouTube работает через куки браузера (сохраните в ~/.asearch/youtube-cookies.txt).
Ручная установка
npm i -g agent-asearch ставит wrapper, который скачивает подходящий Go-бинарь из GitHub Releases. Архивы можно скачать вручную:
https://github.com/izzzzzi/agent-asearch/releases
Или соберите из исходников:
git clone https://github.com/izzzzzi/agent-asearch cd agent-asearch go build -o asearch ./cmd/asearch
English
See README.en.md.
About
Multi-source search CLI for LLM agents — web, HN, Reddit, GitHub, Tavily, Exa, Brave, Jina, YouTube, Twitter. Go single binary. Session-based workflow with JSON contract.
Topics
github
search
agent
cli
golang
search-engine
youtube
meta-search
hackernews
cli-tool
web-search
multi-source
exa
session-based
ai-agent
brave-search
llm
tavily
agent-tools
Resources
Readme
License
MIT license
Uh oh!
There was an error while loading. Please reload this page.
Activity
Stars
3 stars
Watchers
0 watching
Forks
1 fork
Report repository
Releases 3
v0.3.1
Latest
Jun 7, 2026
+ 2 releases
Packages 0
Uh oh!
There was an error while loading. Please reload this page.
Contributors
Uh oh!
There was an error while loading. Please reload this page.
Languages
Go 93.8%
JavaScript 5.5%
Shell 0.7%