Repository navigation
Releases: HwFee/HwFee-dsh
Release list
@hwfee/dsh-usage-stats 0.1.4
用量面板改为半透明表面,让首页海洋可透过面板显示。六个指标保留细描边,热力图各档使用透明度阶梯,文字维持主题的可读颜色。
@hwfee/dsh-predict 0.1.2
适配 DeepSeek Harness 0.2.1-rc.3 的模型与推理参数读取方式;预测仍以浅灰文字显示在输入框,Tab 只填入、不发送。
@hwfee/dsh-git-bash 0.1.2
命令卡直接显示输出,移除多余的结果标题;新增沙箱提示开关,并保留受限 Windows 会话启动前拒绝和取消时清理进程树的行为。
@hwfee/dsh-genui 0.1.2
卡片指引改为会话级更新,保留 iframe 隔离、主题同步和用户确认后发送的行为;同步主题令牌、工具行及渲染兼容修复。
dsh-cds-theme 0.1.8
空白会话首页改为 ASCII 海洋,鲸鱼颜色可选黑色、DeepSeek 蓝或变色;保留原有背景开关键,减少动态效果时画面静止。编辑与写入卡片在流式参数到达时显示本地化操作和工作区相对路径,路径未到达时只显示操作。
只内联两个 SIL OFL 思源字体子集;Anthropic 字体继续通过本机 local() 引用,未安装时回落到系统字体。海洋代码来自 stackedlol/ascii-sharks,来源与上游未提供许可文件的现状记录在包内 licenses/NOTICE.md。
@hwfee/dsh-usage-stats 0.1.3
Adds the usage ledger (lib/usage-ledger.js) and updates the cache and store alongside it.
The ledger was already committed in the repository since the previous checkpoint but had never been published, so 0.1.2 users have not received it. This release ships it.
Verified: the package's own suite passes, and the release asset gate inspected this exact tarball (12 files, no font payloads).
dsh-system-fonts 0.1.3
Adds an interface font slot and two pixel steppers.
- Interface font: a fourth slot beside content, code and terminal. Unset means it follows the body, so nothing changes unless you set it.
- Interface size: 10-20 px, 14 px when unset. Interface text only; row layout does not move.
- Inline code size: 10-20 px, 12 px when unset. Inline code only; code blocks and the terminal keep their own sizes.
The plugin still never writes font-weight (weights belong to the host theme) and never touches colour.
If you upgrade: nothing moves until you change a row. The two new rows show a default value while unset and apply only once you step them.
Verified: the package's own suites pass, the new rows render in the real application, and the release asset gate inspected this exact tarball (9 files, no font payloads).
@hwfee/dsh-predict 0.1.1
Data-flow changes to lib/index.js, lib/predict.js and lib/request.js. These were committed in the repository since the previous checkpoint but never published, so 0.1.0 users have not received them.
Verified: the package's own suite passes, and the release asset gate inspected this exact tarball (12 files, no font payloads).
@hwfee/dsh-git-bash 0.1.1
Two changes, both about a command that should have stopped and did not.
Restricted sessions are refused before anything starts. On Windows, read-only and workspace-write sessions, and any session whose mode cannot be determined, are rejected before a process is spawned instead of being run and annotated afterwards.
Cancellation, timeout and an output overrun now stop the real process tree. They used to kill only the shell the plugin started and leave a grandchild alive; because that grandchild held the stdio pipes, the call could also hang past its deadline. An output overrun returns a marked result and stops the tree, and an unconfirmed kill is reported as unconfirmed rather than claimed as a stop.
If you upgrade: a read-only or workspace-write session on Windows that used to run commands through Git Bash now gets an error. The message points at Windows PowerShell, which runs inside the sandbox.
Verified with real processes: the suite spawns a real shell that starts a real grandchild and asserts what is on disk afterwards, for the timeout, cancellation and output-overrun paths.
@hwfee/dsh-genui 0.1.1
Card code now runs in a sandboxed frame, and a card can no longer send a message on its own.
The card renders in an iframe with sandbox="allow-scripts" and no �llow-same-origin, so its document has an opaque origin: the host page, its storage and its cookies are unreadable to it rather than merely hidden. A CSP in the frame document additionally removes the documented network APIs, navigation, nested frames and forms.
interact(text) is now a request, not a send. The card's suggestion appears in a confirmation row outside the frame, showing the exact sentence, with send and discard buttons; only a click on send reaches the conversation. A second request while one is pending is ignored rather than replacing what you are reading.
Cards look and behave as before: host theme tokens are passed in as a snapshot, light and dark follow the host, and the card reports its own height.
React 18.3.1, ReactDOM 18.3.1 and its transitive scheduler 0.23.2 are bundled into the frame runtime at build time - no CDN, no host module table - and the package ships their MIT licence texts plus THIRD_PARTY_NOTICES.md.
If you upgrade: sending from a card takes one extra click. A card that used to put its text straight into the conversation now asks first.
Verified locally: test/frame.test.mjs asserts the boundary - messages from a different frame, from a non-opaque origin, or with a wrong token are rejected, and only the known message types are accepted. The build freshness check covers both the client bundle and the frame runtime.