Skip to main content
Glama

dsh-feed — Ökosystemübergreifende Aggregationsbasis („Aggregation der Aggregationen")

Statt einer direkten UI bietet es eine offene Datenschicht: Es normalisiert das GitHub-dsh-plugin-Topic und die npm-Registry zu einem offenen JSON-Index, der von jedem Agent / CLI / MCP / zukünftiger UI konsumiert werden kann. Dein Plugin macht nur „Sync + Query" – andere bauen auf dieser Datenbasis dann UIs.

Warum man es braucht

  • Die bestehenden Marktplätze sammeln und pflegen ihre Daten jeweils selbst; sie sind proprietär und redundant. dsh-feed wird die Datenquelle: einmal synchronisieren, im gesamten Ökosystem abfragbar.

  • Ein Plugin, drei Nutzungsmöglichkeiten:

    • Modell-Tools: feed_sync / feed_search / feed_stats

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

    • MCP-Server (experimentell): Jeder MCP-Client (Cursor, Claude Desktop …) kann den Index abfragen

  • Der Index ist eine offene JSON-Datei (standardmäßig .dsh/dsh-feed.json), Klartext, diff-fähig und von jedem Werkzeug lesbar.

Related MCP server: npm-search-mcp-server

Installation

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

Verwendung

Modellseite

Tool

Beschreibung

feed_sync

Holt GitHub-Topic + npm → schreibt Index (Netzwerk erforderlich)

feed_search

Index per natürlicher Sprache abfragen (englische Wörter + chinesische 2-Gramme)

feed_stats

Index-Statistik: Gesamtzahl, Quellen, beliebte Topics, npm-Abdeckung

CLI

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

MCP-Konfigurationsbeispiel (beliebiger MCP-Client)

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

Indexformat (offene Datenschicht)

{
  "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" }
  ]
}

Design

  • lib/sync.js — Abruf + Normalisierung (GitHub-Such-API + npm-Such-API, mit injizierbarem Token).

  • lib/query.js — Reine Abfragelogik (Tokenisierung/Bewertung/Statistik), ohne Abhängigkeiten, einzeln testbar.

  • lib/index-store.js — Lesen/Schreiben der Indexdatei (relative Pfade + Schutz vor Escape-Versuchen).

  • bin/dsh-feed.js — CLI + minimalistischer stdio-MCP-Server (JSON-RPC 2.0).

  • Sicherheit: Der Index wird nur in .dsh/ im Sitzungsarbeitsbereich geschrieben; Netzwerkzugriffe erfolgen nur bei feed_sync (explizit ausgelöst).

Roadmap

  • Stündliche geplante Synchronisierung (Anbindung an dsh-schedule).

  • Web-API-Nur-Lese-Endpunkte + umfassendere MCP-Werkzeuge (Paginierung/Filter/Details).

  • Dieselbe Datenschicht mit dsh-need-finder / dsh-recipe teilen (doppeltes Abrufen vermeiden).

Tests

node test/feed.test.mjs

Lizenz

MIT

Related MCP Connectors

Related MCP Servers