Introduction¶
In DSH Web, session tokens, turns, tool wall time, host CPU/memory, and real-time generation rates are often scattered across different locations. dsh-statusbar centralizes this information into a bottom status bar, allowing developers to view current session and host machine status without frequently switching pages.
What is this¶
dsh-statusbar is a DSH plugin maintained by Small-Miao under the MIT license. It provides a VSCode-style bottom status bar for DeepSeek Harness Web to display current session usage, host CPU/memory, and real-time generation rates; each display item can be configured in settings.
Core Features¶
Bottom Status Bar Layout¶
dsh-statusbar renders a 24px bottom bar via the shell.overlay seat. The application framework reserves bottom space to avoid covering page content, such as the sidebar settings area and composer input area.
Built-in Status Items¶
Built-in items include:
DSHbranding item- Current session estimated tokens
- Session turns / steps
- Accumulated LLM / tool wall time
- First token average and decode throughput
- Prompt-side cache hit rate
- Billing input / output tokens
- Real-time TPS
- CPU character bar
- MEM character bar
- Host clock
These items can be individually configured to show/hide, left/right alignment, and order.
Original Status Row Handling¶
dsh-statusbar hides the original stats row and TPS row below the composer input box to avoid duplicate status information.
Configuration Entry¶
Open Settings → Status Bar to:
- Toggle the display of each item
- Choose left or right alignment
- Adjust order
- Use the reset-all option to restore defaults
Configuration is saved on the host side and persisted to dsh-statusbar-config.json.
Polling Interfaces¶
The status bar polls the snapshot interface every 2 seconds. The HTTP interfaces are:
GET /dsh-statusbar/snapshot?session=<id>: returnsitems,catalog, andconfigPOST /dsh-statusbar/config: accepts anidpatch orresetAll
Installation and Activation¶
Prerequisite is a DSH installation with a web profile, such as the default web profile created by dsh web.
Install from GitHub:
dsh plugin --profile web add https://github.com/Small-Miao/dsh-statusbar
Restart DSH after installation. The plugin mounts on startup, and the bottom status bar appears after refreshing the page.
Typical Usage¶
Adjusting Status Items¶
After installing and restarting, go to Settings → Status Bar. You can turn off unwanted items as needed, place frequently used items on the left or right, and adjust positions in numerical order. If you mess up the order, use the reset-all option.
Registering Status Items in Other Plugins¶
dsh-statusbar exposes the statusbar Cordis service. Other host plugins can register their own items:
export function apply(ctx) {
const statusbar = ctx.get('statusbar')
if (statusbar === undefined) return
ctx.effect(() => statusbar.registerItem({
id: 'my.item',
order: 15,
align: 'right',
label: () => 'value',
style: 'bar',
progress: () => 62,
barChar: '|',
barTotal: 10,
color: '#4fc1ff',
tooltip: 'hint',
}))
}
Fields in the example include id, order, align, label, style, progress, barChar, barTotal, color, and tooltip.
Registering Real-time Data Sources¶
If a plugin needs to display real-time values it maintains itself, it can register a data source:
export function apply(ctx) {
const statusbar = ctx.get('statusbar')
if (statusbar === undefined) return
ctx.effect(() => statusbar.registerDataSource({
id: 'disk.usage',
order: 55,
align: 'right',
style: 'bar',
barChar: '|',
barTotal: 10,
refreshMs: 5000,
tooltip: '磁盘用量',
provide: async () => ({
text: '磁盘 62%',
progress: 62,
color: '#4fc1ff',
tooltip: 'updated hint',
}),
}))
}
Fields include id, order, align, style, refreshMs, tooltip, and provide. The host calls provide() according to its own refresh rhythm and renders the returned value as a status bar item.
Use Cases and Notes¶
Suitable for:
- Developers using DSH Web
- Users who need to view session tokens, turns, tool/LLM wall time, cache hits, and host CPU/memory simultaneously
- Host plugin authors who need to mount custom metrics in the status bar
Notes:
- This plugin requires a web profile to exist in the DSH installation.
- The real-time TPS item requires
dsh-live-stats. - The plugin runs with the current DSH process permissions, reads host CPU/memory, and exposes status bar-related HTTP interfaces. You should check the source code and MIT license before installing.
- The bottom space layout relies on the application framework hash class
.pI_x6G_frameof the current web build. If the CSS hash changes after rebuilding the web app, you may need to update the selector inlib/client.js. - This article does not provide explicit DSH version compatibility guarantees; it is recommended to verify loading and display in your own web profile after installation.
Conclusion¶
The value of dsh-statusbar lies in converging DSH Web’s session status and host metrics into a configurable bottom bar, while also providing a registration entry point for other host plugins.
GitHub Repository: https://github.com/Small-Miao/dsh-statusbar
The DSH Community Directory is an independent site with no official affiliation with DeepSeek / Huanfang. The directory page link is not provided in the materials verified for this article and can be found in the directory by searching for the plugin name.