dsh-session-recall 0.7.1 → 0.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +22 -2
  2. package/README.zh.md +22 -2
  3. package/package.json +9 -1
package/README.md CHANGED
@@ -2,10 +2,26 @@
2
2
 
3
3
  English | [中文](https://github.com/kittimzhe/dsh-session-recall/blob/main/README.zh.md)
4
4
 
5
- [![CI](https://github.com/kittimzhe/dsh-session-recall/actions/workflows/test.yml/badge.svg)](https://github.com/kittimzhe/dsh-session-recall/actions/workflows/test.yml) [![npm version](https://img.shields.io/npm/v/dsh-session-recall)](https://www.npmjs.com/package/dsh-session-recall) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/kittimzhe/dsh-session-recall/blob/main/LICENSE)
5
+ [![CI](https://github.com/kittimzhe/dsh-session-recall/actions/workflows/test.yml/badge.svg)](https://github.com/kittimzhe/dsh-session-recall/actions/workflows/test.yml) [![npm version](https://img.shields.io/npm/v/dsh-session-recall)](https://www.npmjs.com/package/dsh-session-recall) [![npm downloads](https://img.shields.io/npm/dm/dsh-session-recall)](https://www.npmjs.com/package/dsh-session-recall) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/kittimzhe/dsh-session-recall/blob/main/LICENSE)
6
6
 
7
7
  Deterministic cross-session full-text retrieval for [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness): the model-facing `recall` tool lets the agent **search its own past session transcripts** — "that bug we fixed last week", "the font we chose for my resume" — through the trusted `ctx.sessionQuery` seam.
8
8
 
9
+ ## Quick Start
10
+
11
+ **Requirements**: Node.js 20 or 22 · a DeepSeek Harness profile that mounts the `tools` and `sessionQuery` services (the shipped `web` / `agent` profiles qualify).
12
+
13
+ ```sh
14
+ dsh plugin --profile web add dsh-session-recall
15
+ ```
16
+
17
+ The first search builds a persistent FTS5 index automatically — no extra setup. In a session, just ask naturally:
18
+
19
+ ```text
20
+ recall: which font did we pick for the resume last week?
21
+ ```
22
+
23
+ Full details — GitHub install route, `cordis.patch.yml` snippet, configuration — in [Install](#install-out-of-tree-plugin) below.
24
+
9
25
  ## Positioning
10
26
 
11
27
  `dsh-session-recall` is a **transcript retrieval layer** focused on correctness and control.
@@ -137,7 +153,7 @@ Every result also carries a `diagnostics` object (v0.5): which engine produced t
137
153
  - First search after startup walks the durable logs to build the index (the tool description warns the model); subsequent searches are incremental.
138
154
  - `unicode61` matches whole tokens/phrases, not substrings — `AI` does not match `BRAID`. CJK queries that get zero full-text hits fall back to a substring scan (`filterEvents`) whose whitespace-separated terms are ANDed, so `简历 模板` also recovers `简历模板`; the hint reports when that path matched.
139
155
  - One process must own the index file (single-writer SQLite, per the official backend).
140
- - Matches return transcript text verbatim — there is no credential or local-path redaction. A token or sensitive path pasted into an earlier session can be surfaced by a matching search. Default cwd scoping and `allowAllProjects: false` are the only containment; fingerprinting or redaction is future work.
156
+ - By default matches return transcript text verbatim — redaction is opt-in since v0.4 (`redactionMode: 'mask' | 'hash'`; see "Scope policy & redaction"). With `redactionMode: 'off'` (the default), a token or sensitive path pasted into an earlier session can still be surfaced by a matching search; default cwd scoping and `allowAllProjects: false` remain the containment baseline.
141
157
 
142
158
  ## Benchmark
143
159
 
@@ -171,3 +187,7 @@ npm run bundle # tsdown → lib/
171
187
  ## License
172
188
 
173
189
  [MIT](https://github.com/kittimzhe/dsh-session-recall/blob/main/LICENSE)
190
+
191
+ ## Community
192
+
193
+ - [Contributing](CONTRIBUTING.md) · [Security policy](SECURITY.md) · [Code of Conduct](CODE_OF_CONDUCT.md)
package/README.zh.md CHANGED
@@ -2,10 +2,26 @@
2
2
 
3
3
  [English](https://github.com/kittimzhe/dsh-session-recall/blob/main/README.md) | 中文
4
4
 
5
- [![CI](https://github.com/kittimzhe/dsh-session-recall/actions/workflows/test.yml/badge.svg)](https://github.com/kittimzhe/dsh-session-recall/actions/workflows/test.yml) [![npm version](https://img.shields.io/npm/v/dsh-session-recall)](https://www.npmjs.com/package/dsh-session-recall) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/kittimzhe/dsh-session-recall/blob/main/LICENSE)
5
+ [![CI](https://github.com/kittimzhe/dsh-session-recall/actions/workflows/test.yml/badge.svg)](https://github.com/kittimzhe/dsh-session-recall/actions/workflows/test.yml) [![npm version](https://img.shields.io/npm/v/dsh-session-recall)](https://www.npmjs.com/package/dsh-session-recall) [![npm downloads](https://img.shields.io/npm/dm/dsh-session-recall)](https://www.npmjs.com/package/dsh-session-recall) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/kittimzhe/dsh-session-recall/blob/main/LICENSE)
6
6
 
7
7
  DeepSeek Harness 的**确定性跨会话全文检索**插件:注册模型可调用的 `recall` 工具,让 agent 能**检索自己过往的会话原文**——"上周修的那个 bug"、"简历选的什么字体"——全部通过可信的 `ctx.sessionQuery` 缝完成。
8
8
 
9
+ ## 快速开始
10
+
11
+ **环境要求**:Node.js 20 或 22 · 挂载了 `tools` 与 `sessionQuery` 服务的 DeepSeek Harness profile(官方 `web` / `agent` profile 均满足)。
12
+
13
+ ```sh
14
+ dsh plugin --profile web add dsh-session-recall
15
+ ```
16
+
17
+ 首次搜索会自动构建持久化 FTS5 索引——无需额外步骤。会话里直接问:
18
+
19
+ ```text
20
+ recall:上周给简历选的什么字体来着?
21
+ ```
22
+
23
+ 完整细节(GitHub 安装方式、`cordis.patch.yml` 片段、配置项)见下文「安装」一节。
24
+
9
25
  ## 项目定位
10
26
 
11
27
  `dsh-session-recall` 是一个强调正确性与边界控制的**会话检索层**。
@@ -136,7 +152,7 @@ dsh plugin --profile web add github:kittimzhe/dsh-session-recall
136
152
  - 启动后第一次搜索会扫全量日志建索引(工具描述里已警告模型);之后增量更新。
137
153
  - `unicode61` 按完整 token/短语匹配,不支持子串——`AI` 匹配不到 `BRAID`。CJK 查询零命中时会回退到子串扫描(`filterEvents`),空格分隔的各词按 AND 语义都必须命中,因此 `简历 模板` 也能找回 `简历模板`;hint 会说明是否命中。
138
154
  - 索引文件单进程独占(官方后端的单写者 SQLite 约束)。
139
- - 命中结果按原文照摘,**没有任何凭据或本地路径脱敏**——更早的会话里粘贴过的 token 或敏感路径可能被检索出来。目前只有默认 cwd 收窄与 `allowAllProjects: false` 两道闸;指纹识别/脱敏是后续增强。
155
+ - 默认情况下命中结果按原文照摘——脱敏自 v0.4 起为**可选项**(`redactionMode: 'mask' | 'hash'`,见「范围策略与脱敏」一节)。`redactionMode: 'off'`(默认)时,更早会话里粘贴过的 token 或敏感路径仍可能被检索出来;默认 cwd 收窄与 `allowAllProjects: false` 仍是基础防线。
140
156
 
141
157
  ## 基准
142
158
 
@@ -170,3 +186,7 @@ npm run bundle # tsdown → lib/
170
186
  ## 许可
171
187
 
172
188
  [MIT](https://github.com/kittimzhe/dsh-session-recall/blob/main/LICENSE)
189
+
190
+ ## 社区
191
+
192
+ - [贡献指南](CONTRIBUTING.md) · [安全策略](SECURITY.md) · [行为准则](CODE_OF_CONDUCT.md)
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "dsh-session-recall",
3
3
  "description": "Deterministic cross-session transcript retrieval for DeepSeek Harness: the model-facing `recall` tool searches past session logs with explicit scope control",
4
- "version": "0.7.1",
4
+ "version": "0.7.3",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -65,5 +65,13 @@
65
65
  "watch": "tsdown --watch",
66
66
  "typecheck": "tsc --noEmit",
67
67
  "test": "vitest run"
68
+ },
69
+ "repository": {
70
+ "type": "git",
71
+ "url": "git+https://github.com/kittimzhe/dsh-session-recall.git"
72
+ },
73
+ "homepage": "https://github.com/kittimzhe/dsh-session-recall#readme",
74
+ "bugs": {
75
+ "url": "https://github.com/kittimzhe/dsh-session-recall/issues"
68
76
  }
69
77
  }