dsh-work-report

DSH PLUGIN记忆与知识

仓库 Elpsycoogroo/dsh-work-report · npm dsh-work-report

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

Neural Ledger 是一款 DSH plugin,将 AI 协作会话转化为可视化工作账本,提供 token 分析、智能洞察、趋势预测和一键生成日报/周报/月报 Markdown 报告。

一句话选型结论

按资料字段整理

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

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

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add dsh-work-report@0.1.0
  1. 1
    确认版本与运行环境

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

  2. 2
    执行安装命令

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

  3. 3
    确认已挂载

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

  4. 4
    试跑并检查权限

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

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

能做什么

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

dsh-work-report:DeepSeek Harness 的可视化工作账本插件

  • 实时仪表盘
  • 智能洞察
  • Token 分析
  • 趋势预测
  • 一键报告

适用场景

文件读写

上游标签

analyticsdashboarddeepseek-harnessdshdsh-pluginreporttoken

验证等级与安全审查

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 插件清单中已激活 方式:插件清单查询

风险详情

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

选择建议

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

值得选的地方

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

先想清楚的地方

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

更适合

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

不太适合

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

同类对比

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

仓库档案

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

README 全文

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

Neural Ledger · 神经账本

English | 中文

> One-liner: A zero-patch DSH plugin that turns your AI collaboration sessions into a beautiful work ledger — token analytics, smart insights, trend forecasting, and one-click daily / weekly / monthly reports. Live data from your own sessions, no DSH source touched.

Features

  • 📊 Living dashboard — Session counts, turns, tool calls, token usage, and AI time in one glance.
  • 💡 Smart insights — Auto-generated findings: which session burned the most tokens, what took the longest, how much subagent collaboration matters, and overall conversation efficiency.
  • 📈 Token analytics — Daily token bars, token composition donut (uncached input / cache read / output), per-session token & time rankings.
  • 🔮 Trend forecasting — Linear-regression prediction of the next 7 days, monthly estimates, and a budget-overrun warning (default 50M tokens/month).
  • 🗂 Workspace breakdown — Compare token consumption across projects; tree drill-down workspace → parent agent → subagent.
  • 📋 One-click reports — Export daily / weekly / monthly reports as Markdown, with per-turn demand → outcome storylines and subagent task details. Copy to clipboard or download.
  • 📤 Export session context — Tree picker (workspace → parent agent → subagent, collapsible, fuzzy search incl. workspace) → generates a distilled context (prompt-like): metadata, goal, per-turn demands/outcomes, tool summary, and a continue-work prompt ready to feed another agent.
  • 🌐 i18n — Toggle Chinese / English for the whole UI and exported reports (remembers your choice).
  • 🎬 Sample mode — Built-in mock dataset for previewing the whole dashboard without waiting for real data.
  • Draggable FAB — The floating action button is draggable, position is remembered, and a hover label follows it live.
  • No DSH source modification — Only DOM-level integration; DSH files are never touched.

Quick Start

Install from GitHub

dsh plugin --profile web add github:Elpsycoogroo/dsh-work-report

> pnpm blocks build scripts by default: installing from GitHub runs the project's own build script, and pnpm refuses until you allowlist it. Run the command once — pnpm prints the key to add under allowBuilds in ~/.dsh/profiles/web/pnpm-workspace.yaml. Add it and run again.

Install from npm (once published)

dsh plugin --profile web add dsh-work-report

Manual install in this repo

Clone/symlink the plugin at dsh/plugins/dsh-work-report and build once:

cd dsh/plugins/dsh-work-report
npm install
npm run build

> ⚠️ Don't manually copy only lib/ into the profile's node_modules/ — a copy missing package.json (and cordis.patch.yml) cannot be resolved by the DSH loader. Copy the whole package. For ongoing development use node dev.mjs (watch src/ → auto-build → auto-sync the whole package into the profile).

Usage

  1. Open DSH, click the 🧠 floating button (bottom-right by default, draggable anywhere).
  2. The Neural Ledger overlay opens with real data from your sessions.
  3. Pick a report type (日报 / 周报 / 月报 — auto-switches daily window 1/7/30 days).
  4. Hit 📋 Copy or ⬇ Download to get the Markdown report.
  5. 📤 Export Context — pick a session from the collapsible tree (workspace → parent → subagent) or fuzzy-search it, then copy/download the distilled context as a prompt for another agent.
  6. 🌐 EN — toggle the whole UI (and exports) between Chinese and English.

⚠️ Read before forking/self-hosting (war stories)

  1. package.json must export "./package.json": DSH's client-modules reads a plugin's manifest via require.resolve('/package.json'). If exports doesn't expose that subpath, it throws ERR_PACKAGE_PATH_NOT_EXPORTED and the plugin shows in the plugin list but its client.js is never injected into the page.
  2. All three names must match: the name in package.json, in the plugin's own cordis.patch.yml, and the name referenced from your profile bundle.
  3. You MUST restart dsh after changing the manifest/reinstalling: client-modules caches the "not a client plugin" verdict for the process lifetime.
  4. sessionPersistence.readFrom() may be unavailable: the server falls back to projcache (storages/session_projcache.json); token totals for subagents missing from the cache are aggregated from event usage blocks.

Contributor Docs / 给开源作者

Local dev, debugging and integration guides are in DEVELOPING.md / DEVELOPING.zh.md.

How It Works

Architecture

