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

@cloudbase/dsh-plugin

v0.2.3

Published

CloudBase backend for DeepSeek Harness — database, storage, authentication, and frontend/backend deployment

Readme

@cloudbase/dsh-plugin

在 DeepSeek Harness 里,从一句话到可用的全栈应用。

你在 DSH 里 vibecoding 时,最烦的事是什么?模型很聪明,但写完代码没地方跑——数据库要开控制台建、文件要自己传、部署要切去另一个网站。一离开对话,心流就断了。

@cloudbase/dsh-plugin 把 CloudBase 后端搬进 DSH:

  • 数据库:文档库和 PostgreSQL,对话里建表和查询
  • 存储与认证:上传文件,配置登录
  • 前后端部署:前端托管和后端部署,拿到可访问地址

你的模型(DeepSeek / Claude / 随便换)、你的后端(自己的 CloudBase 环境)、你的数据(本地会话 + 自己数据库)。

CloudBase backend for DeepSeek Harness. Compatible with DSH >=0.1.0-rc.6 <0.3.0 (verified on 0.2.0-rc.2) · Node >=18 · MCP tools follow @cloudbase/cloudbase-mcp@latest.

安装

Web UI(含工具卡片):

curl -fsSL https://raw.githubusercontent.com/TencentCloudBase/CloudBase-AI-Toolkit/main/dsh-plugin/scripts/install.sh | bash

或手动:

dsh plugin --profile web add @cloudbase/dsh-plugin
# pnpm ≥9 默认禁止依赖 install 脚本(protobufjs 会失败)
echo "enable-scripts=true" >> ~/.dsh/profiles/web/.npmrc
(cd ~/.dsh/profiles/web && pnpm install)
# UI 插件需要重建 DSH web 前端
pnpm --dir "$(dirname "$(dirname "$(command -v dsh)")")" run build:web || true
dsh --profile web

Headless(只要 MCP 工具,不要前端构建):

dsh plugin --profile headless add @cloudbase/dsh-plugin
dsh --profile headless "列出所有 mcp__cloudbase__ 工具"

登录(device-code,无需 API Key)

插件不传任何 CloudBase env、不传 API Key,登录走 cloudbase-mcp 自身的 device-code 流程(本机已有 tcb login 登录态时直接复用)。无登录态时,对模型说:

调用 mcp__cloudbase__auth,action=start_auth,authMode=device,把 verification URL 给我。

浏览器授权一次后登录态持久化。再用 mcp__cloudbase__auth(action=set_env)选择环境,后续工具自动使用该环境。

功能

| 能力 | 说明 | |---|---| | MCP 桥 | 注册 mcp__cloudbase__*(与 @cloudbase/cloudbase-mcp 工具集一致,当前 38 个) | | DataTableCard | queryPgDatabase / queryMysqlDatabase / readNoSqlDatabaseContent 结果表格:分页、排序、复制 JSON、导出 CSV | | DeployPreviewCard | manageHosting upload 后 iframe 预览真实域名 + 打开按钮 | | 交付物行 | 会话尾部展示产物路径 + 域名 | | Sites skill | downloadTemplate(react) → Vite → 建表 → manageHosting → 域名 |

写操作(SQL / 上传 / 删行)一律注入会话,由模型按 DSH approval 执行,插件 UI 不绕过权限模型。

注意事项

  1. pnpm v9+ 默认禁止依赖 install 脚本:必须 enable-scripts=true 后再 pnpm install(一键脚本已包含此步)。
  2. Web UI 插件要重建 DSH web 前端:装完看不到卡片时,从 DSH 安装目录执行 pnpm run build:web 再重启;Headless 不需要。
  3. 首次 npx 拉包可能 10–90s:headless 首轮工具列表可能为空,重试即可。
  4. 不要给插件配置 CLOUDBASE_API_KEY:无效 Key 会挡住 device-code 登录。登录与环境选择全部走 mcp__cloudbase__auth。
  5. 技能由插件注册,不拷进 ~/.dsh/skills。环境用 auth 的 set_env 绑定,用 action=status 查看。插件不会按会话自动改环境。

隐私

凭据只存本机(tcb 登录态或 ~/.dsh/.credentials.yaml,权限 600),插件不上传密钥,读操作只访问你自己的 CloudBase 环境。

开发

cd dsh-plugin
npm install
npm test          # vitest 单测
npm run build     # dist/index.js(Host)+ dist/client.js(Web ModuleLoader factory)
npm run e2e:live  # 需要网络 + 本机 tcb 登录态

除 peer(cordis / react)外运行时 0 依赖。

License

MIT


English

CloudBase backend for DeepSeek Harness. Database, storage, authentication, and frontend/backend deployment from chat, through the CloudBase MCP tools.

Install

Web UI:

curl -fsSL https://raw.githubusercontent.com/TencentCloudBase/CloudBase-AI-Toolkit/main/dsh-plugin/scripts/install.sh | bash

Headless (MCP bridge only, no frontend rebuild):

dsh plugin --profile headless add @cloudbase/dsh-plugin

Login

No env and no API key are forwarded — login goes through cloudbase-mcp's device-code flow (reuses local tcb login state). If unsigned, ask the model to call mcp__cloudbase__auth with action=start_auth, authMode=device, then pick an environment with action=set_env.

Notes

  1. pnpm v9+ blocks dependency install scripts — set enable-scripts=true first (the one-shot script handles this).
  2. Web UI plugins require rebuilding the DSH frontend: pnpm run build:web in the DSH install dir. Headless does not.
  3. First npx fetch can take 10–90s; retry the headless turn if tools are missing.
  4. Never configure CLOUDBASE_API_KEY — an invalid key blocks device-code login.
  5. The CloudBase skill is registered by the plugin and is not copied into ~/.dsh/skills. Bind an environment with auth set_env, and inspect it with action=status. The plugin does not rebind the environment when the chat session changes.

Privacy

Credentials stay local (tcb login state or ~/.dsh/.credentials.yaml, mode 600). The plugin does not upload secrets.

License

MIT