dsh-thinking-language-zh
ayanJava111
deepseek harness思考过程中文插件
PROJECT TOPICS
PROJECT README
为 DSH(DeepSeek Harness)打造的记忆管理插件:跨会话记忆库、规约记忆自动注入、会话总结、上下文计划注入、Agent 记忆工具、力导向图谱与完整的对话侧栏面板。 Memory Manager for DSH — cross-session memory library, conventions auto-injection, session summaries, context planning & Agent memory tools.
memories/*.md),front-matter 元数据,Obsidian 兼容,可直接用任意编辑器或图谱工具打开。<!-- mem:notes --> 标注层可随时补充说明,互不污染。tags 含 convention 即规约记忆、含 会话总结 即会话总结记忆,enabled=false 的记忆不参与自动注入、不能加入注入计划。tags 含 convention)与最近 8 条会话总结记忆(tags 含 会话总结);旧会话不自动注入,可在「记忆库」页手动加入。links 自动建立反向引用索引。form: 'snapshot' 的 plugin 消息,UI 折叠显示、模型可见),带单条 / 总量 / 固定消息三级字符上限与紧凑视图;对极简模式(persona complete: true)等任何会话形态都生效。memory_search / memory_recall / memory_save / memory_set_enabled / session_inject / memory_pin,可整体开关,模型可直接读写记忆库、按需管理会话注入计划。mg-* 组件);按标签着色(规约 / 会话总结 / 复盘 / 其他),支持搜索定位、聚焦邻域、缩放 / 平移与详情 / 相关记忆跳转。conversation.session.header.actions 插槽内的隐藏接收器按 anchorSeq 匹配并滚动高亮,跨会话自动切换。插件是宿主级(Host)插件:lib/index.js 为 Host 半区(ESM,注册 settings / 工具 / 注入段 / HTTP API / 事件),lib/client.js 为浏览器 Client 半区 bundle(window.__ModuleLoader__.load 包裹的 CJS),两者通过 HTTP 端点 /_dsh/memory-manager/api,以 {op, sessionId, args} JSON 信封通信;Host 端 agent/created 预载计划并对新会话自动注入规约 / 会话总结记忆,Client 端 6 个插槽驱动右侧面板、左侧图谱浮层、消息跳转与设置页。
请参阅 docs/INSTALL.md —— 简要而言,把本包放入 DSH profile 的 node_modules,在 profile 的 package.json 的 dsh.profile.bundles 中登记 bundle(通过包内 cordis.patch.yml 以 insert 方式挂载进 profile 层栈),重启 DSH 即可。
提示:也可直接用
examples/memory-library/作为记忆库路径,快速体验图谱与检索。
仓库根目录 CONVENTIONS.md 是一份可直接使用的规约详情文件(委派-验证-复盘闭环规约 v4:打包 → 委派 → 验证 → 复盘 → 并入 的五阶段闭环)。把它作为规约记忆接入插件后,DSH 会在每个新会话中自动注入规约内容,让主 agent 按规约处理问题。
委派-验证-复盘闭环规约 (v4)(示例)tags 填入 convention(规约记忆标记;也可以直接对 agent 说"把 CONVENTIONS.md 保存为规约记忆",由模型用 memory_save 完成)session_inject)。autoInjectConvention 开启时,所有启用中的规约记忆自动常驻每个新会话。tags 含 convention 且启用中的记忆 → 每个新会话自动常驻(设置页「新会话自动注入规约/会话总结记忆」可整体关闭)。memory_save 入库(impressions 含 复盘 与领域关键词),打包前 memory_search 检索历史经验——规约闭环中的「检索先行」要求记忆库持续沉淀、不断成长。CONVENTIONS.md 执行即可。memory-manager)| 字段 | 类型 | 默认值 | 含义 |
|---|---|---|---|
enabled |
boolean | true |
总开关。关闭后不注入、Agent 工具拒绝执行、API 仅返回状态(供设置页重新开启) |
mode |
'on' \| 'off' |
'off' |
临时记忆模式。on = 每次发送自动注入固定消息与勾选记忆;off = 不自动注入,可用 plan.injectOnce 做单次注入 |
view |
'full' \| 'compact' |
'full' |
记忆注入视图。full = 注入完整快照;compact = 仅标题 + 印象 + 预览(模型可 memory_recall 读全文) |
modelTools |
boolean | true |
是否向 Agent 注册 6 个记忆工具 |
libraryPath |
string | '' |
记忆库文件夹绝对路径;为空时自动锚定到默认记忆库(工作区下的 .dsh-memory) |
memoryChars |
number | 6000 |
单条记忆注入字符上限 |
totalChars |
number | 12000 |
单次计划注入的总字符上限 |
pinChars |
number | 6000 |
固定消息合计字符上限 |
autoInjectConvention |
boolean | true |
新会话自动注入开关。开启后新会话默认常驻启用中的规约记忆(tags 含 convention)与最近 8 条会话总结记忆(tags 含 会话总结);旧会话不自动注入,可手动加入 |
| 工具 | 参数 | 行为 |
|---|---|---|
memory_search |
query: string(必填) |
按关键词匹配记忆标题、印象与正文,返回 id / 标题 / 印象 / 预览(最多 20 条) |
memory_recall |
id: string(必填) |
读取一条记忆的完整快照与标注,及其链接、组合来源、被引用关系 |
memory_save |
title / impressions(数组,必填)/ snapshot(必填)/ notes(必填)/ tags(数组)/ enabled |
保存一条新记忆到记忆库,返回记忆元数据;tags 填 convention 即规约记忆、填 会话总结 即会话总结记忆(两者新会话默认自动注入);enabled 默认 true |
memory_set_enabled |
id(必填)/ enabled(必填) |
启用或禁用一条记忆。禁用后不参与新会话自动注入、不能加入注入计划(已在计划中的也不再注入),直到重新启用 |
session_inject |
id(必填)/ inject(必填) |
把一条记忆加入或移出当前会话的注入计划;记忆模式开启时每轮自动注入 |
memory_pin |
content: string(必填)、label: string(必填,可为空) |
把一段文本固定为当前会话的临时记忆(记忆模式开启时每次发送自动注入) |
行为受
modelTools与enabled双重门控;memory_pin/session_inject需要能确定当前会话。
记忆存放在记忆库的 memories/<id>.md,<id> 为 3–64 位字母 / 数字 / _ / -:
---
id: "m_example_planning"
title: "示例:季度产品规划"
impressions: ["产品规划", "路线图", "示例"]
tags: []
composedOf: []
links: []
sourceSession: null
sourceSeqs: []
createdAt: 1750000000000
updatedAt: 1750000000000
revision: 1
enabled: true
---
## 快照
此处为不可变的记忆正文快照。
<!-- mem:notes -->
此为可编辑的标注层,随时可补充说明。
完整字段说明见 docs/ARCHITECTURE.md#记忆文件格式。
examples/memory-library/ 是一个开箱即用的示例记忆库:
memories/m_example_planning.md —— 基础记忆,演示 front-matter 与标注层memories/m_example_meeting.md —— 演示 links 关联与自动反向链接memories/m_example_composite.md —— 演示 composedOf 非破坏组合pinned/example-session.json —— 演示某会话的注入计划文件(固定消息 + 勾选记忆)config.json —— 兼容旧版的迁移配置形态把 libraryPath 指向该目录即可体验图谱与检索。
参见 docs/DEVELOPMENT.md。要点:lib/client.js 是浏览器 bundle 构建产物格式(factory 内为 CJS),修改后需保持 window.__ModuleLoader__.load({ id, factory }) 包裹格式;回归测试有两套 —— tests/test-apply.mjs(Host apply 回归)与 tests/smoke-client.mjs(mock 浏览器 + SSR 渲染各组件 + 按钮断言)。
dsh-memory-manager is a host-level plugin for the DeepSeek Harness that gives agents a durable, cross-session memory. Memories are plain Markdown files with front-matter metadata (Obsidian-compatible), each composed of an immutable snapshot plus an editable annotations layer. Memories carry short "impression" tags plus a classification tags field and a per-memory enabled switch; a memory tagged convention is a convention memory, and one tagged 会话总结 is a session summary. With autoInjectConvention on, every new session automatically receives all enabled convention memories plus the latest 8 session-summary memories. A per-session context plan — pinned messages plus checked memories — is injected into the model's system prompt on each send, with per-memory and total character caps and a compact view. Six model tools (memory_search, memory_recall, memory_save, memory_set_enabled, session_inject, memory_pin) give the agent direct read / write / plan control. The browser side provides a right-side panel (plan / library / messages tabs), a separate left-side force-directed knowledge graph overlay with semantic-panorama and focus-exploration views, a session-summarize dialog (session.summarize), cross-workspace session listing (sessions.list), and message jump-to-conversation, plus settings switches. The Host half exposes an HTTP JSON-RPC-style endpoint (/_dsh/memory-manager/api) that the browser Client calls. It is MIT-licensed and published to open source.
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。