deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
English | 中文
DeepSeek Harness workspace tools: configure per-workspace Agent and permission presets that new root sessions apply automatically, so you stop re-selecting them on every new session.

Official extension points only — works out of the box on official DSH 0.1.5-rc.1 and later, with no DSH patches.
agent/created event, before the first turn), the plugin resolves the session's working directory (session.header.cwd) to a registered workspace; on a rule hit:agentPresets.select and recorded durably on the session;permissionPresets.set (sandbox mode and approval policy follow).dsh plugin --profile web add @ahiosuz/dsh-workspace-tools
0.1.5-rc.1 (official build, no patches). Official capabilities used: the agent/created event, agentPresets.select, the permissionPresets service, a settings.installSection namespace, and the remote.workspace.follow state stream.workspaceActions row menu and the sidebar.workspaces.overlay slot). The official repository does not accept external patches, so 0.4.0 moved to pure official extension points; configuration moved from the workspace row menu to the settings panel.Why does a new session briefly show the global default?
The automatic application happens after the session is published (agent/created) and before the first turn — so the global default shows for a moment before the switch. That is the timing of the official create-then-switch flow; the final state is the workspace default.
Why did existing / resumed sessions not change? Rules only apply to newly created root sessions. Resumed, forked, subagent, and already-started sessions are explicitly skipped, and a session you chose manually stays on your choice.
My directory is missing from the workspace dropdown. The dropdown lists workspaces registered in the DSH sidebar. Register the directory as a workspace first, then add the rule on this page.
The switch failed — how do I debug it?
The most common failure is the target preset itself failing to mount — for example a custom preset file whose persona entry lacks the required prefix field (the schema is prefix required plus optional suffix; writing text instead fails the mount). Mount failures are logged in the DSH server log; fix the preset file and newly created sessions pick it up.
npm install
npm run check
npm run check builds both halves and runs smoke tests (rule matching, listener behavior, client bundle contract, dotted-inject regression guard). The npm package prebuilds and ships lib/index.js and lib/client.js; no lifecycle scripts run on install.
The plugin only reads the session's working directory (session.header.cwd) and calls the official preset services. Rules live in your settings document (the workspace-tools namespace of settings.yaml) and can be edited or cleared at any time. The plugin contains no telemetry, no credential access, no command execution, and no network access. Enabling danger-full-access follows DSH's official permission-preset semantics; use it only for directories you trust.
MIT License.
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。