dsh-hindsight-panel
Manifest validDeepSeek Harness sidebar panel for Hindsight: switch the memory plugin's LLM provider/model and browse what it remembers. One-step install from the release tarball.
dsh-hindsight-panel
给 DeepSeek Harness 用的侧边栏面板,把 Hindsight 记忆集中到一处 —— 并且可以直接 切换 Hindsight 自己用的模型,不用手改 env 文件。
| 切换 Hindsight 用的模型 | 选 provider、模型、base URL、API Key 与 reasoning effort,保存后可顺手重启本地 Hindsight daemon 让改动生效;一键回滚可恢复上一次的配置。 |
| 复用 DSH 已配置好的模型 | Harness profile 里声明过的 provider/模型(例如 opencode-go、deepseek-official)会原样列出。API Key 由宿主进程从 DSH 凭据库解析,不进浏览器、也不用重复填写。 |
| 看它记住了什么 | 当前 bank 的记忆、文档、观察、LLM 调用统计与知识页,支持关键词搜索、语义召回、记忆构成图。 |
| 面板内一键卸载 | 关于页通过 Harness 插件管理器移除 bundle 并刷新页面,不会动你的记忆数据和 Hindsight 配置。 |
全部本地运行:插件代理 127.0.0.1:9077 的 Hindsight REST API,并读写 daemon profile 的
env 文件(~/.hindsight/profiles/<profile>.env)。API Key 只以掩码形式展示。
环境要求
-
DeepSeek Harness,且是桌面/Web profile(只跑 CLI 不行)。
-
Hindsight coding agent 已安装并以 daemon 模式运行 —— 市场里的
@vectorize-io/hindsight-coding-agents,daemon 在127.0.0.1:9077。检查:curl http://127.0.0.1:9077/health # {"status":"healthy","database":"connected", ...} -
uvx在PATH上 —— 只有「保存并重启」「回滚」需要。不在PATH就用环境变量HINDSIGHT_UVX指定绝对路径。 -
Node.js 22.19+ / 24+ —— 只用于跑单元测试,运行插件不需要。
安装
插件没有构建步骤,两种装法任选。
一键安装(推荐)
把压缩包地址交给 Harness 的插件管理器就行,不用 git、不用构建:
-
侧边栏点 插件 → 添加插件(按钮旁的箭头里还有「安装第三方插件」)。
-
粘贴这个地址:
https://github.com/akamuyyds/dsh-hindsight-panel/releases/latest/download/dsh-hindsight-panel.tgz -
点 安装,等它下载并启用,侧边栏出现脑图图标就能用。
releases/latest/download/... 始终指向最新版本,可以收藏。升级时先在插件页卸载旧版,再用同一地址装一次。
从源码安装(还在改代码时用)
克隆下来,让 Harness 的插件管理器指向这个目录即可。
git clone https://github.com/akamuyyds/dsh-hindsight-panel.git ~/dsh-plugins/dsh-hindsight-panel
然后打开 Harness Web UI:
- 侧边栏点 插件,按 添加插件(按钮旁的箭头里还有「安装第三方插件」)。
- 选 本地目录,填克隆目录的绝对路径,例如
D:\dsh-plugins\dsh-hindsight-panel(要填真实路径,不要用~)。 - 列表里出现 Hindsight 记忆,立即生效。
- 点侧边栏新出现的脑图图标,面板在主区域打开。
目录要留在安装时所在的位置:bundle 是以
link:依赖安装的,移动或删除目录会让 插件失效,需要重新安装。
第一次打开
打开面板的「模型」页检查:
- Daemon 显示 healthy 与检测到的版本(例如
v1.1.0)。 - 当前模型 显示 daemon 现在实际使用的 provider/model(读自 profile env),Key 掩码。
- 点 测试连接 会触发一次真实的 Hindsight 抽取调用(
dry-run-extract),能拿到 facts 就说明 provider、模型、Key 整条链路都通。
使用
模型页
- 从 DSH 本地配置导入 —— 选 Harness profile 里声明过的 provider,模型列表和凭据
(
OPENCODE_GO_API_KEY、DEEPSEEK_API_KEY等)自动探测;Key 输入框会提示 自动:<凭据名>。 - 手动配置 —— 选 Hindsight 内置的 provider,或自己填 provider 名 + base URL (OpenAI 兼容)。
- 保存 原位改写 profile env 文件,保留注释与所有无关行。保存并重启 还会执行
uvx hindsight-embed@latest daemon --profile <profile> stop|start,并等到/health返回healthy+database: connected。大约 1–2 分钟:daemon 要验证模型连接并加载 本地 embedding 模型。 - 回滚 从
~/.hindsight/profiles/<profile>.env.hindsight-panel-backup.json恢复 上一次的 LLM 配置并重启。 - Reasoning effort 只在填写时写入;不支持该参数的 provider 写
none也安全。
记忆页
bank 选择器(通常是 coding-agent::<repo>)、4 个统计卡、构成甜甜圈图与 30 天活跃度
曲线,下面是子标签:
- 记忆 —— 按 fact 类型过滤、关键词搜索(
/memories/list?q=)或语义召回 (/memories/recall,带 reranker 分数)。 - 文档、观察、LLM 调用(provider、模型、token、耗时)、知识页(bank 没有知识页时显示空状态)。
卸载
关于 → 卸载 调用 Harness 插件管理器移除 bundle 并刷新页面;在 设置 → 插件 里
移除 Hindsight 记忆 效果相同。两者都不会删除记忆数据,也不会改 ~/.hindsight。
模型切换的原理
Hindsight 在 daemon 启动时读取 LLM 配置,所以「换模型 = 改 env → 重启 daemon」。面板做的 就是这件事:
- 只原位改写相关键(
HINDSIGHT_API_LLM_PROVIDER、_MODEL、_API_KEY、_BASE_URL、_REASONING_EFFORT、HINDSIGHT_API_PORT)。模板注释保持注释,文件格式不变。 - 把上一版 LLM 配置写进
.hindsight-panel-backup.json,供回滚使用。 - 用
uvx停止并启动 daemon;把「/health已不再应答」视为停止成功(Windows 上 停止命令即使生效也会返回非 0),随后轮询/health直到就绪。
重启失败时面板会显示日志尾部,env 里仍保留上一版可用的值,重新启动会回到最后一次 已知可用的配置。
常见问题
| 现象 | 处理 |
|---|---|
| 接口返回 403 | 插件校验 x-dsh-hindsight-panel: 1 请求头与同源 Origin,只能从面板调用,别从第三方页面调。 |
面板显示 daemon: unreachable | 启动 Hindsight:uvx hindsight-embed@latest daemon --profile coding-agent start。用了别的 profile 就在 ~/.hindsight/coding-agent.json 里设 daemonProfile。 |
重启卡在 stop | Windows 上是正常现象:停止命令杀掉进程后仍返回非 0。面板已把「daemon 不再应答」当作停止成功;若它仍 healthy,错误信息会来自日志。 |
重启卡在 ready | 看面板里的日志尾部与 ~/.hindsight/profiles/<profile>.log,多半是 base URL 写错、Key 被拒或没有网络。 |
| 更新后侧边栏图标不见了 | 宿主代码不会热重载:在 设置 → 插件 里把 Hindsight 记忆 禁用再启用,然后刷新页面。 |
| Key 输入框看起来是空的 | 空密码框表示「保留已存的 Key」。真要删除请用「清除已存 Key」。 |
| 端口 | daemon API 默认 9077;面板路由在 Harness Web 服务器的 /api/dsh-hindsight-panel/* 下。 |
开发
没有构建步骤。宿主半边是普通 Cordis 插件(lib/index.js);浏览器半边是手写的
window.__ModuleLoader__.load({ id, factory }) 模块(lib/client.js)。插件标题和描述来自
locale/*.json。
npm test # env 文件编辑器单元测试(node --test)
node --check lib/index.js lib/client.js lib/env-config.js
重载方式:改宿主代码 → 在 设置 → 插件 里禁用/启用插件;改 lib/client.js → 刷新页面。
宿主报错见 Harness 的日志输出。
| 路径 | 用途 |
|---|---|
lib/index.js | 宿主:HTTP 路由、Hindsight API 代理、env 编辑、重启状态机、本地 provider 探测 |
lib/env-config.js | env 解析 / 掩码 / 保留注释的改写(纯函数) |
lib/client.js | 浏览器:侧边栏入口 + 主面板(模型 / 记忆 / 关于) |
cordis.patch.yml | 插入插件行的 bundle patch |
locale/en.json, locale/zh.json | 插件管理器里的标题与描述 |
test/env-config.test.mjs | 单元测试 |
许可
MIT —— 见 LICENSE。
英文文档见 README.en.md。
Comments
Loading…
Similar plugins
by Ryu6Zero
🧠 Cross-session memory for DeepSeek Harness backed by Hindsight. Self-contained dsh-plugin: /hindsight commands + hindsight_recall/remember/status/list/forget agent tools. Lightweight, no dsh-mnemon,
★ 4
↓ 447/wk
MIT
TypeScript
Aug 28, 2026
dsh plugin --profile web add dsh-hindsightby pkui1mpression-design
Sidebar panel for DeepSeek Harness: lists the plugins installed in the current profile and gives each one an enable/disable switch.
★ 0
MIT
JavaScript
Nov 3, 2026
dsh plugin --profile web add dsh-sidebar-installed-pluginsby chocobo77
DeepSeek Harness plugin: multi-tier memory management, semantic retrieval, structured memory, and model-context awareness for infinite context.
★ 4
MIT
TypeScript
Oct 22, 2026
dsh plugin --profile web add dsh-infinite-contextby online111111
Native Hindsight memory for DeepSeek Harness: automatic recall, per-turn retention, safe configuration.
★ 0
MIT
JavaScript
Oct 7, 2026
dsh plugin --profile web add dsh-hindsight-bridgeby inxups
Session-scoped memory tab for DeepSeek Harness — a companion plugin to dsh-memento.
★ 0
MIT
JavaScript
Sep 13, 2026
dsh plugin --profile web add dsh-memento-tabby Hua1Q1nG
Local-memory lifecycle for the official Hindsight plugin on DSH desktop: one-click start/stop of the hindsight-embed daemon, auto-start on boot, stop on exit, hides the uv.exe console window, and inst
★ 3
MIT
JavaScript
Aug 20, 2026
dsh plugin --profile web add dsh-hindsight-local