🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

API 用量与重启 Adachi-Hougetsu/dsh-api-tools

DeepSeek Harness
Adachi-Hougetsu40 天前有提交已提供中文文档扫描:含敏感能力

查看 API 用量图谱并一键重启服务

28.8/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/11 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Adachi-Hougetsu/dsh-api-tools
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
dsh 原生插件 · model
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 40 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 8 处,展示前 8 条)
  • 读取本地文件
    dsh-api-meter/lib/index.js:233
    for (const entry of await readdir(dir, { withFileTypes: true })) {
  • 读取本地文件
    dsh-api-meter/lib/index.js:242
    for await (const chunk of createReadStream(file, { signal })) {
  • 读取本地文件
    dsh-api-meter/src/backfill.js:12
    for (const entry of await readdir(dir, { withFileTypes: true })) {
  • 读取本地文件
    dsh-api-meter/src/backfill.js:21
    for await (const chunk of createReadStream(file, { signal })) {
  • 发起网络请求
    dsh-refresh/restart.mjs:30
    const req = http.get({ host: "127.0.0.1", port, path: "/", timeout: 1500 }, (res) => {
  • 执行外部命令来自配置/变量
    dsh-refresh/restart.mjs:62
    const child = spawn(config.exec, config.argv, { cwd: config.cwd, detached: true, stdio: "ignore", windowsHide: true });
  • 发起网络请求
    dsh-refresh/src/restart.js:18
    const req = http.get({ host: '127.0.0.1', port, path: '/', timeout: 1500 }, res => { res.resume(); resolve(res.statusCode >= 200 && res.statusCode < 4
  • 执行外部命令来自配置/变量
    dsh-refresh/src/restart.js:39
    const child = spawn(config.exec, config.argv, { cwd: config.cwd, detached: true, stdio: 'ignore', windowsHide: true });
扫描于 2026/10/31(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 查看API用量图谱
  • 一键重启服务

dsh 插件:DeepSeek Harness 的 API 用量计量与一键刷新

README

由 DeepSeek 最新模型翻译生成
dsh-api-tools 为 DeepSeek Harness Web 提供 API 用量观测台和服务重启面板。四个插件包可分别安装,同一功能的 host 与 UI 应配套升级。 | 包 | 版本 | 用途 | | dsh-api-meter | 0.2.0 | 用量记录、持久化、历史回算 | | dsh-ui-api-meter | 0.2.0 | 用量图谱、模型分布、可搜索会话账本 | | dsh-refresh | 0.3.0 | 重启准备、原参数重启、实例状态查询 | | dsh-ui-refresh | 0.3.0 | 确认面板、阶段反馈、恢复后自动刷新 | 安装与升级 需要支持 Zstandard 的 Node.js(最低 22.15,建议使用 Node 24 LTS)及兼容的 dsh Web 宿主。 dsh plugin --profile web add ./dsh-api-meter dsh plugin --profile web add ./dsh-ui-api-meter dsh plugin --profile web add ./dsh-refresh dsh plugin --profile web add ./dsh-ui-refresh 将 web 替换为实际 profile。
展开完整文档(README 剩余 1 节)
dsh-api-tools

为 DeepSeek Harness Web 提供 API 用量观测台和服务重启面板。四个插件包可分别安装,同一功能的 host 与 UI 应配套升级。

| 包 | 版本 | 用途 |
| dsh-api-meter | 0.2.0 | 用量记录、持久化、历史回算 |
| dsh-ui-api-meter | 0.2.0 | 用量图谱、模型分布、可搜索会话账本 |
| dsh-refresh | 0.3.0 | 重启准备、原参数重启、实例状态查询 |
| dsh-ui-refresh | 0.3.0 | 确认面板、阶段反馈、恢复后自动刷新 |

安装与升级

需要支持 Zstandard 的 Node.js(最低 22.15,建议使用 Node 24 LTS)及兼容的 dsh Web 宿主。

dsh plugin --profile web add ./dsh-api-meter
dsh plugin --profile web add ./dsh-ui-api-meter
dsh plugin --profile web add ./dsh-refresh
dsh plugin --profile web add ./dsh-ui-refresh

将 web 替换为实际 profile。更新本地文件后,按宿主的插件升级流程重新添加四个包,并完整重启一次 Web 服务、重新加载页面。不要混用新旧 host/UI;本次统一了独立插件包名与协议、前端模块标识。

安装操作不会由本仓库的构建或测试脚本自动执行。

用量观测台

从侧边栏底部的「API 用量」打开。

- 7 / 14 / 30 天和全部历史;时间筛选同时应用于总览、图表、模型和会话。
- 按 UTC 自然日统计,补齐没有调用的日期;长历史自动合并相邻日期以保持可读性。
- 未缓存输入、输出与推理、缓存命中、缓存写入分别呈现;写入不算缓存命中。
- 会话支持关键词搜索、每页 8 条和展开模型明细;图表可用键盘聚焦读取数值。
- 打开面板时每 5 秒刷新;页面隐藏时暂停请求,同一面板不会并发轮询。
- 适配宿主主题变量,提供浅色、暗色、窄屏和减少动画支持。

Token 字段沿用宿主的标准化口径:输入不含缓存,输出与推理分项。实时流中多个 usage 片段累加 Token,同一条流仅记一次调用;需要 provider 按宿主约定提供增量用量。

数据可靠性

默认文件:~/.dsh/storages/api-meter/usage.json。存在改动时定时保存,并在插件卸载、正常进程退出(包括本重启插件触发的退出)前同步保存最后一批数据。强制结束进程或断电仍可能损失尚未保存的调用。

保存使用同目录临时文件、刷盘和重命名,保留上一份有效快照 usage.json.bak。读取时校验数值及结构,主文件损坏时尝试备份。

历史回算按帧读取 Zstandard 会话日志,处理过程中让出事件循环。回算成功前保持现有统计;合并时保留已有历史和回算期间的新调用。失败不会标记完成,下次启动重试。升级会用版本标记重新核对一次旧快照,修复旧版错误标记成功的问题。

日志包含 request ID 时按 ID 关联用量;缺少 ID 的旧日志只能按最近的请求头归属,并发历史可能仍存在归属歧义。旧快照中没有每日明细的部分仅计入「全部」。

强制重建(先停止 dsh Web;完整成功后才替换文件,并生成带时间戳备份):

node dsh-api-meter/scripts/backfill-sessions.mjs
可传入 usage.json 和 sessions 目录两个位置参数

重启面板

设置页的「重启服务」提供确认、阶段进度、失败原因和重试。

服务端先启动辅助进程,通过 IPC 确认参数、工作目录和日志可用,才安排原进程退出。重复请求共享同一重启流程。辅助进程等待原进程退出和端口释放,保留 Node 运行参数、原命令、工作目录及环境,启动新服务并执行 HTTP 健康检查。

端口仍被占用或原进程未退出时会停止流程,不会按端口终止任何进程。前端通过 Typert 查询新的服务实例 ID,确认恢复后再重载页面;网络断开本身不会被当作重启成功。

重启日志默认 <cwd>/data/refresh.log,超过 2 MiB 时在下次重启轮换为 .1。日志不记录原始启动参数,也不接收新进程的完整标准输出。需要启动详细日志时使用宿主自身的日志机制。

配置

在 profile 的插件配置中覆盖:

- id: api-meter
config:
persistIntervalMs: 30000
persistPath: 'C:\\data\\usage.json'
sessionsRoot: 'C:\\data\\sessions'

- id: refresh
config:
port: 3080 # 默认解析原启动参数,再回退为 3080 killDelayMs: 800 timeoutMs: 30000 logPath: 'C:\\data\\refresh.log'

persistIntervalMs: 0 关闭定时保存,仍在卸载和正常退出时保存。不同 dsh 进程/profile 应配置不同 persistPath,避免多个写入者覆盖同一文件。当前保留全部历史,不会自动清除用户数据;RPC 仍传输完整快照,超大历史的服务端分页可作为后续扩展。

本地开发

源码在各包 src/;shared/ 包含共用弹窗和轮询逻辑。lib/ 是构建产物,请修改源码后重新生成。

npm ci --prefix .tooling --legacy-peer-deps
npm run build
npm test
npm run preview

工具依赖单独放在 .tooling/,不会改动项目根目录原有的宿主依赖链接。构建清理并重建四个包的 lib/,同步声明与协议,不再发布旧 source map 和增量编译缓存。

预览地址:http://127.0.0.1:4173。使用合成数据和模拟重启,不访问真实会话、不重启真实 dsh。

浏览器回归:

npm run test:browser

需要 Playwright,可通过 PLAYWRIGHT_MODULE_PATH 指定其模块目录,或安装到 .tooling/node_modules。默认使用系统 Edge,可用 BROWSER_CHANNEL=chrome 改为 Chrome。截图保存到忽略版本控制的 artifacts/。
测试覆盖退出保存、备份恢复、历史迁移、坏日志、并发请求归属、重启启动失败/互斥、真实测试服务重启、端口占用保护、Cordis 装卸、发布包接口及浏览器交互。

许可

MIT。每个发布包均包含许可证。详见 LICENSE。
预览分享卡片长什么样 ↓Adachi-Hougetsu/dsh-api-tools
分享 · DeepSeek Harness Hub
Adachi-Hougetsu/dsh-api-tools

查看 API 用量图谱并一键重启服务

回到顶部