uiopt

DSH PLUGIN记忆与知识

仓库 reimu-create/uiopt

记忆与知识 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

uiopt 是 DSH WebUI 显示增强插件,提供实时余额、会话消耗、缓存命中率、提供商图标及额外插件管理功能。

一句话选型结论

按资料字段整理

uiopt 是记忆与知识类的 DSH 可安装插件,验证等级 L5 · 运行验证通过,安全审查为低风险,列出 5 项功能,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类记忆与知识 收录类型可安装插件 验证等级L5 · 运行验证通过 安全审查低风险
验证等级 L5 L5 · 运行验证通过
GitHub 星标 1 复刻 0 · 未关闭 issue 未标注
最近更新 2026-09-15 创建于 2026-08-14
README 8.2 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:reimu-create/uiopt#uiopt-mac-v1.0.0
  1. 1
    确认版本与运行环境

    兼容的 DSH 版本为 0.2.0-rc.2 等 11 个;版本不匹配时安装会报错。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本0.2.0-rc.2 等 11 个版本版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

5 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

uiopt:DeepSeek Harness WebUI 的显示增强插件

  • 实时余额显示
  • 会话消耗统计
  • 缓存命中率
  • 提供商图标
  • 额外插件管理

适用场景

记忆

上游标签

deepseek-harnessdsh-plugin

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-10-08): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
L5 · 运行已测 ✓ 通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 方式:Web 启动
  • L5.3_HTTP_SERVED HTTP 服务响应 方式:HTTP 请求
  • L5.4_PLUGIN_INVENTORY_ACTIVE 插件清单中已激活 方式:插件清单查询
— · 其它检查项
  • L4_0_SANDBOX 沙盒安装判定 方式:沙盒安装执行

风险详情

  • 审查结论 通过
  • 结论说明 vet 静态分析未发现可疑行为,判定为干净(clean)。
  • 风险计数 严重 0 / 高 0 / 中 0
  • 风险详情 未发现严重或警告级问题。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 验证等级 L5:安装和运行都在沙盒里跑通过,装完能直接用的概率高。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。
  • 标注了兼容的 DSH 版本(0.2.0-rc.2 等 11 个),按版本装不容易报错。
  • 列出了 5 项功能,能直接看出它解决什么问题。

先想清楚的地方

  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在记忆与知识场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
uiopt当前 L5 · 运行验证通过 低风险 1 0.2.0-rc.2 等 11 个 有
ruflo L3 · 安装规范通过 低风险 7.4 万 未标注 无
OpenViking L3 · 安装规范通过 低风险 3.9 万 未标注 无
WeKnora L4 · 沙盒安装通过 低风险 3.3 万 未标注 有
distilly L4 · 沙盒安装通过 低风险 2.5 万 未标注 有
EverOS L4 · 沙盒安装通过 低风险 1.3 万 未标注 有

仓库档案

记忆与知识
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方reimu-create仓库 uiopt · 默认分支 未标注
分类记忆与知识memory
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言JavaScript仓库主语言
许可证NOASSERTION商用或二次分发前请确认条款原文
星标 / 复刻 / issue1 / 0 / 未标注收录时的数值,非实时
创建 / 更新2026-08-14 · 2026-09-15最后推送 未标注
本站收录2026-08-27首次进入本站目录的时间

README 全文

8.2 KB
作者原文,中文版优先;只做安全转义,不改内容

显示优化

DSH(DeepSeek Harness)WebUI 常驻插件:余额实时查询小窗口 + 会话/每条消息消耗 + 提供商图标。

一个自包含插件包,含宿主半(同源路由代理)与客户端半(手写 ModuleLoader bundle),安装后不依赖任何额外运行时。

功能

功能 位置 说明
账户余额 输入框下方常驻条 deepseek-official 走官方 GET /user/balance(CNY);opencode-go 为订阅制,显示用量限制说明
本会话已用 同上(加粗) 余额真实扣费减法:起点余额 − 当前余额累计,持久化在 profiles/web/balance-state.json,充值不丢已消耗
每条消息消耗 每条 assistant 消息统计行 · 本条 ¥x.xxxx · 缓存 xx%,宿主逐条精确计价(按消息真实 provider/model),附缓存命中率
提供商图标 模型选择器左侧 DeepSeek 小鲸鱼(官方 favicon 路径,自绘内联 SVG)/ OpenCode Go 大写 G;订阅共享模型目录 store,切换即时更新
自主添加插件标签页 设置 → 插件 第三个标签页(格式与前两个"插件配置/插件清单"一致),列出用户自主安装的非官方插件;数据源:宿主 /api/dsh-plugins(loader 过滤)
导入插件 设置 → 插件 → 额外插件页顶部 “导入插件”按钮 → 选择 .zip 插件包 → 上传到宿主 /api/dsh-plugin-import → 解压、校验包名、复制到 /node_modules// 并追加 cordis.patch.yml 挂载条目(幂等,已存在则跳过);安装后需重启 dsh 生效

