Back to home@maxsaltshen

dsh-plugin-sources

No description

Stars
0
Language
JavaScript
Created
Aug 26, 2026
Updated
Aug 26, 2026

Introduction

dsh-plugin-sources 🏷️

插件来源分类页 for DeepSeek Harness Web GUI —— 在设置页按来源分组展示所有已配置插件,带说明、搜索与点击筛选。

来源判定规则颜色
🔵 官方@deepseek-ai/* 作用域
🟣 第三方其他作用域包(如 @scope/*
🟢 自定义本地安装/非作用域包绿

✨ 功能

  • 📊 分类统计徽章:官方 / 第三方 / 自定义 / 全部,点击即可筛选只显示对应类型
  • 🔍 搜索:按插件名称、entry ID 或说明文字过滤
  • 📝 插件卡片:来源标签 + 完整包名 + entry ID + 启用状态点 + 包说明(自动读取 package.json 的 description)
  • 🚫 纯只读:仅浏览分类,不做任何启停操作,安全无副作用

🚀 安装 / Install

方式一:GitHub 安装(推荐)

dsh plugin --profile web add github:maxsaltshen/dsh-plugin-sources

方式二:npm 安装(需先发布到 npm)

⚠️ 包尚未发布到 npm registry 前,此方式不可用(dsh plugin add 会报找不到包)。 发布后即可使用:

dsh plugin --profile web add dsh-plugin-sources

方式三:手动安装

  1. 把包复制到 profile 的 node_modules:

    # hoisted 布局(web profile)
    cp -r dsh-plugin-sources "$HOME/.dsh/profiles/node_modules/"
    
  2. ~/.dsh/profiles/web/cordis.patch.yml 追加:

    - insert:
        - id: plugin-sources
          name: 'dsh-plugin-sources'
    
  3. 重启 dsh web(或刷新页面)。

🔧 使用 / Usage

打开 设置 → 插件来源

  • 顶部徽章显示各类插件数量,点击筛选
  • 搜索框按名称/说明过滤
  • 每个插件卡片显示来源标签、包名、状态与说明

🛠 工作原理 / How it works

  • Host half (lib/index.js):注册 GET /dsh-plugin-sources/api/list 路由,读取 Cordis loader 的全部条目,并解析每个包 package.jsondescription
  • Client (lib/client.js):注册进 settings.section 槽位(设置页),通过 fetch 调用 Host 路由渲染分类列表
  • 判定规则@deepseek-ai/* → 官方;其他 @scope/* → 第三方;无作用域 → 自定义

📦 项目结构 / Structure

lib/
├── index.js        # host half: /dsh-plugin-sources/api/list 路由
├── client.js       # client: 设置页分类 UI(__ModuleLoader__ 格式)
└── types/index.d.ts

🤝 开源 / License

MIT —— 自由使用、修改、分发。

Build against @deepseek-ai/dsh 0.1.1-rc.2, React 18.3.