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-ops-console

v0.7.1

Published

DeepSeek Harness 的简洁远程访问面板:准备 Tailscale 入口、检查就绪状态并生成本地访问二维码。

Readme

dsh-ops-console

Mac 留在桌边,换到手机上继续用 Harness。

dsh-ops-console 是 DeepSeek Harness 的可选 Web 插件,入口在“设置 → 远程访问”。它把 Tailscale 入口设置、连接状态和访问二维码放在一起,让你不用手动拼命令、填写域名,就能准备好远程访问。

它不会把 Harness 默认公开到互联网。正常使用方式是:Mac 和手机都连接到获准访问的 Tailscale 网络,再通过二维码或地址打开 Harness。

在 npm 查看 dsh-ops-console

它解决什么问题

远程打开 Harness,真正麻烦的往往不是得到一个网址,而是回答下面几件事:Tailscale 到底有没有连上?Harness 是否已经准备好?关掉入口会不会误伤其他服务?

dsh-ops 主要做四件事:

  • 准备入口:为 Harness 创建 Tailscale Serve 入口,并自动配置当前 Tailscale 地址;遇到冲突会停止,不直接覆盖其他服务。
  • 扫码打开:显示就绪状态、本地生成的二维码和可复制地址。开启与关闭入口只能在 Mac 本机操作。
  • 失败后能继续:如果入口已创建,但 Harness 设置没有保存成功,点“继续完成设置”即可重试,不必先关掉重来。
  • 发现公网配置时提醒:检测到直接指向 Harness 的 Funnel 配置时显示警告,暂停展示常规扫码入口,不自动修改其他服务。

dsh-ops 有意不做引擎管理:它不会安装、更新、重启或恢复 Harness,也不读取余额、日志、API Key、提示词或会话正文。这些本机能力由 dsh-desktop 负责。

开始使用

开始前,请确认这台 Mac 已经有可正常使用的 dsh Web profile、Node.js 18 或更高版本,并已安装和登录 Tailscale。

1. 安装插件

推荐从 npm 安装:

dsh plugin --profile web add dsh-ops-console

也可以安装 GitHub 版本:

dsh plugin --profile web add github:wendyltan/dsh-ops-console

本地开发时,也可以直接安装源码目录:

dsh plugin --profile web add /path/to/dsh-ops-console

安装后重新启动 dsh Web 服务,进入“设置 → 远程访问”。如果使用 dsh-desktop,请通过客户端的服务管理操作重启;只刷新网页不会加载新插件。

2. 在 Mac 上准备远程入口

点击“设置远程访问”。dsh-ops 会为 Harness 创建 Tailscale Serve 入口,并自动完成当前 Tailscale 地址所需的 Harness 设置;用户不需要填写自定义域名。

如果 HTTPS 根地址已经被其他服务使用,操作会停止并说明冲突,不会直接覆盖。页面提示“Harness 等待重启”时,重新启动 Harness 服务即可;下次加载后,dsh-ops 会再次确认设置是否已经生效。

如果提示“入口已创建,Harness 设置尚未完成”,按页面说明检查配置目录权限,然后点击“继续完成设置”。插件只补齐缺失设置,不重新创建已有入口。提示需要重新启动时,必须重新启动 Harness 服务;仅刷新网页不生效。

3. 扫码打开

入口就绪后,页面会直接显示二维码和 HTTPS 地址。在已经登录获准 Tailscale 账号的手机或电脑上扫码,或者复制地址打开即可。

正常使用 Serve 时,实际哪些用户和设备可以访问,由 Tailscale 的访问规则(ACL)决定;dsh-ops 不会绕过或替代这层权限。二维码只包含远程 HTTPS 地址,在 Mac 本地生成,不会把地址发送给第三方二维码服务。

扫码不是授权,也不是必经步骤。 已获准访问的设备直接输入同一个地址,也可以打开 Harness。

谁能做什么

| 能力 | Mac 本机 | Tailscale 远程设备 | | --- | --- | --- | | 查看入口状态和复制地址 | 可以 | 可以 | | 开启或关闭远程入口 | 可以 | 不可以 | | 更新、重启、恢复引擎 | 不属于 dsh-ops | 不属于 dsh-ops |

关闭远程访问时,dsh-ops 只移除 Harness 自己的 Serve 入口,不执行全局 tailscale serve reset,因此不会删除其他 Tailscale Serve 配置。

