Skills Plugins MCP Prompt Model 导航 博客 资讯 我的中心
会话与消息 #dsh-plugin

dsh-archived-conversation

DeepSeek Harness 已归档会话管理器:在「设置 → 已归档」中搜索、浏览、取消归档与删除

li-canghai @li-canghai ⬇ 1 ★ 2 main

安装

dsh plugin --profile web add github:li-canghai/dsh-archived-conversation
下载安装清单

需要可复现安装时,可在仓库后追加 #commit 固定提交。

DeepSeek Harness 已归档会话管理器:在「设置 → 已归档」中搜索、浏览、取消归档与删除

该插件未提供要点说明,请参考仓库 README。

dsh-plugin
  1. 安装并启动 DeepSeek Harness:npx @deepseek-ai/dsh web
  2. 在终端执行上面的安装命令(CLI 会解析插件并核验来源)
  3. 用 dsh plugins list 确认已安装,必要时重启 Harness 生效

插件以当前 dsh 进程的权限运行,安装时可能执行代码。请先通读仓库源码与许可证,确认无破坏性命令与越权访问;本站只做索引,不对第三方插件安全性作担保。

代码仓库github.com/li-canghai/dsh-archived-conversation
许可证MIT
主要语言main
下载量1
GitHub 星标2
最近推送2026-08-28
收录日期2026-09-19
分类会话与消息

事实信息来自公开插件目录快照(2026-10-01),介绍文案由本站再加工。

以下为插件仓库 README 全文(原始内容,由公开目录抓取整理)。

# dsh-archived-conversation

[简体中文](README.zh-CN.md) | English

[![npm version](https://img.shields.io/npm/v/dsh-archived-conversation)](https://www.npmjs.com/package/dsh-archived-conversation)
[![GitHub release](https://img.shields.io/github/v/release/Li-canghai/dsh-archived-conversation)](https://github.com/Li-canghai/dsh-archived-conversation/releases/latest)

An **archived-conversation manager** plugin for DeepSeek Harness (DSH). It adds a **Settings → 已归档 (Archived)** page where archived conversations can be searched, browsed by project, unarchived, or deleted.

DSH already ships the *archive* capability (right-click a conversation in the left sidebar → Archive; the conversation disappears from the workspace view and its id is written to `archivedSessionIds` in `~/.dsh/storages/workspace.json`). But DSH currently has **no** management UI for archived conversations and **no** unarchive / delete entry point — this plugin fills that gap.

## Features

- **Grouped by project** — reuses DSH's workspace info to group archived conversations under their owning project.
- **Instant search** — filters archived conversations by title, project name, or session ID in the browser, without additional session-log reads.
- **Unarchive** — removes the id from `archivedSessionIds`; the conversation returns to its original position in its workspace.
- **Delete** — detaches from the workspace, drops from the archive set, and removes the on-disk session directory (irreversible).
- Auto-refreshes every 20 seconds and immediately whenever the window regains focus.

## How it works

- Pure ESM, zero runtime dependencies (Node built-ins only), same shape as `dsh-mcp-manager`.
- Client: registers the "已归档" tab via the `settings.section` slot, rendered with `react.createElement` (no JSX, no bundler).
- Host: mounts the `/archived-conversation/api/*` same-origin JSON API via `ctx.webServer.register`.
- Performance: each refresh performs one parallel `stat` per archived log and reuses workspace/file metadata; title-cache hits skip header reads, while concurrent refreshes share one list rebuild.
- Reuses DSH's own services; **never parses the session file format**:
  - `ctx.workspaceRegistry` — the authority on archive state and project membership.
  - `ctx.sessionPersistence.readFrom` — reads each archived session's log and folds its last `session/title` event (the same logic as DSH's own "title" projection unit; `sessionQuery.readTitleSnapshots` is unreliable for cold persisted sessions).
  - `ctx.webServer` — mounts the management API.
- Guard rails: mutation requests require a same-origin Origin, JSON Content-Type, and loopback Host; a running session is queued instead of torn down mid-turn. An idle attached session is released, then deleted.
- Title lookup is compatible with DSH `0.1.2-alpha.1`: it uses only `cachedSnapshot(header)`, then one persistence read. It does not call `coldSnapshot(id)`, whose signature changed in that release.

## Install / Update

Requires [DeepSeek Harness](https://www.deepseek.com/harness/) and **pnpm** on PATH (`dsh plugin` forwards to it).

Install:

```sh
dsh plugin --profile web add dsh-archived-conversation@latest
```

If `dsh` is not on PATH:

```sh
npx -y --package @deepseek-ai/dsh dsh plugin --profile web add dsh-archived-conversation@latest
```

Update:

```sh
dsh plugin --profile web update dsh-archived-conversation@latest
```

Then restart `dsh --profile web` and reload the page. The plugin self-activates through `dsh.bundle.patch`; no manual `cordis.patch.yml` edits needed. This plugin has no native build scripts, so `pnpm approve-builds` is not required.

If pnpm 11 reports `minimum release age` (the version is younger than 24h), pin the exact version:

```sh
dsh plugin --profile web add dsh-archived-conversation@0.2.4
```

GitHub Release tarball (prebuilt, no npm):

```sh
dsh plugin --profile web add https://github.com/Li-canghai/dsh-archived-conversation/releases/latest/download/dsh-archived-conversation.tgz
```

## Usage

1. In the left sidebar, right-click any conversation → **Archive** (provided natively by DSH).
2. Open **Settings → 已归档**: browse by project or search by title, project name, or session ID.
3. For each matching conversation you can:
   - **Unarchive** — return it to its original workspace position.
   - **Delete** — remove it permanently (confirmation dialog; irreversible).

## API

| Method | Path | Description |
| --- | --- | --- |
| GET | `/archived-conversation/api/ping` | Liveness probe (no Origin required) |
| GET | `/archived-conversation/api/list` | Archived conversations grouped by project (no Origin required) |
| POST | `/archived-conversation/api/:id/unarchive` | Unarchive (same-origin Origin + JSON Content-Type + loopback Host) |
| DELETE | `/archived-conversation/api/:id` | Delete (same-origin Origin + JSON Content-Type + loopback Host) |

## Layout

```text
dsh-archived-conversation/
  package.json        # dsh.client.inject + dsh.bundle.patch
  cordis.patch.yml    # plugin row (activated by bundle.patch)
  lib/index.js        # host: API + archive-state read/write
  lib/client.js       # client: Settings "已归档" UI
  README.md / README.zh-CN.md / LICENSE
```

## Verification

No build step. After installing into a live web profile, open **Settings → 已归档** in the browser. Host liveness: `GET /archived-conversation/api/ping`.

数据来源:公开的 DeepSeek Harness 插件目录与各插件 GitHub 仓库。本站为独立第三方目录,与 DeepSeek、幻方(High-Flyer)及插件作者均无隶属或背书关系。

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。