文件结构

显示优化/
├── package.json          # 包声明(name: uiopt)dsh.client 注入依赖
├── lib/
│   ├── index.js          # Host 半:GET /api/dsh-balance、/api/dsh-context、/api/dsh-plugins、POST /api/dsh-plugin-import(插件导入:解压+校验+安装+挂载)
│   └── client.js         # Client 半:手写 ModuleLoader bundle(5 个插槽注入,含额外插件页的“导入插件”按钮)
└── README.md

客户端注入的插槽

  • conversation.composer.dock — 余额卡(id: balance)
  • conversation.chat.assistant-actions — 每条消息消耗 + 缓存命中率(id: balance-cost)
  • conversation.input.right — 提供商图标(id: provider-icon)

安装 / 更新

官方方式(推荐,dsh plugin + pnpm link)

本包声明了 dsh.bundle manifest,是标准组合包(bundle)。安装到任意 profile:

dsh plugin --profile web add <本目录绝对路径>
# 或分发形式(tarball / GitHub / npm):
dsh plugin --profile web add ./uiopt-1.0.0.tgz
dsh plugin --profile web add github:you/uiopt#
dsh plugin --profile web add uiopt

pnpm 会把包 link 进 profile(不是拷贝),并在 package.json 的 dsh.profile.bundles 注册组合层;包自带的 cordis.patch.yml 负责挂载 uiopt 行。改代码直接生效,无需任何同步脚本。 卸载:dsh plugin --profile web remove uiopt。

> 依赖 pnpm(dsh plugin 在 profile 目录内转发给 pnpm)。dsh.bundle 声明见 package.json;打包分发:pnpm pack 生成 uiopt-.tgz。

兼容方式(无 pnpm 的老环境,拷贝 + patch)

一键脚本(幂等,重复执行安全;若检测到已用官方方式安装则直接跳过):

powershell -ExecutionPolicy Bypass -File install.ps1

脚本做的事:
1. 把 lib/ 与 package.json 拷贝到 \node_modules\uiopt\;
2. 若 cordis.patch.yml 缺少挂载条目,自动追加:

- insert:
- id: uiopt
name: uiopt
config: {}

手动安装(等价):
1. 拷贝本目录到 \node_modules\uiopt\;
2. 在 \cordis.patch.yml 追加上述条目;
3. 重启 dsh(Ctrl+C → dsh web)。

> 默认 profile 路径为 C:\Users\86191\.dsh\profiles\web,可用 -ProfilePath 参数覆盖。

卸载

powershell -ExecutionPolicy Bypass -File uninstall.ps1

脚本删除插件目录与 cordis.patch.yml 中的挂载条目(备份 patch 为 cordis.patch.yml.bak),并提示手动删除 balance-state.json(余额差值累计状态,删掉则重新从零累计)。重启 dsh 生效。

配置与凭据

  • 无需插件配置;凭据复用 dsh 凭据服务:
  • DEEPSEEK_API_KEY(deepseek-official 余额)
  • OPENCODE_GO_API_KEY(opencode-go 订阅)
  • API Key 只在宿主进程解析与使用,浏览器只访问无凭据的同源路由 /api/dsh-balance。

计价口径(重要)

  • 会话消耗(余额卡):deepseek-official 为账户余额真实扣费(减法);opencode-go 无余额接口,退化为按量估算(USD)。
  • 每条消息消耗:按量估算(usage × 单价表),DeepSeek 官方峰谷价(CNY,北京时间 9-12 / 14-18 翻倍)与 OpenCode Go 网关价(USD,内置 16 模型)。因此"每条之和"与"本会话已用"是两个口径,不等属正常。
  • 缓存命中率:cacheReadTokens / (input + cacheRead + cacheWrite)。
  • 单价表随官方价格变动需人工更新(PRICING 常量,host 与 client 各一份,需同步修改)。

已知限制

  1. OpenCode Go 为订阅制,官方无公开余额接口,只能显示限制说明与控制台指引;
  2. 余额减法反映账户整体扣费:其他会话/窗口共用同一 API Key 的消耗也会计入;
  3. 动态注册/注销模型工具(如调试插件)会使 DeepSeek 前缀缓存整段失效,造成单次全量计费——与插件本身无关;
  4. 客户端 bundle 为手写 window.__ModuleLoader__.load(...) 格式,修改时保持该结构。