browser (client plugin)
ReportView ── StatCards / Insights / TokenCharts / ForecastCard
├── WorkspaceChart / EfficiencyCharts / ToolRanking
└── SessionTimeline (workspace → parent agent → subagent)
│
└── fetch('/api/work-report?days=7&mock=1')   ← requested by ReportView, shared by all cards
Host (server plugin) [ctx.webServer.register({ kind: 'exact', path: '/api/work-report' })]
ctx.get('sessions')                → attached (in-memory) sessions
ctx.get('sessionPersistence')      → cold (persisted) sessions + events
storages/session_projcache.json    → tokenUsage / sessionStats / contextPressure / subagent labels
→ buildReport(config) → { sessions, token, time, insights, forecast, dailyTokens, workspaceTokens }

Data sources

  • Active sessions — ctx.sessions.list() (attached, in-memory).
  • Cold sessions — persistence.list() + persistence.readFrom(id, 0) for events and parentSession linkage. readFrom is optional; when absent, metadata comes from projcache.
  • Token / stats — projcache projections (tokenUsage.totals, sessionStats, contextPressure) with event-usage aggregation as fallback.
  • Subagent labels — projcache subagent.identity.label (e.g. Worker A - 代码开发); parent linkage via meta.parentSession.
  • Archived sessions — filtered using workspace.json's global.archivedSessionIds; blank sessions (0 tokens & 0 time) are filtered out too.

Report generation

  • Recursive text extraction — demand / outcome text pulled from any message nesting shape, skipping `,Current runtime context.`, and other noise.
  • Turn storyline — each turn records user demand, AI outcome, tool calls (✓/✗), and token usage.
  • Forecast — linear regression over daily tokens, with fallback base for sparse data; 7-day projection + 30-day estimate vs budget.

Files

dsh-work-report/
├── package.json
├── tsconfig.json
├── tsdown.config.ts
├── cordis.patch.yml
├── README.md            # English docs
├── README.zh.md         # 中文文档
├── DEVELOPING.md        # English contributor guide
├── DEVELOPING.zh.md     # 中文开发者指南
├── CONTRIBUTING.md      # 中文贡献指南
├── CONTRIBUTING.en.md   # English contributing guide
├── GITHUB_SETUP.md      # GitHub repo setup checklist
├── pull_request_template.md
├── pull_request_template.en.md
├── mock-report.json     # built-in sample dataset (🎬 Sample mode)
├── screenshots/         # README screenshots (dashboard previews)
├── .github/             # ISSUE_TEMPLATE (bug_report.yml / feature_request.yml)
└── src/
├── index.ts             # Host entry (re-exports)
├── server/
│   ├── index.ts         # webServer route /api/work-report
│   └── report-data.ts   # data collection, aggregation, insights, forecast
├── client/
│   ├── index.ts         # client entry: draggable FAB + overlay mount
│   ├── i18n.tsx         # zh/en dictionaries + language provider
│   ├── ReportView.tsx   # main dashboard
│   ├── StatCards.tsx    # stat cards
│   ├── Insights.tsx     # smart insight cards
│   ├── TokenCharts.tsx  # daily bars + composition donut
│   ├── ForecastCard.tsx # trend prediction + budget warning
│   ├── WorkspaceChart.tsx # workspace token comparison
│   ├── EfficiencyCharts.tsx # per-session time & token rankings
│   ├── ToolRanking.tsx  # session-type token share
│   ├── SessionTimeline.tsx # 3-level tree session list
│   ├── ContextExporter.tsx # export session context (tree picker + search)
│   ├── markdown.ts      # daily/weekly/monthly report generator
│   └── report-api.ts    # API fetch + formatting utils
└── types/
└── dsh-env.d.ts     # ambient type declarations

Build & Publish to npm

Build locally

cd dsh/plugins/dsh-work-report
npm run build     # tsdown: host ESM (lib/index.js) + browser CJS (lib/client.js)
node dev.mjs      # watch mode: auto-build + auto-sync whole package to profile

> Browser bundle inlines echarts (kept in devDependencies so tsdown bundles it; module-table externals are only react / @deepseek-ai/*).

Publish to npm (once you own the package name)

npm login
exports_subpath=./package.json   # keep exports["./package.json"] — DSH client-modules needs it
npm version patch -m "chore(release): v%s"
npm publish --access public
# verify the tarball contains everything the runtime needs:
npm pack --dry-run | grep -E "package.json|cordis.patch.yml|lib/(index|client)\.js|mock-report"

> The published files are controlled by package.json's files field (lib, src, mock-report.json, cordis.patch.yml, docs). Before the first publish make sure files includes every runtime file — the DSH loader resolves package.json and cordis.patch.yml at runtime, not just lib/.

Console Logs

Source Level Description
client/index.ts log Version loaded (v0.1.0 loaded)
server/index.ts log Route registered (host plugin loaded)
server/index.ts error Report build failure

License

MIT

常见问题

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

在 DSH 里执行 `dsh plugin --profile web add dsh-work-report@0.1.0` 即可。对应的 npm 包名是 `dsh-work-report`。

dsh-work-report 的验证等级是什么意思?

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

dsh-work-report 安全吗?

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

dsh-work-report 装之前要先确认什么?

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

dsh-work-report 支持哪些 DSH 版本?

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

dsh-work-report 用的是什么许可证?

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

dsh-work-report 有哪些功能?

实时仪表盘、智能洞察、Token 分析、趋势预测、一键报告。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 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 万 星

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