DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
H

dsh-happycode

Happycode

Happycoding Everyday — 直接根据本地会话日志,按年份将你的 DeepSeek Harness 活动展示为 GitHub 风格的贡献图。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:luoyiyxo/dsh-happycode#3995d3fdedb2d0e77c20569cfbb8665fc0fba917
README兼容性版本
Happycoding Everyday in DeepSeek Harness, light themeHappycoding Everyday in DeepSeek Harness, dark theme

兼容性与来源证明

Happycode 以 dsh-happycode 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/10/26

版本

0.1.0stable
2026/10/26

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 1
周下载
0
最近提交
2026/10/26
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

README

Happycoding Everyday logo

Happycoding Everyday

Your DeepSeek Harness activity as a GitHub-style contribution graph.
English | 中文

Happycoding Everyday in DeepSeek Harness, light theme Happycoding Everyday in DeepSeek Harness, dark theme

Display name Happycoding Everyday; the package, the repository and the plugin id stay dsh-happycode.

Happycoding Everyday reads the session logs DeepSeek Harness already writes on your machine, turns them into one number per day, and draws the year the way GitHub draws it: weeks across, Monday to Sunday down, five shades of green, a tooltip on every cell. It is a plugin, not a service — nothing leaves the machine.

Install

From the DSH plugin market, search Happycoding Everyday and install it in one click. From a terminal:

dsh plugin --profile <profile> add dsh-happycode

On DSH Desktop, install it from Settings → Plugins instead (the app owns that profile). Restart DSH once so the server half loads. Afterwards the client half reloads with the page.

Then open your avatar menu at the bottom of the sidebar. HappyCode sits between Settings and Feedback — the menu keeps the short name, the dialog carries the full one.

What you get

  • A row in the account menu — same typography, spacing and hover state as the three rows around it, with a small heat-grid glyph.
  • A profile row — a 120px avatar, your name at 24px and Coding since Oct 2026 beside it, read from the account launcher the host already rendered. No picture? The first letter on a brand-coloured tile. No account at all? The row is not drawn. Never your e-mail: the host only exposes a masked one, so an @ means "no name".
  • A dialog that matches the host's own Settings dialog — the brand centred in a 90px title band, close button in the top-right corner, Escape and a click on the backdrop. Its height follows the content (min(1500px, 94vw) wide, capped at 88vh) instead of reserving empty space.
  • One view: a calendar year. January to December, Monday-based columns, blank padding cells at both ends so no neighbouring year leaks in.
  • A graph that fills the dialog. Cell size is computed from the card's width — 21px at the design width, 14px floor — and recomputed whenever the window changes, so there is no dead space to the right of the grid.
  • Readable axis labels — Jan…Dec and Mon/Wed/Fri at 18px.
  • GitHub's legend, in GitHub's place — inside the card, under the grid, right aligned.
  • A year picker on the right of the card — the current year plus the years with activity, newest first, capped at three. A new year still gets a button, even before it has any activity.
  • A tooltip on every cell — 19 contributions on October 24th. and No contributions on October 23rd., GitHub's wording, with ordinals.
  • The GitHub palette in both light and dark, following the host theme.
  • Weights you can change — three numbers and a Recalculate button on the plugin's page under Plugins.

What counts

One contribution value per day, from three kinds of event in the session log:

EventWeightDefault
A message you sent (user/message with a real user source)m1
A tool call (tool/call)t1
A tool call that writes a file (write, edit, str_replace_editor, …)f3

value = 1·m + 1·t + 3·f

Deliberately not counted: injected context (runtime snapshots, skill catalogs, time context), assistant messages, tool results, sub-agent sessions, and empty sessions. The rules and the evidence behind them live in docs/data-schema.md.

Colours are bucketed from your own data: the 25th/50th/75th percentile of the non-zero days inside the current window become the three thresholds. Fewer than eight active days, or quartiles that collapse onto each other, fall back to GitHub's fixed 1–9 / 10–19 / 20–39 / 40+.

Privacy

  • No network requests. The plugin talks to the host over its own loopback HTTP routes and nothing else. No telemetry, no fonts, no avatars fetched.
  • Read-only on your logs. ~/.dsh/sessions/ and the session projection cache are only ever read.
  • One writable directory: ~/.dsh/profiles/<profile>/.dsh-happycode/, holding daily.json, sessions.json and settings.json.
  • No log content is written anywhere. Diagnostics carry file names, counts and error messages only.

Compatibility

  • DSH 0.2.1 or newer, prereleases included (engines.dsh: ">=0.2.1-0" — the account menu and the plugin configuration page are what it targets).
  • Node 22.15 or newer, for the built-in Zstandard decoder. On an older Node the compressed logs are skipped and logged rather than crashing.

How it works

~/.dsh/sessions/<workspace>/session-<id>/session.v4.jsonl.zstd   (read-only)
        │  concatenated zstd frames → JSONL
        ▼
   daily.json  { "2026-10-24": { m: 8, t: 11, f: 0 } }           (cache)
        │
        ▼
   GET /dsh-happycode/api/graph?year=2026   →  { total, days[], thresholds, … }
   GET /dsh-happycode/api/graph?range=last365   (kept for the roadmap; unused by this UI)
        │
        ▼
   client bundle → account-menu row → dialog

The first index runs in the background; afterwards only sessions whose size or mtime changed are decoded again. A session that fails to decode is skipped and counted in the status, never retried and never fatal.

Development

npm test                 # 53 tests: decoding, counting, caching, routes, UI
npm run render:preview   # regenerate the README preview from the grid geometry

The client bundle is hand-written CommonJS in client/client.js — no build step. It registers itself with the host's window.__ModuleLoader__ and requires only react and @deepseek-ai/dsh-client-ui-primitives from the host's module table.

See docs/host-ui-notes.md for how the account-menu row is injected and why.

License

MIT.

相关插件

继续浏览 developer-tools 分类下经过校验的插件。

MarketdshmarketDeepSeek Harness 内的可视化插件市场——浏览、搜索并一键安装社区插件。· DSH 可视化插件市场:浏览、搜索并一键安装社区插件。Better Sidebardsh-better-sidebarBetter Sidebar for DSH — 在一列中提供文件树、编辑器、变更、任务和侧边聊天,并为每个对话单独显示。同时提供服务,供其他插件注册侧边栏标签页和文件查看器。Client Ui Git Graph@linxin666/dsh-client-ui-git-graph外部 dsh Web GUI 插件:空会话 Git 分支选择器和 Git 图,包含实际的主机端 Git 操作与防护,作为 dsh 配置文件包Ssh@linxin666/dsh-sshdsh Web GUI 的远程 SSH 操作:主机配置存储(~/.dsh/dsh-ssh.json,可从 ~/.ssh/config 导入)、支持跳板主机的持久化 ssh2 连接池、exec / PTY Web 终端 / SFTP 传输 / 本地端口转发隧道 / 集群执行