coding-agents
vectorize-io/hindsightHindsight:会学习的 Agent 长期记忆系统,自动召回/保存、知识页、深度反思与按仓库隔离的记忆银行。
在「工作」之外加一个「聊天」模式:使用自定义人设,每轮自动提炼长期记忆并按话题召回,还能保存和发送表情包。
中文 | English
给 DeepSeek Harness(dsh)加一个「聊天」模式:在顶部切换 聊天 / 工作。聊天模式下,模型以你设定的人设和你聊天,自动记住聊过的事,在之后的对话里自然地用上;工作模式保持 dsh 原样,不带人设,也不读写聊天记忆。
记忆 · 表情包 ·
截图中的人设、记忆和表情均为演示数据。
save_stickers 工具把图片存进表情库,自己起名字、写含义。[表情:名字],插件把它换成图片,以小图显示。部分 · 做了什么 companion Agent 预设 · 聊天会话使用的预设:不挂任何工具,只保留上下文压缩。 dsh-companion/agent · 预设内的行:用人设作为完整系统提示词(dsh-persona 同样的方式),关闭可选的运行时上下文,再加一条必需的上下文,放当前时间和挑出的记忆。 dsh-companion(Host) · 记忆与人设存储、POST /api/dsh-companion/* 接口、聊天轮结束后的记忆提炼、聊天模型与工作默认模型的隔离。 dsh-companion(Web) · 顶部切换(conversation.header.leading)、聊天记录列表(以负优先级遮住 sidebar.workspaces)、记忆面板(main + sidebar.panellist)。
表情包相关:聊天预设里唯一的工具是 save_stickers;Host 包住 llm/stream,只在聊天会话里把回复中的 [表情:名字] 改写成指向本地文件的 Markdown 图片;面板上传时先把图片存成 dsh 附件,再调用一次能看图的模型自动命名。
数据保存在 ~/.dsh/companion/(设置了 DSH_HOME 时在其下):persona.json、memories.json、settings.json、stickers.json,表情图片在 dsh-companion-stickers/ 文件夹里。设置环境变量 DSH_COMPANION_HOME 可以把这些数据放到别的目录,比如用一份单独的演示数据。
先从托盘完全退出 DeepSeek Harness 桌面版,然后从 GitHub 安装:
dsh plugin --profile desktop add github:wuwen837/dsh-companion开发时也可以克隆仓库,再链接到本地目录,改完代码重启就生效:
git clone https://github.com/wuwen837/dsh-companion.git
dsh plugin --profile desktop add link:<克隆下来的目录的绝对路径>安装后确认该 profile 的 package.json 里 dsh.profile.bundles 包含 dsh-companion,再打开桌面版。改了后台代码(index.js、agent.js、lib/)以后,同样要从托盘完全退出再重开,只关窗口不会重新加载。
node test/offline.test.mjs离线测试覆盖存储、检索、提示词和提炼结果解析。界面和模型调用需要在运行中的 dsh 里验证。
MIT