agent-asearch

agent
Guvenlik Denetimi
Basarisiz
Health Uyari
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 5 GitHub stars
Code Basarisiz
  • child_process — Shell command execution capability in bin/asearch.js
  • execSync — Synchronous shell command execution in bin/asearch.js
  • process.env — Environment variable access in bin/asearch.js
  • fs module — File system access in bin/asearch.js
  • child_process — Shell command execution capability in scripts/install.js
  • spawnSync — Synchronous process spawning in scripts/install.js
  • fs.rmSync — Destructive file system operation in scripts/install.js
  • process.env — Environment variable access in scripts/install.js
  • fs module — File system access in scripts/install.js
  • child_process — Shell command execution capability in scripts/release-contract-test.js
  • execSync — Synchronous shell command execution in scripts/release-contract-test.js
Permissions Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

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.

README.md

asearch

CI
GitHub Release
npm
License: MIT

Язык: Русский | English

Поисковый CLI для LLM-агентов. Одна команда — 18 источников.

asearch ищет одновременно в вебе, Hacker News, Reddit, GitHub, YouTube, X/Twitter и коде, а также через Tavily, Exa, Brave и ещё 6 API. Не засоряет контекст агента: сначала возвращает компактные метаданные, потом агент читает только нужные страницы через пагинацию. Один Go-бинарь, единственная зависимость — Cobra.

asearch architecture

Быстрый старт

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 ✅ встроен Guest API (анонимно) или Bearer Token: asearch config set twitter "..."

Команды

  • 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 поиск — встроенный Guest API (анонимно) или опциональный X API Bearer Token для надёжности.
  • 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.

Yorumlar (0)

Sonuc bulunamadi