deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:lgYanami/dph-unarchive-sessions
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
English | 中文
A DPH plugin for the DeepSeek Harness web surface: restores archived sessions from the workspace browser, grouped strictly by workspace.
DSH's workspace row action menu can archive a session (「归档会话」) but — in the stock harness — has no way back. This plugin closes the loop:
workspace.unarchiveSession RPC; the changed frame keeps every open browser consistent, and sessions reappear in their original account position without a reload.Archiving never touches a session's log or its workspace accounting slot: the archive set is a display filter over the durable account. Restoring removes the id from that set, so the session returns exactly where it was.
src/ — the browser plugin package @deepseek-ai/dsh-client-ui-unarchive (panel, locale dictionaries, invariant companion).tests/ — vitest suites: slot registration/teardown and panel scoping/restore behavior.harness-prerequisite.patch — the required host-side changes the plugin depends on.The stock harness has no unarchive API and no panel hole. harness-prerequisite.patch adds them to a deepseek-harness checkout:
dsh-workspace: public WorkspaceRegistry.unarchiveSession(sessionId) (idempotent, serialized, pure archive-set write).dsh-host-apiproxy: workspace.unarchiveSession RPC; the existing domain/changed listener already emits host/archived-sessions-changed, so no new event plumbing.dsh-client-runtime: unarchiveSession on the workspaces face.dsh-client-ui-workspace: the sidebar.workspaces.archivedPanel hole (occupancy-gated) plus the row menu entry.ui-unarchive row in the dsh.client roster, the web-app dependency, and the tsconfig.base.json source mapping.Apply it with git apply inside the harness checkout and rebuild (pnpm install && npm run build:lib:host && npm run build:lib:client && npm run build:web), then restart dsh web.
Drop this repository in as the plugin package inside the harness workspace:
cp -r dph-unarchive-sessions <harness>/packages/client/ui-unarchive
cd <harness>
pnpm install
npm run build:lib:client
The composition row, dependency, and tsconfig mapping come from harness-prerequisite.patch (above). Restart dsh web and hard-refresh the browser. The plugin then appears in Settings → 插件 as ui-unarchive, and every workspace row menu gains 「查看归档会话」.
sidebar.workspaces.archivedPanel slot through slots.inject (activation order between ui-workspace and this package is unconstrained).useSessions/useWorkspaces slot props; the single Host action — unarchiveSession — arrives through the slot's inject face.archivedSessionIds store through the Host changed frame; the panel applies per-session RPC calls in sequence.None: this package renders durable session facts for humans and adds no prompt, tool schema, request content, or model-visible result.
MIT © 2026 lgYanami
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。