Skip to main content
Glama

dsh-feed — межэкосистемная агрегационная база («агрегация агрегаций»)

Не создаёт UI напрямую, а реализует открытый уровень данных: нормализует topic dsh-plugin на GitHub и реестр npm в единый открытый JSON-индекс, отдаваемый любому Agent / CLI / MCP / будущему UI. Ваш плагин делает только «синхронизацию + запрос» — другие строят UI на основе этих данных.

Зачем это нужно

  • Существующие маркетплейсы сами собирают данные, сами их поддерживают, закрыты и дублируют друг друга. dsh-feed становится источником данных: один раз синхронизировали — доступно всей экосистеме.

  • Один плагин — три способа потребления:

    • Инструменты модели: feed_sync / feed_search / feed_stats

    • CLI: dsh-feed sync|search|stats|mcp

    • MCP server (экспериментально): любой MCP-клиент (Cursor, Claude Desktop…) может выполнять запросы.

  • Индекс — это открытый JSON-файл (по умолчанию .dsh/dsh-feed.json): открытый текст, поддерживает diff, читается любым инструментом.

Related MCP server: npm-search-mcp-server

Установка

dsh plugin --profile <profile> add dsh-feed
# 或只用 CLI(npm 全局):npm i -g dsh-feed

Использование

Со стороны модели

Инструмент

Описание

feed_sync

Получает GitHub topic + npm → записывает индекс (требуется сеть)

feed_search

Запрос к индексу на естественном языке (английские слова + китайские 2-gram)

feed_stats

Статистика индекса: общее количество, источники, популярные topic, покрытие npm

CLI

dsh-feed sync                      # 同步(可选 GITHUB_TOKEN 提升限额)
dsh-feed search "移动端 远程"      # 查询
dsh-feed stats
dsh-feed mcp                       # 极简 stdio MCP server(实验性)

Пример конфигурации MCP (любой MCP-клиент)

{ "mcpServers": { "dsh-feed": { "command": "dsh-feed", "args": ["mcp"] } } }

Формат индекса (открытый уровень данных)

{
  "updated": "2026-08-16T...",
  "sources": { "github": 200, "npm": 180 },
  "count": 380,
  "plugins": [
    { "name": "owner/repo", "url": "...", "description": "...", "stars": 42, "topics": ["dsh-plugin", "notify"], "npmName": "dsh-xxx" }
  ]
}

Дизайн

  • lib/sync.js — сбор и нормализация (GitHub search API + npm search API, можно подставить token).

  • lib/query.js — чистая логика запросов (токенизация/оценка/статистика), ноль зависимостей, юнит-тестируемый.

  • lib/index-store.js — чтение и запись индексных файлов (относительные пути + защита от выхода за пределы).

  • bin/dsh-feed.js — CLI + минималистичный stdio MCP server (JSON-RPC 2.0).

  • Безопасность: индекс записывается только в .dsh/ в рабочей области сессии; сетевые запросы происходят только в feed_sync (явный вызов).

Дорожная карта

  • Ежечасная синхронизация по расписанию (интеграция dsh-schedule).

  • Web API с эндпоинтами только для чтения + более полные инструменты MCP (пагинация/фильтрация/детали).

  • Совместное использование одного уровня данных с dsh-need-finder / dsh-recipe (устранение дублирующего сбора).

Тесты

node test/feed.test.mjs

Лицензия

MIT

Related MCP Connectors

Related MCP Servers