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-settings-organizer

v0.1.3

Published

Low-intrusion Settings presentation layer for DSH: group plugins, hide single settings / whole plugins, search settings, and restore hidden items — entirely through DSH's additive client-slot + settings-namespace seams.

Readme

🧰 DSH Settings Organizer(DSH 设置整理器)

为 DeepSeek Harness(DSH)打造的低侵入式设置展示层**:分组、折叠、隐藏、搜索与恢复设置 —— 全程绝不改动其他插件的配置。**

English · 简体中文

npm version license


✨ 亮点

| 图标 | 功能 | 一句话 | |:---:|---|---| | 🗂️ | 按插件分组 | 每个插件的设置渲染为一个可折叠分组 | | 🎚️ | 折叠 / 展开 | 按分组独立,状态持久化,重启不丢 | | 🙈 | 想藏就藏 | 隐藏单个设置,或整个插件的设置 | | 🔍 | 搜索 | 匹配 label / key / path / 插件名 / 描述;无视折叠状态 | | ↩️ | Manage Hidden | 一键恢复单个字段、整个插件或全部 | | 🧹 | 零副作用 | 不碰其他插件配置,卸载无残留 |


🚀 30 秒上手

1️⃣ 安装插件(一条命令,见下)
2️⃣ 重启 DSH
3️⃣ 打开 设置 → "Settings Overview"
4️⃣ 折叠不关心的分组 → 搜索 → 隐藏噪音 → 完事

📥 安装

dsh plugin --profile web add dsh-settings-organizer@latest --config.auto-install-peers=false

💡 --config.auto-install-peers=false 跳过几个未发布到公共 registry 的 DSH 核心包(由 DSH 运行时提供)。

🐛 @latest 解析到旧版本? 这是 pnpm 11 的 minimumReleaseAge 供应链策略(发布不足约 30 天的版本会被排除出版本解析)。先装一次精确版本即可自动加白名单,之后 @latest 正常:

dsh plugin --profile web add [email protected] --config.auto-install-peers=false

或彻底关闭年龄门槛——在 profile 的 pnpm-workspace.yaml 顶部添加 minimumReleaseAge: 0(PowerShell 一键):

$f = "$env:USERPROFILE\.dsh\profiles\web\pnpm-workspace.yaml"
$c = Get-Content $f -Raw
if ($c -notmatch '(?m)^minimumReleaseAge:') {
  Set-Content -LiteralPath $f -Value ("minimumReleaseAge: 0`n" + $c) -Encoding utf8
  Write-Output "已添加 minimumReleaseAge: 0"
} else {
  Write-Output "已存在,无需修改"
}

🧩 它能做什么

新增、可叠加的 Settings 区块("Settings Overview")加一个头部 "Manage Hidden" 动作注册:

  1. 插件分组 —— settings.describe() 的每个设置 namespacens)渲染为一个可折叠分组。
  2. 折叠 / 展开 —— 按分组独立,折叠状态持久化
  3. 隐藏单个设置 —— 从概览中移走某个字段(纯展示)。
  4. 隐藏整个插件 —— 隐藏某个分组下的全部字段。
  5. 搜索 —— 匹配 label / key / path / 插件名 / 描述;搜索无视折叠状态;命中隐藏项显示 "Hidden · Restore" 提示,且绝不自动恢复显示
  6. Manage Hidden —— 头部动作弹窗,可恢复单个字段、整个插件或全部。

🛡️ 安全保证

  • 隐藏 ≠ 禁用 ≠ 删除。 隐藏只修改我们自己的展示列表——其他插件的配置永远不会被 update / replace / unregister。
  • 卸载零残留。 本插件的注册全部挂在自己的 cordis fiber 上;禁用/移除后,所有设置页恢复 DSH 出厂原状。
  • 不动 DSH Core。 不做 DOM monkey-patch、不用脆弱 CSS 选择器、不碰私有状态——只走官方 settingssettingsScopeslots 接缝。
  • 脏数据免疫。 失效的持久化状态在进入视图前会被清洗,既不会崩溃也不会误写。

🔄 兼容性

  • DSH web profile,需 settings 域(dsh-client-ui-settings / -general 外壳)、client runtime/slots 与 locale 插件。
  • 依赖面:@deepseek-ai/dsh-client-* ^0.1.0-rc.6@deepseek-ai/cordis ^4.0.1react ^18.2.0

❓ 常见问题

Q: 隐藏设置会改它的值吗? 不会。隐藏只修改本插件自己的展示列表;设置的值和所属插件的配置原封不动。

Q: 卸载插件会弄坏我的设置吗? 不会。注册全部挂在本插件的 cordis fiber 上,移除即整体销毁,其他插件页面恢复出厂。

Q: 折叠状态会保存吗? 会——持久化在共享设置文档(~/.dsh/settings.yaml)里本插件的 namespace 下。

Q: 搜索会把隐藏的项翻出来吗? 不会。隐藏项绝不自动恢复显示——只会看到 "Hidden · Restore" 提示,由你主动恢复。

Q: 插件很多时好用吗? 好用。分组懒渲染,折叠即清净,搜索直达目标。


📋 已知限制

隐藏只作用于概览页:DSH 在其他插件自己的设置页里没有字段级渲染器,所以在这里隐藏的字段,在所属插件页面仍会出现。要在概览之外隐藏,需要上游的可选 Core 扩展点(见文档)。


👩‍💻 给开发者

  • DEVELOPERS.md —— 构建 / 类型检查 / tag 触发的全自动发布流水线(npm OIDC Trusted Publishing + 带自动变更记录的 GitHub Release)。
  • 规范与架构 —— docs/dsh-settings-tidy.mddocs/phase-a/architecture.mddocs/phase-a/rfc-option-c-section-filter.md(硬性不变量、挂载与打包、状态模型)。

📄 许可证

MIT —— 见 LICENSE