Skip to content

dsh1024

Verified

dsh1024 · v0.5.0 · MIT · Web UI

The 1024 Store for DeepSeek Harness: in-app plugin market and tracked installer CLI.

Install

dsh plugin add dsh1024

Confirm the layer applied with dsh --profile default --dump-config — see the install guide.

Source

Tags

Creators

Readme

dsh1024

中文 | English

dsh1024 是 DeepSeek Harness 的 DSH 1024Store 包。一个 npm 包提供两个入口:

  • 店内 1024 Store 插件 —— 把 1024 Store 精选目录装进 DeepSeek Harness。安装后既可从设置左侧的 1024 Store 直接进入,也可在 设置 → 插件 → 1024 Store(插件数量) 中打开。
  • 可追踪安装 CLI —— 官方 DeepSeek Harness 插件命令的轻量、可验证包装器。 它安装目录插件,校验所选 DSH profile 确实包含该插件,并向 DSH 1024Store 统计 API 上报一条匿名安装结果。

安装 CLI

一次性全局安装后,dsh1024 就能像官方 dsh 命令一样直接使用:

npm install -g dsh1024

不想安装也可以继续用 npx dsh1024 …

安装店内插件

npm install -g dsh1024 && dsh1024 plugin --profile web add dsh1024@latest

直接用官方 CLI 是同一条命令,只是换了个名字:

dsh plugin --profile web add dsh1024@latest

安装完成后重启 DeepSeek Harness。

店内插件现在是一个稳定的本地壳,内部嵌入 https://deepseek1024.com/embed/store 实时页面。目录展示、搜索和详情可以随主站 发布,不再要求每次更新 npm 包;标题栏、版本检查、一键自更新、安装桥和加载失败 降级页仍在本地,即使远程页面无法嵌入也能工作。

嵌入网页没有 Shell 权限。带版本号的 MessageChannel 桥只接受包含目录 pluginIdinstall 意图,以及一个不带参数的 installed 只读意图;不接受命令、 URL、路径或任意参数。本地后端会重新从可信 /api/v1/registry 查询该 ID,并自行生成 官方 DSH CLI 参数数组。“已安装”视图只会收到匹配到的目录 ID 和本来就公开的目录摘要, 不会收到本机依赖名、版本、spec 或路径。每次安装仍需本地确认,写接口仍要求同源 POST, 且所有插件操作共用同一个互斥锁。插件变更会在重启 DeepSeek Harness 后生效。

自身更新优先查询 deepseek1024.com 的 /api/v1/self/update,失败时依次回退 npm registry 和仓库中的 package manifest。一键更新只会执行固定目标 dsh plugin --profile <profile> add dsh1024@<版本>,远程页面不能指定包名或版本。

店内插件有三个入口:侧边栏底部(带实时目录总数徽标,点击自开浮层)、设置页 左侧导航,以及设置 → 插件标签页。删掉任何一个都会让包的 preflight 失败。

目录会先用上一次的结果立刻渲染,然后在每次打开面板、以及窗口重新可见时静默 重新校验,新收录的插件不需要刷新按钮、也不会出现加载态就会自己出现。并发的 重新校验会合并成一次请求,失败时保持当前列表不变。

CLI 用法

需要 Node.js 22 或更高版本。

dsh1024 plugin ... 就是 dsh plugin ...,只是换了个命令名。plugin 之后的所有参数原样转发给官方 CLI —— 不增、不删、不重排、不补默认值:

dsh1024 plugin --profile web add @scope/dsh-plugin
dsh plugin      --profile web add @scope/dsh-plugin

上面两行执行的是同一个官方操作。包装器只负责它之外的事:核对结果 profile, 并记录一条匿名安装结果。

因为不补任何默认值,所有选项的行为与官方文档完全一致:不写 --profile 就照原样转发,而不是被悄悄补上;--、ref 以及其他官方参数也都保持官方语义:

dsh1024 plugin --profile web add @scope/[email protected]
dsh1024 plugin --profile web add @scope/dsh-plugin -- \
  --ignore-scripts --reporter append-only --config.confirmModulesPurge=false

包装器会在不经过 shell 的情况下把第一条示例执行为:

npx --yes @deepseek-ai/dsh plugin --profile web add @scope/[email protected]

如果 PATH 上已经装有官方 dsh,包装器会直接复用该可执行文件,省掉 npx 每次 安装的解析开销;用 DSH1024_DSH_PACKAGE 钉版本时一律走 npx 形式。改变的只是 定位官方 CLI 的方式,参数、顺序、退出码与 stdio 完全不变。

