KhalilYamber/yammory-system ↗★ 0

yammory_system

提供分层、需审批且可审计的跨会话记忆服务 适合需要持久化、结构化管理跨会话上下文记忆的开发者。

套件
yammory_system
相容性
待驗證
Harness 依賴範圍
>=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0
Cordis 依賴範圍
^4.0.2
版本
0.8.0
授權
Apache-2.0
最近更新
2026年9月22日

安裝

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:KhalilYamber/yammory-system

Configuration

所有可调项均为 Schemastery Config 字段(可在 cordis.yml 中修改)。非法值在加载期响亮失败。在 yammory_system 行下覆盖。

设置面板。 DSH 设置服务挂载时,下表除 enabled 外的全部字段可在 DSH 设置侧栏的插件一级项 yammory-system(与通用设置、插件等并列)中编辑;修改写入设置用户层(settings.yaml),无需改文件。几乎全部即时生效(写策略、语言、预算、各上限、提案、面板;dbPath / auditRetentionDays 经重开 store 生效;retrieval.vector 经重装检索器生效)——只有 snapshotOrder 需要 DSH 重载。设置服务缺失时一切回退组合配置,与从前完全一致。侧栏底部的记忆入口可在同一页面隐藏(panel.enabled)。

KeyDefaultMeaning
enabledtrue总开关;false 移除服务、工具、快照、命令、面板与 answerer(设置页不可编辑——禁用的插件没有设置项)
panel.enabledtrue显示侧栏底部的记忆入口;在设置页保存 false 后立即隐藏,无需刷新(设置页本身不受影响)
dbPath'' → $DSH_HOME/dsh-memento/memory.db绝对路径,或相对 $DSH_HOME(Windows 上回退到 ~/.dsh)
budgets.user.userGlobal2000user 轨 user-global 层的软预警线
budgets.user.workspace2000user 轨 workspace 层的软预警线
budgets.agent.userGlobal4000agent 轨 user-global 层的软预警线
budgets.agent.workspace4000agent 轨 workspace 层的软预警线
writePolicy'ask'默认写策略:ask / auto / off(模型不可见)
writePolicies{}按轨/作用域或按来源的覆盖(如 user/workspace、source:claude)
language'en'模型可见文本与命令输出语言:en / zh
snapshotOrder-50快照段顺序(在 harness 身份之后、persona 之前)
maxEntriesPerQuery20每次查询默认结果上限(硬上限 1000)
commandListLimit50每次 /memory list / query 渲染的条目数
commandAuditLimit10每次 /memory audit 渲染的审计行数
recall.historyLimitDefault8memory_recall 默认扫描的会话数
recall.snippetCap5memory_recall 每个会话的片段数
recall.snippetChars300memory_recall 片段字符数
recall.windowDays30memory_recall 近期窗口天数
observe.days14memory_observe scan 的回看天数(硬上限 90)
observe.sessions8单次扫描采样最近多少个会话(硬上限 20)
observe.perSession12每个会话采样几条发言,均匀分布,好让开场与中后段的改口都留得下(硬上限 20)
observe.messageChars400单条发言超过多少字符即截断加省略号(硬上限 800)
observe.totalChars12000整段切片的字符预算;到顶即停并报出未覆盖范围(硬上限 30000)
recall.weighting.heat0.3热度加成上限(乘性;0 = 关闭)。热度 = 召回次数(封顶)× 距上次召回的半衰期衰减——记忆要靠持续被召回才保得住热度
recall.weighting.heatSaturation10吃满热度加成所需的召回次数
recall.weighting.heatHalfLifeDays14热度半衰期(天):久未被召回即失温
recall.weighting.freshness0.2新旧加成上限(乘性;0 = 关闭)
recall.weighting.freshnessHalfLifeDays30新旧半衰期(天)
recall.weighting.tagDiscount0.5词元只在 tags 命中时的权重(正文命中记 1)
retrieval.vectorfalse语义召回开关:true 且注册了真语义嵌入 provider 时才换装向量召回——伪嵌入(哈希袋)刻意不算数,它不做语义建模、会让中文召回静默归零;否则保持零依赖 keyword 检索器(中文二字分词、任一词元命中、热度/新旧加权、相关度排序)
panelEntriesLimit200Web 面板条目分页大小
panelAuditLimit20Web 面板默认审计行数
auditRetentionDays0审计保留天数(0 = 永久保留)
proposals.enabledtrue每次成功压缩后自动捕获一条记忆提案
proposals.maxChars2000提案字符上限
proposals.maxPending8待处理提案上限
tidy.enabledtrue整理全库按钮是否真的起一轮后台会话:false 退回旧行为(只登记标记,等下次会话开口)
tidy.profile'headless'后台轮用的执行体 profile 名
tidy.exec'' → 自动探测执行体入口:空 = 自己探(先用宿主自己的启动器:宿主启动时那个 CLI 脚本,由同一份 node 执行;再找 PATH 里的 dsh.cmd / dsh);填了就盖过这两条(绝对路径或你自己的启动脚本)。找不到它会如实报「执行体起不来」并给「重试」
tidy.timeoutMs480000判活窗口:到点未退出即杀进程并如实报「超时」(下限 30 秒)
tidy.task'' → 内置任务文本覆盖交给无头会话的作业说明(只在 cordis.patch.yml 里可改,不进设置卡片)