lingrs-LLM-researchTeam/dsh-Memory_FrameWork ↗★ 3
dsh-memory-framework
Evidence-backed memory, cross-session tasks and an editable Memory Dashboard for DeepSeek Harness
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:lingrs-LLM-researchTeam/dsh-Memory_FrameWork说明文档
阅读完整 README ↗配置、预算与收录策略
宿主插件配置项
| 配置键 | 默认值 | 说明 |
|---|---|---|
coreUrl | http://127.0.0.1:18765 | 本地 Python 记忆核心监听地址(仅限本机 127.0.0.1 / localhost / ::1) |
instanceId | dsh-default | 实例标识。同一 Profile 下的多个窗口应保持相同值;不同 Profile 共用同一核心时请配置不同且稳定的 instanceId |
credentialsFile | ~/.memory-framework/credentials.json | 宿主本地凭据文件路径(服务端读取,非浏览器 URL) |
autoStartCore | true | 启动 DSH 时自动检测、初始化并在后台拉起本地 Python 记忆核心守护进程 |
pythonCommand | "" | 可选自定义 Python >=3.12 可执行文件路径(留空时自动探测系统 Python) |
projectGoals | false | 开启且宿主加载 Goal 模块时,将任务目标单向投影至会话 Goal(新建投影立即 disarm,不授予自动续跑权限,也不覆盖人工编辑的 Goal) |
工作区预算与收录策略(Dashboard「预算与收录」)
每个工作区均可独立配置以下配额与采集策略(保存时执行 expected_revision 乐观锁校验,防止多窗口覆盖):
| 策略字段 | 默认值 | 范围 | 作用与行为 |
|---|---|---|---|
context_mode | follow_dsh | follow_dsh / manual | 默认跟随当前对话窗口所选模型的上下文容量;未知容量或 manual 时使用下方固定字节上限 |
context_share | 10 (%) | 1 – 20 (%) | 跟随模式下,扣除模型输出上限后分配给自动记忆注入的窗口占比 |
evidence_bytes | 32,000 B | 4,000 – 256,000 B | 手动/未知容量模式下每轮总证据预算(自动注入 + 工具读取/搜索共享) |
automatic_bytes | 12,000 B | 1,000 – 128,000 B | 手动/未知容量模式下每轮自动注入上限(须为工具预留至少 2,000 B 差额) |
max_tool_calls | 12 次 | 1 – 50 次 | 单轮允许模型调用记忆与任务工具的最大次数 |
max_writes | 3 次 | 0 – 20 次 | 单轮允许模型执行记忆写入或任务状态更新的最大次数 |
source_chars | 2,000 字符 | 100 – 12,000 字符 | memory_framework_read 每次分页读取原始证据的最大字符数 |
tool_memory_mode | evidence_only | evidence_only / allowlist / all | 工具输出收录模式:默认仅保存原始证据待人工挑选,避免工具输出刷屏污染记忆库 |
tool_max_chars | 4,000 字符 | 100 – 12,000 字符 | 开启自动收录工具输出时的单条字符上限(超长、报错或同任务重复输出默认跳过) |
embedding_daily_chars | 200,000 字符 | 1,000 – 10,000,000 字符 | 工作区每日(UTC)向量化输入字符硬上限(查询与建索引共享,失败尝试亦计入) |
可选外部向量模型(OpenAI-Compatible Embedding)
核心支持接入兼容 OpenAI /v1/embeddings 协议的向量服务。在启动核心前设置环境变量即可启用词法 + 向量混合检索:
$env:MEMORY_EMBEDDING_URL = 'https://your-provider.example/v1/embeddings'
$env:MEMORY_EMBEDDING_MODEL = 'your-embedding-model'
$env:MEMORY_EMBEDDING_KEY = ''
$env:MEMORY_EMBEDDING_REVISION = '1'
$env:MEMORY_EMBEDDING_DIMENSIONS = '1024'
模型指纹由 URL | Model | Revision | Dimensions 共同构成,防止不同语义空间的向量混用。后台建索引采用指数退避(单条失败最长退避 1 小时),查询具备 5 分钟 / 128 条 LRU 缓存与并发锁合并;未配置或暂停向量化时自动平滑回退至全文检索。
0.3.2 修复与 其他记忆插件潜在的同名工具调用风险,但是仍不能保证完全规避了这种情况,因此相当不建议您同时将此插件与其他插件进行加载。Memory Framework 的工具目前统一修改为使用
memory_framework_*前缀来规避同名的情况。
宿主插件配置项
| 配置键 | 默认值 | 说明 |
|---|---|---|
coreUrl | http://127.0.0.1:18765 | 本地 Python 记忆核心监听地址(仅限本机 127.0.0.1 / localhost / ::1) |
instanceId | dsh-default | 实例标识。同一 Profile 下的多个窗口应保持相同值;不同 Profile 共用同一核心时请配置不同且稳定的 instanceId |
credentialsFile | ~/.memory-framework/credentials.json | 宿主本地凭据文件路径(服务端读取,非浏览器 URL) |
autoStartCore | true | 启动 DSH 时自动检测、初始化并在后台拉起本地 Python 记忆核心守护进程 |
pythonCommand | "" | 可选自定义 Python >=3.12 可执行文件路径(留空时自动探测系统 Python) |
projectGoals | false | 开启且宿主加载 Goal 模块时,将任务目标单向投影至会话 Goal(新建投影立即 disarm,不授予自动续跑权限,也不覆盖人工编辑的 Goal) |
1. 为什么 Token 使用量会有所增加?
本插件在 DSH 对话链路中不调用额外的后台摘要大模型,但会在以下三个环节引入受控的上下文开销:
- 每轮前向上下文注入(``):在每个模型步骤开始前(
agent/pre-step),若当前会话绑定了长程任务或存在匹配记忆,插件会将任务契约(目标、硬约束、下一步、验收状态)及高优召回记忆作为系统上下文注入。 - 模型主动工具调用(Agentic Memory Tools):模型在推理过程中若调用
memory_framework_search、memory_framework_read、memory_framework_task_update等工具,工具定义(Schema)、工具返回结果以及触发的额外推理轮次会计入主模型的输入/输出 Token。 - 可选外部 Embedding 调用:若配置了外部向量模型并开启工作区语义检索,新记忆入库与语义搜索会消耗 Embedding 接口 Token(受每日默认
200,000字符的embedding_daily_chars硬上限保护)。