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-mobile-theme

v0.5.0

Published

Mobile-adaptation theme plugin for the DeepSeek Harness Web surface: phone layout (overlay sidebar and fullscreen right preview, touch-size controls, safe-area insets, fullscreen settings) plus an automatic viewport theme layer stacked through the officia

Readme

dsh-mobile-theme

中文 | English

DeepSeek Harness Web 的移动端适配插件。0.5.0 对齐 DSH 0.1.5-rc.2,运行时无新增依赖,通过官方主题服务和布局服务加载一个浏览器 bundle;Node 入口只负责让插件被发现。

兼容版本

| 项目 | 本次核查基线 | |---|---| | 最新发布版 | dsh-v0.1.5-rc.2,fb2c4b9e698e30edb738bca4cf0618587db7d203 | | 上游 master | c291e7961a515f6d7af9304e7fd1d257929aef26,2026-09-10 | | 主题、布局 peer 依赖 | 精确锁定 0.1.5-rc.2 | | 旧版 DSH | 使用匹配的旧版插件;0.5.0 不承诺向后兼容 |

DSH 0.1.5 用支持标签页和文件预览的右侧 Sidebar 替换了 Details,主内容 Slot 改为 main,输入框改为 Lexical contenteditable。本次同时适配这三项变化,源码依据和验证方式见 COMPATIBILITY.md。

移动端特性

手机模式覆盖宽度 ≤767px,以及宽度 ≤900px 且高度 ≤500px 的横屏手机。768–1023px 的竖屏平板仅收紧间距,桌面保留官方布局。

| 区域 | 手机端行为 | |---|---| | 主布局 | 对话全宽,左侧图标窄轨不再占空间 | | 左侧菜单 | ☰ 打开 320px / 88vw 浮层;蒙层和 Escape 关闭;点击会话、搜索结果、新会话及全局面板导航后收起 | | 右侧预览 | 手机和横屏手机均铺满视口,保留官方标签、分栏状态和关闭控件 | | Android 返回 | 通过所属服务关闭抽屉;左菜单切换到右预览时复用同一个历史条目 | | 输入框 | 放大发送、添加按钮;模型选择器可收缩,工具栏维持单行;权限菜单不被滚动容器裁切 | | 软键盘 | 视口缩放设置、安全区与 visualViewport 避让兼容 Lexical;抑制初始加载和切换会话时的自动唤起,保留主动点击聚焦 | | 消息 | 正文可选择复制;放大操作按钮和代码复制热区;点击显示助手消息时间,4 秒后隐藏,用户消息时间常显 | | 设置 | 与菜单等宽的设置面板,分类横向滚动,内容独立纵向滚动 | | 弹层 | 目录选择器增高、操作区加大;命令/提及菜单、任务和 Cordis 弹层限制在视口内 | | 新版反馈 | 限制反馈对话框尺寸,放大操作热区 | | 主题 | 在当前主题之上叠加手机专用浅色/深色 token,同时注册 dsh-mobile OLED 深色主题 |

不改写用户的浅色/深色/跟随系统偏好,不添加模型指令、不修改模型请求、不影响 KV Cache;侧栏操作交给 DSH 原生服务,由其按原有逻辑记录 UI 状态。

安装

先使用匹配的 DSH 0.1.5-rc.2(本次核查时位于 npm 的 next 标签)。在插件仓库目录执行:

npm run build
dsh plugin --profile web add "dsh-mobile-theme@file:$PWD"
dsh web

插件 0.5.0 发布到 npm 后,可改用 dsh plugin --profile web add [email protected]。安装后重启 Web profile。控制台检查 document.body.dataset.dshMobileTheme 应为 0.5.0,document.body.dataset.dshMobileLayout 应为 ok。

卸载:dsh plugin --profile web remove dsh-mobile-theme,然后重启。

开发与验证

npm run build
npm test
npm run deploy:hot

# 指向已安装的官方 DSH 0.1.5-rc.2 包:
DSH_NODE_MODULES=/path/to/dsh/node_modules npm run check:upstream

src/client.css 使用 .dsh-Module_local 别名,src/selectors.json 指定所属包和样式文件。浏览器从官方 data-plugin-css 样式标签解析当前类名,跟踪延迟加载和 HMR,并将适配样式放在官方样式之后。局部类名消失时仅停用对应规则,不再写死旧的 CSS 哈希。

关键布局依赖经过校验的 sidebar、main、rightbar 列和插件自有属性,接受浏览器规范化后的 minmax(0px, 1fr)。结构不匹配时清理旧标记、隐藏悬浮菜单按钮,保留官方布局,并设置 degraded 诊断。卸载 fiber 时回收样式、标记、监听器、定时器和主题注册。

deploy:hot 将构建结果复制到 $DSH_HOME/profiles/web/node_modules/dsh-mobile-theme/lib/client.js,由 DSH 的 HMR 触发更新;不会发布插件或升级 DSH。

已知限制

  • 上游的样式文件名、局部类名、Slot 结构和服务方法尚未稳定;每次升级都应执行 check:upstream 和 REGRESSION.md。
  • 静态打包的 Markdown 代码复制按钮没有插件样式标签,使用限制在消息区域内的局部名称模式匹配。
  • 抽屉上方若出现应用自己的历史条目,UI 关闭抽屉不会消费它;较早的抽屉标记可能留待后续返回操作处理。
  • 自动化浏览器不能代替真机软键盘、输入法、iOS 安全区和 Android 系统返回手势验收。