如果设备丢失,应在 Tailscale 中撤销该设备或调整 ACL。若要关闭 Harness 的远程入口,可以在 Mac 本机展开“更多访问设置”操作;它不会修改 Tailscale ACL,也不会影响其他应用的 Serve 入口。

页面上的状态是什么意思

| 页面状态 | 发生了什么 | 你可以怎么做 | | --- | --- | --- | | Tailscale 未连接 | 应用未运行、未登录或当前离线 | 在 Mac 上打开并登录 Tailscale | | 入口未创建 | 还没有为 Harness 配置 Serve | 在 Mac 本机点击“设置远程访问” | | Harness 设置未完成 | 入口已创建,自动保存配置尚未成功 | 检查目录权限后点击“继续完成设置” | | Harness 等待重启 | 远程设置已保存,Harness 尚未载入 | 重新启动 Harness 服务,不能只刷新网页 | | 远程入口已开启 | Mac 端的三项配置已经就绪 | 扫码或复制地址,在另一台设备打开 | | 请检查公网访问配置 | 检测到直接指向 Harness 的 Funnel 配置 | 在 Mac 上核查并关闭对应入口的 Funnel | | 无法确认 Funnel 配置 | 状态读取失败或配置无法识别 | 检查本机 Tailscale;不要把“未知”当成“安全” |

“检测连接”会从 Mac 本机访问远程 HTTPS 地址。它可以证明本机端配置完成,但不能代替你在手机或另一台电脑上的真实打开测试。

几个容易误会的地方

需要购买域名吗? 不需要。插件使用这台 Mac 的 Tailscale 地址,不提供自定义域名映射。

手机可以开关远程入口吗? 不可以。远程设备可以查看状态和复制地址,管理操作只在 Mac 本机开放。

为什么没有设备授权列表或确认码? 设备与人员权限由 Tailscale 管理。插件不再维护另一套容易让人误以为“确认过才有权限”的记录。

看到二维码,就表示手机一定能连上吗? 不表示。手机仍需连接 Tailscale,并具备访问这台 Mac 的权限;最终以实际打开并正常使用 Harness 为准。

安全和隐私

  • 开启和关闭入口同时要求同源请求、Mac 本机访问和本机管理令牌。
  • 正常 Serve 入口的访问资格由 Tailscale 账号、设备和 ACL 管理;二维码不承担身份验证。
  • 访问二维码由本机的 MIT 许可编码器生成,不调用外部二维码接口,只编码远程 HTTPS 地址。
  • 公共健康接口只返回插件可用性和版本,不公开 PID、端口、引擎版本或本机路径。
  • 自动写入当前 Tailscale 地址前最多保留五份配置备份,并采用同步落盘和原子替换。

公网提示依据 Tailscale 的 Serve 配置定义,按域名、端口及直接指向 Harness 的 HTTP/TCP 转发进行匹配,也检查前台配置。它只读配置,不开启 Funnel、不自动关闭其他服务。检测到相关 Funnel 或无法判断时,不展示常规扫码入口;必须先在 Mac 上核查对应配置。

“未发现”只表示没有匹配到这类直接转发配置,不是安全审计,不覆盖路由器端口映射、其他反向代理或间接转发,也不能证明手机端一定可达。

0.7.1 更新

  • 移除手动添加、删除访问域名的界面和接口,保留当前 Tailscale 地址的自动设置,不主动清理已有的其他地址。
  • 修复部分设置失败后没有继续入口的问题;重试只补齐缺失设置。
  • 新增针对 Harness 的 Funnel 公网配置提示;读取失败时显示未知状态,不误报安全。
  • 明确区分“需要重启服务”和“刷新网页”,避免配置已保存却尚未生效时反复尝试。

开发与发布

运行完整验证:

npm test

验证覆盖语法、权限边界、路由契约、页面状态、配置保存失败后的重试,以及一次临时 dsh Web 启动。Funnel 检测使用隔离配置,覆盖其他服务、不同端口、前台配置和无法解析的状态,不需要把真实服务公开到互联网。

仓库维护者或本机开发者验证通过后,可以部署到受保护的本机开发环境:

node scripts/deploy.mjs

普通用户不需要运行部署脚本,直接从 npm 安装即可。发布新版本前,可用 npm pack --dry-run 检查实际入包文件;仓库也提供 GitHub Trusted Publishing 工作流,需先在 npm 包设置中配置可信发布者。

许可

MIT