dsh-web
zhu1090093659
DeepSeek Harness (DSH) Web 插件聚合生态 · 万物皆插件,通过创意工坊分发||DeepSeek Harness (DSH) Web Plugin Aggregation Ecosystem · Everything is a plugin, distributed via the Creative Workshop
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:ZIye1208/dsh-github-mcp-hint
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
English · 中文
也可作为 dsh-github-mcp 的依赖被一并安装。本面板插件可独立卸载/禁用,不影响 GitHub MCP 功能。
在 DSH 的「设置 → 插件 → GitHub MCP」页展示 GitHub 示例用法,并显示你的公开仓库统计;同时提供模型工具
gh_repo_stats,可查当前账号仓库的星数、fork 与近 14 天克隆量。
localStorage,30 分钟内不重复请求,几乎不消耗 API 配额);② 优雅容错(遇到 403/429/网络失败时回退展示缓存数据并给出提示,而不是空白/报错)。token 始终不带入浏览器。gh_repo_stats / gh_current_user 获取。gh_repo_stats:宿主注册的模型工具,读取 GITHUB_TOKEN,拉取当前账号全部仓库(含私有)的星数、fork 与近 14 天克隆量(并发拉取克隆量,最多列出前 30 个的统计,避免限流;无数据 通常是该仓库无流量、无权限或已限流)。gh_current_user:显示当前 token 对应的 GitHub 账号(login),便于在对话里核对当前账号。为什么用「前端直连公开 API + 缓存降频」而不是全部走宿主:GitHub 公开仓库的星/fork 无需 token 即可读取,DSH 的宿主→前端没有干净的带 token 数据推送通道(
sessions.provide是浏览器端方法,session projection 只能折叠会话事件、无法承载外部 fetch 数据,且设置面板也拿不到useProjection;host.call对 bundled 插件被禁)。所以面板直接用浏览器直连公开 API 是最现实的可视化方案。为了防止 403:v0.3.1 加了本地缓存降频(30 分钟 TTL,几乎不消耗 GitHub 未认证 60 次/小时的配额)+ 失败回退缓存的容错。需鉴权的克隆量/私有仓库数据,仍走宿主侧带 token 的gh_repo_stats/gh_current_user。
注意:DSH 只把顶层依赖加入 profile 的 bundles 层,因此本面板插件需显式通过下方方式安装,才会在「设置 → 插件 → GitHub MCP」中出现;仅作为
dsh-github-mcp的依赖被携带不会自动显示。
dsh plugin --profile web add dsh-github-mcp-hint
dsh plugin --profile web add github:ZIye1208/dsh-github-mcp-hint
或手动:把本仓库作为本地依赖加入 profile 的 package.json(link:),加入 dsh.profile.bundles,然后重启 DSH。
本插件的「示例」和「工具」依赖 DSH 已接入 GitHub MCP。在 profile 的 cordis.patch.yml 加入:
- insert:
- id: mcp-github
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: github
transport: streamable-http
url: https://api.githubcopilot.com/mcp/
headers:
Authorization: !!js '`Bearer ${process.env.GITHUB_TOKEN}`'
failOnStartupError: false
并设置环境变量 GITHUB_TOKEN(GitHub PAT,需 repo / read:org / read:packages),然后重启 DSH。接入后 GitHub 工具以 mcp__github__* 形式出现(如 mcp__github__list_pull_requests、mcp__github__create_pull_request、mcp__github__search_repositories)。
gh_repo_stats 不在面板展示,只在对话里调用;若要含私有仓库或克隆量,用它。localStorage,30 分钟内不重复请求,几乎不消耗 GitHub 未认证 60 次/小时的配额。gh_repo_stats / gh_current_user 负责克隆量、私有仓库等需鉴权数据。sessions.provide 是浏览器端方法;session projection 只能折叠会话事件、且设置面板拿不到 useProjection;host.call 对 bundled 插件被禁),故采用「前端直连公开 API + 缓存降频」这一现实方案。api.github.com/users/{user}/repos 的未认证直连(该直连受未认证限流,超限返回 403)。gh_repo_stats:并发拉取克隆量(限 5 并发),标注「共 N 个 / 仅列前 30」,区分 429 限流 / 无权限 / 无数据。gh_current_user 模型工具:返回当前 token 对应的 GitHub 账号。mcp__github__* 未出现时的排查指引(先 github_token_status 再重启)。execCommand('copy') 兜底。gh_current_user 查询当前账号。gh_repo_stats。CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: dsh-plugin-ui。