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

个人成就主页 Abyssun/dsh-achievements

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

为 DeepSeek HarnessDSH Web UI 打造的个人成就插件:

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

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

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Abyssun/dsh-achievements
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · ui
装得上吗
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 17 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-achievements(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖要求 >=0.1.5-rc.2 <0.3.0 · 最新 0.2.1-rc.2 兼容
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/19 22:22:12

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

读写/删除本地文件
查看扫描证据(共 9 处,展示前 9 条)
  • 读取本地文件
    index.js:208
    const raw = readFileSync(ANONYMOUS_ID_PATH, "utf8").trim();
  • 读取本地文件
    index.js:218
    const parsed = JSON.parse(readFileSync(CONFIG_PATH, "utf8"));
  • 写入本地文件
    index.js:236
    mkdirSync(dirname(CONFIG_PATH), { recursive: true });
  • 写入本地文件
    index.js:237
    writeFileSync(CONFIG_PATH, JSON.stringify(next, null, 2) + "\n", "utf8");
  • 读取本地文件
    lib/raw-log.js:124
    names = readdirSync(dir);
  • 读取本地文件
    lib/raw-log.js:158
    const hit = existsSync(dir) ? pickLogFile(dir) : null;
  • 读取本地文件
    lib/raw-log.js:164
    workspaces = readdirSync(sessionsRoot);
  • 读取本地文件
    lib/raw-log.js:170
    if (!existsSync(dir)) continue;
  • 读取本地文件
    lib/raw-log.js:183
    const buf = readFileSync(file);
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh@deepseek-ai/dsh-typert-protocol
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 展示Token用量
  • 柱状图呈现活跃度
  • 配置档卡片

DeepSeek Harness 个人成就面板:配置档卡片 + token 活跃度

README

由 DeepSeek 最新模型翻译生成
dsh-achievements 为 DeepSeek Harness(DSH) Web UI 打造的个人成就插件:左栏一个图标入口 → 一整页「个人主页」,把历史 token 用量摊成 5 张卡片,下面跟模型用量分布与贡献热力图。 个人主页效果 🤏 小提示:缩略值(如「8.15 亿」)看不出在动 —— 把鼠标停到卡片上会就地显示逐位精确值;热力图的每一格悬停也会显示当天的精确用量。 与「设置页里的技术仪表盘」型 token 统计插件不同:本插件走的是 main keyed 整页槽位,形态就是「个人主页」;与它们可以同时安装,槽位 id 不冲突。 功能 | 功能 | 说明 | | 🖼 整页个人主页 | 头像 / 昵称 + 内联「编辑资料」表单 | | 👤 默认取 DSH 账号 | 昵称与头像默认用你登录 DSH 的账号,自己改过就以你的为准 | | 🗂 5 张卡片 | 累计 token 数 · token 使用峰值 · 最长任务用时 · 最长连续天数 · 当前连续天数 | | 🧮 模型用量与筛选 | 每个模型的用量条与占比;点一行即可只看该模型(卡片与图表随之变化) | | 🟦 贡献热力图 | 最近一年每日用量(GitHub 那种小方格),按当量分档深浅,悬停看精确值 |
展开完整文档(README 剩余 1 节)
dsh-achievements

为 DeepSeek Harness(DSH) Web UI 打造的个人成就插件:左栏一个图标入口 → 一整页「个人主页」,把历史 token 用量摊成 5 张卡片,下面跟模型用量分布与贡献热力图。

个人主页效果

🤏 小提示:缩略值(如「8.15 亿」)看不出在动 —— 把鼠标停到卡片上会就地显示逐位精确值;热力图的每一格悬停也会显示当天的精确用量。

与「设置页里的技术仪表盘」型 token 统计插件不同:本插件走的是 main keyed 整页槽位,形态就是「个人主页」;与它们可以同时安装,槽位 id 不冲突。

功能

| 功能 | 说明 |
| 🖼 整页个人主页 | 头像 / 昵称 + 内联「编辑资料」表单 |
| 👤 默认取 DSH 账号 | 昵称与头像默认用你登录 DSH 的账号,自己改过就以你的为准 |
| 🗂 5 张卡片 | 累计 token 数 · token 使用峰值 · 最长任务用时 · 最长连续天数 · 当前连续天数 |
| 🧮 模型用量与筛选 | 每个模型的用量条与占比;点一行即可只看该模型(卡片与图表随之变化) |
| 🟦 贡献热力图 | 最近一年每日用量(GitHub 那种小方格),按当量分档深浅,悬停看精确值 |
| 🖼 头像上传 | 上传 PNG / JPEG / WebP / GIF,可拖动 + 缩放后裁成正方形 |
| 🧩 侧栏入口 | sidebar.panellist 图标,点击切到整页 |
| ⚙️ 设置页 | settings.plugins.tab 里同一套资料编辑器 |
| 🌗 主题 | 全部走 DSH 设计令牌(--dsw-alias-),明暗自动跟随 |

安装

在应用内的插件市场 / 插件管理里,来源填:

github:Abyssun/dsh-achievements

或在 profile 目录里:

pnpm add "github:Abyssun/dsh-achievements"

装完必须重启 DSH —— 已安装插件没有热重载,Host 加载、typert 注册、 client bundle 注入都发生在启动时。重启后左栏出现一个奖杯图标,点击后中间整页变成个人主页。

桌面应用(Electron)的 desktop profile 由应用独占管理,dsh plugin 命令会拒绝(profile "desktop" is managed exclusively by the Electron application),这种情况请用应用内的插件市场/插件管理安装。

⚠️ 版本兼容门:DSH 0.2.0 起会在安装时校验 engines.dsh(声明了它就由它单独决定,否则校验全部 @deepseek-ai/dsh peer),不命中就拒绝安装并回滚,提示形如 Plugin <name>@<ver> is incompatible with dsh <runtime>。
本插件声明覆盖 0.1.5-rc.2 ~ 0.2.x (@deepseek-ai/dsh: ">=0.1.5-rc.2 <0.3.0"、
@deepseek-ai/dsh-typert-protocol: "^0.1.5-rc.2 || ^0.2.0-rc.1"),
并已逐项验证 0.2.1-rc.2(当前桌面版)可用。

使用

1. 点左栏奖杯图标 → 整页个人主页。
2. 首次打开会显示「正在后台扫描历史会话…」并逐步累加 —— 历史会话需要读一遍日志,完成后数字才是最终值。
3. 编辑资料:改昵称、上传头像。留空即回退到 DSH 账号的昵称/头像。
4. 模型筛选:在「模型用量」里点某个模型 → 卡片与图表只看它;再点一次取消。
「最长任务用时」是会话级指标、没有模型维度,筛选时它仍是全局值。

指标口径

| 卡片 | 口径 |
| 累计 token 数 | 全部会话的 inputTokens + outputTokens + cacheReadTokens + cacheWriteTokens。计数互斥(inputTokens 只含未缓存输入),reasoningTokens 是输出的一部分,不重复计入 |
| token 使用峰值 | 按本地日历日聚合后取最大的那一天 |
| 最长任务用时 | 空档切分:相邻事件间隔 > 30 分钟即切成新的作业段,取最长的一段 |
| 最长连续天数 | 历史最长的「有 token 消耗的本地日历日」连续段 |
| 当前连续天数 | 从今天往前数;今天没有消耗则从昨天起算(今天还没用不算断) |

为什么「最长任务用时」不用「末事件 − 首事件」:会话被恢复后会跨天甚至跨周,那个口径会把「会话存续时间」当成「一次任务用时」,量级完全不对。
空档切分才是「一次连续作业」的时长。

去重:fork / 子会话的日志开头有一段从父会话复制来的继承前缀,同一笔模型调用会出现在多份日志里。本插件按官方契约处理 ——
ctx.sessionQuery.readSession() 返回的快照直接带 inheritedEventCount,
用它跳过前缀,不自己解析标记。

已知限制

- 联网搜索的 token 统计不到:web/deepseek-search-llm-request 事件不带 usage。
- 数字会漂:只要有新对话在写日志,聚合结果就会变。页面底部标注了「截至 …」。
- 每次启动都要重扫一遍历史会话(十几秒到几十秒,视会话数而定)。
- 「最长任务用时」没有模型维度,筛选时仍为全局值。
- 头像裁剪是「正方形 + 拖动 / 缩放」,不是自由比例。

架构

main[keyed, key="dsh-achievements"] 整页个人主页
sidebar.panellist[id="dsh-achievements"] 左栏图标(id 必须 === main 的 key)
settings.plugins.tab 资料编辑器 ▲ ctx.remote.achievements(自挂载 $mount) ┌───────┴──────────────────────────────────────────────┐ │ Host: AchievementsService │ │ ① 投影单元 dsh-achievements.ledger(host-only) │ │ 框架负责订阅/水位线/持久检查点;init 拿到继承前缀长度 │ │ ② 跨会话 rollup(官方没有,本项目独有) │ │ 活会话 → registry.stateOf();冷会话 → readSession() │ │ 回填在后台跑(并发 4、每会话 8s 超时), │ │ 请求路径只读内存,并如实上报进度 │ │ ③ Typert Remote(strict codec × create 工厂) │ └──────────────────────────────────────────────────────┘

有几处必须逐字一致:index.js 的类名/服务键、typert.host.js 的
model.services[].key/exportName、client.js 的 CLIENT_REMOTE 描述符 id;
以及 main 的 key 与 sidebar.panellist 的 id。改动后跑 npm run e2e。

开发与测试

npm run check # node --check 全部源文件
npm run smoke # 离线冒烟(口径 / host 契约 / client bundle / manifest / 兼容门)
npm run e2e # check + smoke

其中 smoke:typert 与 smoke:compat 需要解析部署侧的 @deepseek-ai/ 与 semver,可通过环境变量指向部署的 node_modules。

发版

推 v 标签即自动发版:CI 校验 → npm pack → 建 GitHub Release, Release 正文自动取用 CHANGELOG.md 里对应版本的段落(缺段落会让发版失败)。
所以发版前要改两处:package.json 的 version,以及 CHANGELOG.md 里的一段 ## [x.y.z]。
该段落只描述本次版本的改动,格式与语气见 CHANGELOG.md 顶部的「撰写约定」。

License

MIT
预览分享卡片长什么样 ↓Abyssun/dsh-achievements
分享 · DeepSeek Harness Hub
Abyssun/dsh-achievements

为 DeepSeek HarnessDSH Web UI 打造的个人成就插件:

这是你的仓库?认领条目

回到顶部