参数不会进入遥测事件或本地 receipt。

什么会被计入

包装器只读取参数向量用于归因,绝不改写它。只有在向量无歧义、且目标能解析出 目录仓库时才计入;其余情况照常安装但不计数——宁可漏记,也不错记。

向量必须写明 profile(--profile <name>--profile=<name>;官方没有 -p 简写)、使用安装类动词(addiinstall),并且装进该 profile 自己的依赖 (-D--save-dev-O--save-optional--save-peer-g--global 一律不计入)。

额外参数照常透传、行为与官方文档一致——写 --reporter append-only 之类不会 影响安装本身。它们只在一种情况下影响统计:当参数让安装目标不唯一时(一条命令 里出现两个仓库,或用了包装器不知道会带值的选项),该次安装不计入,而不是靠猜 去归因。

目标 归因为 id 来源
github:owner/repositoryowner/repository(可带 #ref.git owner/repository 参数本身
github:owner/repository#path:sub/dirowner/repository/sub/dir owner/repository/sub/dir 参数本身
dsh1024dsh1024@<版本> 本目录仓库 固定
已发布的包名(可带版本 / tag / 范围) 安装后清单里的仓库 安装成功后读 node_modules/<包名>/package.jsonrepository 字段
本地路径、file:link:portal:、URL、盘符、~ 一律不上报
gitlab:bitbucket:gist:jsr:workspace:catalog:、npm alias、完整 git URL 不计入

包名反查只读一个本地文件——已安装包自己的 repository 字段,支持 npm 的字符串 与对象两种写法,且只接受 github.com 主机。monorepo 的 directory 会成为标识里的 子目录,同仓库的兄弟包各自独立计数。字段缺失、指向非 GitHub、声明的目录越出仓库, 或安装失败无从读取时,该次安装不计入。

本地路径与 file:/link:/portal: 是硬边界:文件系统路径永远不会进入安装 事件、本地 receipt 或重试队列。

匿名安装遥测

每次通过 CLI 或店内插件安装、卸载后,都会向同一个公共端点上报一条匿名结果 事件(店内插件为 sourceChannel: dsh-1024store-plugin),并复用存放在 $DSH_HOME/.dsh-1024store/client.json 的共享匿名身份。上报为 fire-and-forget,失败静默,可通过 DO_NOT_TRACK=1DSH1024_TELEMETRY=0 (旧写法 DSH_1024STORE_TELEMETRY=0 永久兼容)或 npx dsh1024 telemetry disable 完全关闭(关闭时不会创建任何身份)。详见 docs/install-analytics.md

遥测控制命令:

npx dsh1024 telemetry status
npx dsh1024 telemetry disable
npx dsh1024 telemetry enable
npx dsh1024 telemetry reset

本地目录缓存

DSH 插件会把最近一次通过校验的公开插件目录与嵌入版目录页保存到 $DSH_HOME/.dsh-1024store/registry-cache.jsoncatalog-page-cache.json。嵌入版会先展示本地页面,同时并行请求生产 API;新数据返回后无感替换页面并更新缓存。旧数据最多保留七天。这些 文件归 dsh1024 插件所有,不包含账号或安装密钥,停止 DSH 后可安全删除。

从旧包迁移

dsh1024 取代已弃用的 @dsh-1024store/clidsh-1024store 两个 npm 包。 把 npx @dsh-1024store/cli ... 换成 npx dsh1024 ...,把 dsh plugin --profile web add dsh-1024store 换成 dsh plugin --profile web add dsh1024@latest 即可;所有命令、选项与透传行为不变。 遥测偏好、匿名身份与本地 receipt 仍存放在 $DSH_HOME/.dsh-1024store/ 下并原样复用,无需任何迁移步骤,也无需改环境变量名。

本地开发

在仓库根目录运行:

npm install
npm run market:test

把构建结果安装到隔离 profile:

DSH_HOME=/tmp/dsh-store-test dsh plugin --profile market-test add ./packages/dsh1024
DSH_HOME=/tmp/dsh-store-test dsh --profile market-test --port 14567

要把本地主站嵌进本地插件壳,可创建下面的 overlay 并在启动时传入(明文 HTTP 仅允许回环地址):

- id: dsh1024
  config:
    embedUrl: http://127.0.0.1:14568/embed/store?bridge=dsh1024-v1
DSH_HOME=/tmp/dsh-store-test dsh --profile market-test --patch ./local-store.yml --port 14567

packages/dsh1024 目录内:

npm test
npm run pack:check