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

@qingshanyuluo/dsh-client-ui-mobile

v0.1.3

Published

DeepSeek Harness mobile shell adaptation: zero-space sidebar drawer, floating hamburger pill, tighter conversation gutters. Ships as a real dsh client plugin.

Readme

dsh-mobile-ux

DeepSeek Harness Web GUI 的移动端体验增强套件:手机上看(或窄窗口)时,侧边栏收成悬浮按钮、内容占满全屏、留白收紧;并可把 DSH 通过 Cloudflare 隧道发布成带密码的公网地址、用极简 Android App 全屏访问。

三件套,可单独使用:

| 组件 | 目录 | 作用 | | --- | --- | --- | | 移动端 UI 插件 | client.js / styles/mobile.css | ≤1023px 时:侧边栏 0 占用 + 悬浮汉堡按钮 + 抽屉 + 收紧留白(纯 CSS,不改 dsh) | | Cloudflare 隧道 | tunnel/ | Caddy 密码网关 + cloudflared 临时隧道,launchd 开机自启,地址变化自动记录 | | Android App | apk/ | 全屏 WebView 打开隧道地址,记住用户名密码,免密码弹窗 |

移动端插件

窗口/设备宽度 < 1024px 时自动生效:

  • 三列栅格改为全宽中列;侧边栏与 details 不再占布局;
  • 折叠的侧边栏变成左上角 56px 悬浮汉堡按钮,点击弹出 280px 抽屉(带遮罩);
  • 对话区左右留白 32px → 12px;触屏隐藏拖拽手柄;
  • 桌面宽度(≥1024px)行为不变。

已知限制:手机端 details 面板无法打开(壳的列宽计算在窄屏强制为 0,纯 CSS 无法覆盖 JS 逻辑);会话头部的轨迹视图可作为替代。

作为临时动态插件使用

在 DSH 会话里让 agent 用 Cordis 动态插件机制定义/激活 client.js 的内容(styles.insert),效果与会话同生命周期,重启 dsh 后失效。

作为正式 dsh 插件安装(推荐)

见 docs/dsh-plugin.md:把它装进 ~/.dsh/profiles/<profile>/node_modules,在 cordis.patch.yml 加一行,重启 dsh web 即永久生效,不再依赖会话。

⚠️ CSS 选择器(.pI_x6G_*、.wSkVaW_*、.Md3f7G_* 等)来自特定前端构建产物,@deepseek-ai/dsh-web-frontend / dsh-client-ui-* 升级后需重新提取对齐。

Cloudflare 隧道

无需域名:本地运行 cloudflared tunnel --url http://127.0.0.1:3081(随机 *.trycloudflare.com 地址)+ Caddy 密码网关。地址每次进程重启会变化,机制上无法固定;要固定地址请使用自己的域名(加进 Cloudflare 后走命名隧道,本套件不含该部分)。

brew install caddy cloudflared
bash tunnel/install.sh        # 交互设置密码,安装 launchd 服务并启动
cat ~/.dsh/public-tunnel/url.txt   # 当前公网地址
  • 公网地址(带密码)→ Caddy(127.0.0.1:3081,仅本机监听)→ dsh web(127.0.0.1:3080);
  • Caddy 统一改写 Host/Origin 为回环地址,通过 dsh 的 /api 浏览器信任围栏(防 DNS 投毒),无需改 dsh 配置;
  • 密码保存在 ~/.dsh/public-tunnel/Caddyfile(bcrypt),不要把真实密码提交到 git;
  • 管理:改密码或重启 launchctl kickstart -k gui/$(id -u)/com.dsh.public-tunnel;卸载 launchctl bootout gui/$(id -u) ~/Library/LaunchAgents/com.dsh.public-tunnel.plist。

Android App(DSHViewer)

极简 WebView 壳:

  • 全屏加载隧道地址,Basic Auth 自动填入(记住用户名/密码,永不弹密码框);
  • 首次打开填写:网页地址、用户名、密码;之后用右下角半透明 ⚙ 修改;
  • 返回键 = 网页后退。

构建(需要 JDK 17+、Android SDK、Gradle;macOS/Homebrew):

brew install --cask android-commandlinetools gradle
export ANDROID_HOME=/opt/homebrew/share/android-commandlinetools
yes | sdkmanager --sdk_root="$ANDROID_HOME" --licenses
sdkmanager --sdk_root="$ANDROID_HOME" "platform-tools" "platforms;android-35" "build-tools;35.0.0"
cd apk && bash build.sh    # 产物:app/build/outputs/apk/debug/app-debug.apk

安装:把 APK 传到手机打开(允许未知来源),填写地址/密码。

安全提醒

  • 公网地址是完整 Harness(可执行命令),仅给信任的人;
  • 隧道密码为共享口令,定期更换;想更强可用自己的域名 + Cloudflare Access(邮箱验证码,按人审计);
  • 本仓库不含任何真实密码/地址。

License

MIT