packages/dsh-plugin-manager
zhu1090093659/dsh-web设置 → 插件 分区里的插件管理 Tab:从 npm/git 安装带进度、下次启动生效的启停开关、安装冲突对账可撤销、失败一键转交修复会话。
跨生态聚合数据层("聚合的聚合"):把 GitHub dsh-plugin 主题与 npm registry 归一化为开放 JSON 索引,供模型工具、CLI 与轻量 stdio MCP 服务查询。
不直接做 UI,做开放数据层:把 GitHub dsh-plugin topic 和 npm registry 归一化成一份开放 JSON 索引,交给任何 Agent / CLI / MCP / 未来 UI 消费。你的插件只做"同步 + 查询"——别人基于这份数据再建 UI。
dsh-feed 成为数据源:同步一次,全生态可查。feed_sync / feed_search / feed_statsdsh-feed sync|search|stats|mcp.dsh/dsh-feed.json),明文、可 diff、可被任何工具读。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 覆盖 |
dsh-feed sync # 同步(可选 GITHUB_TOKEN 提升限额)
dsh-feed search "移动端 远程" # 查询
dsh-feed stats
dsh-feed mcp # 极简 stdio MCP server(实验性)
{ "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 接入)。node test/feed.test.mjs
MIT