开发注意事项(踩坑记录,改代码前必读)

  1. 保存 JSON/JS 文件必须用 UTF-8 无 BOM:带 BOM 的 package.json 会让 dsh 的 JSON.parse 直接崩溃(插件树加载失败 → 服务异常/页面白屏)。PowerShell 的 Set-Content -Encoding UTF8 在 PS 5.1 下会写 BOM——如需用 PowerShell 写文件,改用 [System.IO.File]::WriteAllText($p, $c, (New-Object System.Text.UTF8Encoding($false))),或用 Node 脚本。
  2. slot 冲突检测用 priority 字段,不是 order:order 只控制渲染顺序;同 id 注册覆盖官方条目时,官方 priority 为 0,覆盖方必须用 priority: -1,否则同 id 同 priority 冲突导致插件加载失败。当前 configurable 与 all 两个替换注册已带 priority: -1。
  3. 子 slot 只能声明一次:插件注册时不要用 children 重复声明官方已声明的子 slot(如 settings.plugin.item),否则 "already declared" 冲突。替换官方标签页时,子 slot 由官方声明,插件只注册条目、不写 children。
  4. 本目录(D:\dsh-plugins\uiopt\)是唯一源码;已用官方方式安装(dsh plugin add,pnpm link),改代码直接生效,无需任何同步脚本。若退回兼容方式(install.ps1 拷贝),才需要"改完工作区文件后跑 install.ps1、不要直接改 profile 文件"。
  5. link 安装模式的三条约定(本机 dsh plugin add <本目录> 才会遇到;别人用 tgz/GitHub 安装由 pnpm 自动装依赖,不受影响):
    - lib/client.js 里 window.__ModuleLoader__.load({ id: ... }) 的 id 必须等于插件名 uiopt,否则报 "Failed to load plugins"(模块注册不上)。
    - 依赖用 npm install 装成实体目录(本项目 node_modules 已装好,@deepseek-ai/dsh-credentials 等 6 个包)。绝不要再建 junction——发生过事故:junction 指向 dsh 主包依赖,Remove-Item -Recurse 删除含 junction 的目录时跟随链接删掉了主包的 dsh-credentials,导致官方插件链断裂、服务起不来。
    - 项目路径不要带空格:pnpm 会把 D:\dsh plugins\uiopt 按空格拆成两个错误依赖(link:D:/dsh + plugins\uiopt)。路径必须是 D:\dsh-plugins\uiopt 这种无空格形式。
    - 卸载/清理一律用官方命令 dsh plugin --profile web remove uiopt;手工删目录时,junction 用 cmd /c rmdir <链接>(只删链接),普通目录才用 Remove-Item -Recurse。

版本历史

  • 1.0.0 初始版:余额卡(多 provider)、会话消耗(余额减法)、每消息消耗+缓存命中率、提供商图标(官方鲸鱼路径)、README/安装脚本。
  • 1.1.0 新增“导入插件”:设置 → 插件 → 额外插件页顶部的“导入插件”按钮,选择 .zip 插件包上传到宿主 POST /api/dsh-plugin-import,解压、严格校验包名、复制到 /node_modules// 并追加挂载条目(幂等),安装后需重启 dsh 生效。

常见问题

8 问
答案由本站依据条目字段整理,不引用上游原文
uiopt 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:reimu-create/uiopt#uiopt-mac-v1.0.0` 即可。

uiopt 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

uiopt 安全吗?

低风险。vet 静态分析未发现可疑行为,判定为干净(clean)。

uiopt 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

uiopt 支持哪些 DSH 版本?

上游记录的兼容版本包括 0.2.0-rc.2、0.2.0-rc.1、0.1.7-rc.2、0.1.7-alpha.2、0.1.6-alpha.2、0.1.6-alpha.1、0.1.5-rc.2、0.1.3-alpha.2。版本较多,只列出前 8 个。

uiopt 用的是什么许可证?

上游标注为 NOASSERTION。商用或二次分发前请到仓库确认许可证原文。

uiopt 有哪些功能?

实时余额显示、会话消耗统计、缓存命中率、提供商图标、额外插件管理。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

记忆与知识
按星标排序,可作替代方案

ruflo

ruflo

L3 · 安装规范通过 7.4 万 星

OpenViking

OpenViking

面向 DeepSeek Harness 的 OpenViking 记忆与上下文插件:pre-step 自动召回与画像注入、会话捕获、`vik

L3 · 安装规范通过 3.9 万 星

WeKnora

WeKnora

把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己

L4 · 沙盒安装通过 3.3 万 星

distilly

distilly

Distilly — Distill how they think into reusable Skills for any Agent o

L4 · 沙盒安装通过 2.5 万 星

EverOS

EverOS

L4 · 沙盒安装通过 1.3 万 星

MemOS

MemOS

L4 · 沙盒安装通过 1.2 万 星

reimu-create 的其它插件

3 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-10-08。