npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

dsh-cnboard

v0.1.0

Published

dshweb 的 CNB 平台管理插件:以任务集为数据源,跨组织/跨仓库聚合 Issue/PR 任务看板;规划流水线与云环境管理。

Readme

DSH-CNBoard

npm version License Node TypeScript

项目地址:https://cnb.cool/xqitw/dsh-cnboard

dsh(deepseek-harness)Web 的 CNB 平台管理插件:以 CNB 任务集为数据源,跨组织、跨仓库聚合 Issue/PR 任务看板。配置仅需两项——CNB token + 任务集路径。

设计文档(含模块扩展规划:流水线管理 M2、云环境管理 M3、NPC 联动 M4)见仓库 issue: #2 总体设计 · #3 页面布局设计 · #4 API 接入基线

功能(M1 看板 MVP)

  • 跨仓库聚合看板:任务集数据范围内的全部 Issue/PR 混排一板,状态(待处理/进行中/待评审/已完成)、优先级、仓库三种分组自由切换
  • 卡片信息:类型着色(蓝=Issue / 紫=PR)、优先级章(P0 红 / P1 橙)、标签、处理人/评审人头像、评论数、相对更新时间;PR 卡含「可合并」标记
  • 过滤与搜索:类型过滤(全部/Issue/PR)+ 标题/仓库关键字
  • 详情抽屉:字段总览 + 操作位(评论/关闭/合并/召唤 NPC,M1.5 开放)+「在 CNB 打开」直达
  • 配置与体检:token + 任务集两项设置;保存即做 scope 体检(任务集/Issue/PR/流水线/云环境五类逐项探测),缺 scope 时明确提示缺哪几项、去哪补
  • 主题兼容:颜色全部使用宿主 --dsw-* 设计令牌,亮/暗/第三方主题自适应;UI 挂载于官方 settings.section 扩展点

安装

作为 dsh profile bundle 使用,推荐用 dsh 官方命令:

dsh plugin --profile web add dsh-cnboard

该命令会在 profile 目录执行 pnpm add,检测到包的 dsh.bundle 声明后自动加入 dsh.profile.bundles,重启 dsh 后设置页出现「CNBoard」页签。

配置

进入 dsh Web 设置 → CNBoard:

  1. token:CNB 访问令牌(创建入口)。授权范围建议勾选 mission-manage 及 issues/pulls 相关读写;保存后插件自动做 scope 体检并提示缺失项
  2. 任务集:看板数据源,形如 xqitw/missions。数据范围(关联哪些仓库)在 CNB 任务集设置中维护,插件不重复建设

配置落盘 ~/.dsh/cnboard.json;也可经 profile 的 cordis.patch.yml 行配置或环境变量 CNB_TOKEN 提供(优先级:设置页 > profile 配置 > 环境变量)。

架构

浏览器(settings.section 页签,lib/client.js 手写 __ModuleLoader__ 模块)
  └─ fetch /cnboard-api/*(同源)
dsh Host(src/index.ts,tsc 构建 lib/index.js)
  ├─ /cnboard-api/state       任务集 resources 聚合(游标翻页全量拉取 + 规范化)
  ├─ /cnboard-api/config      配置读写(token 不回传原文)
  ├─ /cnboard-api/healthcheck scope 体检
  └─ CNB 接入:官方 SDK node-cnb(错误统一转换为 {status, errcode, errmsg})

设计约定:

  • token 只存 Host 半区,浏览器不接触
  • 聚合读走任务集接口(平台代做跨仓库查询),单仓库写操作(M1.5)回落 issues/pulls 端点
  • POST 仅接受白名单方法、有界 JSON body;安全立场与 dsh-skills-manager 一致(宿主 webserver 既有信任边界)

开发

npm install --legacy-peer-deps
npm run build        # tsc,产出 lib/index.js(lib/client.js 为手写源码,直接维护)
npm run lint:md
npm pack --dry-run

本地调试:dsh plugin --profile web add link:/path/to/dsh-cnboard 后重启 dsh。

授权范围(scope)速查

| 能力 | 需要的 scope | |---|---| | 看板(任务集聚合查询) | mission-manage:r | | Issue/PR 读写操作(M1.5) | issues / pulls 对应读写 | | 流水线管理(M2) | build 对应读写 | | 云环境管理(M3) | workspace 对应读写 |

以插件内体检结果与 CNB 报错信息为准(官方文档未列出 scope 全集)。

License

MIT