Introduction¶
The philosophy of DeepSeek Harness (hereinafter referred to as DSH) is “everything is a plugin,” and the “Workspace / Session” list in the left sidebar is no exception. Native lists display sessions in a traditional tree or fixed order. As the number of sessions increases horizontally, the one that is actually running is often out of view; you have to rely on relative time and memory to find it. dsh-activity-view is a client plugin created by community author bloodtmai-cmyk to address this pain point: it replaces the main body of the sidebar session list with an activity view sorted by activity. Each line displays the project name and a running indicator. Pinned sessions and today’s sessions are placed in prominent positions, and it only yields to the native list when you explicitly set it to do so.
What is this¶
dsh-activity-view is a DSH client UI plugin maintained by bloodtmai-cmyk. It is categorized as “Client” in the community plugin directory SkillHub, has currently 0 stars, version 1.0.1, and an MIT license. It solves a narrow problem: the native session list lacks sufficient expression for the two dimensions of “recently active” and “currently running.” This plugin does not alter logic, only the presentation of the list. It registers as an occupant of the host slot sidebar.workspaces.sessions, replacing only the list body. Toolbars, search, view options, workspace controls, inline buttons, and the right-click menu remain native.
Core Features¶
-
Pinned block at the top. Sessions you manually pin in the native interface (official
pinnedSessionIds, not archived ones) are moved to the top. They do not have group headers, appear only once, and do not count towards the 25-row limit for ordinary rows. -
Remaining sessions grouped by date. The remaining sessions are split into Today / Yesterday / Earlier based on the official activity time
updatedAt, with newer ones appearing first. Running sessions within a group are sorted to the front and have a circular running indicator; running rows do not display relative time. Therefore, ordinary running sessions are always positioned near the front of the “Today” group, even if theirupdatedAtis earlier. The plugin only changes presentation and does not rewrite the stored timestamps. -
Only recognizes official IDs. Deduplication is based on precise matching of the official row ID.
session-<uuid>and<uuid>are not normalized against each other. Sessions with the same title or workspace but different IDs will not be merged, and sub-agent rows are not listed. -
Data source consistent with native. The list rendering host receives a snapshot via props (falling back to official
ctx.sessions.listwhen no props are provided) and re-renders when the host is re-released. The minute-level local clock only advances relative time and the “Today / Yesterday” boundary; it is not data polling. -
Respects native choices. After you change “Grouping / Sorting” in the native menu, the plugin exits activity mode. The native list renders according to your choices, and the plugin does not write back that setting.
Installation and Enablement¶
The plugin is installed via the DSH plugin manager. The command comes directly from the repository README:
plugin_manager install_bundle github:bloodtmai-cmyk/dsh-activity-view
The repository carries the dsh-plugin topic, and the marketplace index will include it. Before installing, confirm that the host runtime matches engines.dsh = 0.2.2-rc.1 in package.json precisely. When mismatched, the entire bundle will be skipped by loadProfileDirectory() (skippedBundles), no patches will take effect, and the native UI remains intact.
No extra configuration is needed after installation. The plugin manifest shows that the client side injects locale, timer, sessions, layout, uiWorkspace, the platform is web, immediately: true, and it loads with the host.
Typical Usage¶
-
Confirm the plugin is active. After executing the install command, open the sidebar: If the list becomes a top pinned block + Today / Yesterday / Earlier groups, it means
patches/0001-sidebar-workspaces-sessions-slot.patchandpatches/0002-sidebar-navigation-action-slot.patchhave been applied; if it is still in native order, it means the runtime version mismatch caused the bundle to be skipped, or the patch step failed at some step. Check the host-side observable state (e.g.,skippedBundles) at this point to determine. -
Manual pinning. Pin a session in the native interface; it will immediately appear in the pinned block at the top of the activity view and appear only once.
-
Run a session. Start a new session and return to the sidebar; the row will jump to the front within its date group and have a circular running indicator. At this point, it may not be at the very top of the list (the top is always the pinned block you manually pinned); but as long as it is running, it won’t be pushed behind the group.
-
Switch back to native. Change grouping or sorting in the native menu; the plugin automatically yields, and the native list renders your choice.
-
Restore the list to native. Simply uninstall the bundle; the originally disabled native
ui-sidebar/ui-workspacerows incordis.patch.ymlwill be restored.
Suitable Scenarios and Notes¶
Suitable for DSH users with many sessions who need to frequently return to “the one currently running,” and for those who want to keep the native toolbar but want activity sorting. It is not suitable for scenarios where users expect the plugin to rewrite timestamps, merge sessions with the same name, or list sub-agent rows—these behaviors are deliberately avoided.
Three points need attention:
-
The plugin runs with the permissions of the current DSH process. Before installing, open the repository and read the source code and
LICENSE(MIT) to ensure the changes inpatches/andcompat/match your expectations. -
Version matching only determines if the bundle can be loaded; it does not guarantee that patching, module importing, or slot declaration succeed on your machine. File read/write failures, import errors, unclaimed slots, or slots with the same priority already occupied can result in an empty area or a fallback to the native list. Check the host-side observable state before judging the UI.
-
The two packages under
compat/are vendored copies patched according to the host’s internal module structure. They may become mismatched after the host is upgraded. Please re-verify after upgrading and do not assume they remain usable.
Conclusion¶
The value of dsh-activity-view lies in fronting “currently active, currently running” to the visual sorting of the sidebar, while not breaking the other structures of the native list, with the scope of changes limited to two patches plus two compat packages. It currently has 0 stars and is an early community work. Before installing, just verify the host version and source code against the precautions above.
- Community directory: https://www.skillhub.cn/plugins/bloodtmai-cmyk/dsh-activity-view
- Repository: https://github.com/bloodtmai-cmyk/dsh-activity-view
(SkillHub is an independent community site and has no official affiliation with DeepSeek / Hackverse.)