Skip to content
dsh.fish
Bundle

@harzva/dsh-session-folders

给 DeepSeek Harness 的会话加一层「文件夹」归类:按 cwd 自动归档、手动移动到任意文件夹,文件夹路径即项目记忆作用域。 Adds a folder layer to DSH sessions: auto-file by cwd, move sessions between folders, folder path = project-memory scope.

Source
Harzva
License
MIT
Updated
Updated 6 days ago

Readme

# dsh-session-folders

给 DeepSeek Harness (DSH) 的会话加一层「文件夹」归类。会话可以按 cwd 自动归档、手动移动到任意文件夹;文件夹路径即项目记忆作用域钩子。

A self-contained folder layer for DSH sessions: sessions file under folders (`''` = inbox), auto-file by working directory, and each folder path doubles as the project-memory scope.

## What it does

- **Durable folder registry.** `sessionId → folderPath` assignments and folder definitions live in their own DSH storage-domain, so they survive restarts and are independent of the core workspace model.
- **Non-destructive removal.** Removing a folder returns its member sessions to the inbox; it never deletes a session or its log.
- **Client surfaces (additive, no core slot replaced):**
  - a **Session Folders** settings page to create / rename / remove folders and file sessions;
  - a per-session **"Move to folder…"** action.
- **Memory scope hook.** `assignment[sessionId]` gives the folder path a session belongs to — that path is the natural key for a project-scoped memory namespace (e.g. `.harvis/memory`).

## What it deliberately does not do (yet)

The **sidebar "group by folder" tree** is not provided by this plugin. DSH's `sidebar.workspaces` region owns the session list and exposes no additive inner seat for a folder tree, so that grouping requires a core slot patch — which is why the folder model is split between this plugin (durable registry + management UI) and any future core slot.

## Install

```sh
dsh plugin --profile web add <tarball-or-github-url>
```

For users on the Harzva release:

```sh
dsh plugin --profile web add github:Harzva/dsh-session-folders
```

## Development

```sh
pnpm install
pnpm check        # build + node --test + verify-package
pnpm run pack:dsh # artifacts/dsh-session-folders-<version>.tgz
```

## Contract

- `dsh.bundle.patch` → `./cordis.patch.yml` (loader row `harzva-dsh-session-folders`).
- `dsh.client` (platform `web`) injects the DSH client connection / runtime / settings / slots / locale facades.
- Host exports `./lib/index.js` (Node), Client exports `./lib/client.js` (browser).

## License

MIT

Install

dsh plugin --profile web add github:Harzva/dsh-session-folders#7834c5855b8fbca5c7a10ce58c32c9c608684c90

Profile: web

  • This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
Source