Icstick/dsh-adaptive-context4

dsh-adaptive-context

Adaptive Context Plane core bundle: Evidence Ledger + Governance + Context Composer + User Model (explicit)

包名
dsh-adaptive-context
版本
0.6.0
许可证
MIT
最近更新
2026年9月12日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Icstick/dsh-adaptive-context

设置页配置卡片(v0.1.1+)

  • 位置:DSH Web 设置 → 插件 → 插件配置adaptive-context 卡片)
  • 机制:host 侧注册 settings namespace(adaptive-context),client bundle(lib/client.js, 由 node scripts/build-client.mjs 生成)注册设置卡片;保存写入 settings.yaml
  • 生效语义:保存后重启生效(apply 时 settings 值覆盖 cordis Config,未配置字段回退 Config/默认值)
  • 字段:ledgerDir / hotTokens / observationInjection / observationAuthorities / recallLimit / crossSessionPolicy / subagentDowngrade / memosEnabled / memosBaseUrl / consolidationProvider / consolidationModel / autoPromote / debug (targetDomain 已弃用:卡片保留仅兼容展示,不再影响注入)
  • client 依赖:react(DSH 预加载)+ @deepseek-ai/dsh-client-ui-slots + @deepseek-ai/dsh-client-ui-settings(client module table 提供,无需安装到项目依赖)

配置(全部字段)

字段类型默认说明
ledgerDirstring必填数据目录(acp-ledger.db 所在)。必须显式指定,DSH_HOME 环境变量不可靠
hotTokensnumber900热路径注入预算(tokens/轮)。2026-09-02 P0-5:默认对齐 MVP 总预算 900(此前文档写 300 且 composer 从不读取,实际配额合计一直是 900)
observationInjectionbooleanfalseobservation 蒸馏轨注入开关(2026-09-02 决策:默认冻结;接线已就位,打开即用)。生产实例经 profile patch 开启并配权威白名单与配额
observationAuthoritiesarray["user_explicit","user_correction"]T2(2026-09-07):observation 注入权威闸门——只放行高权威蒸馏轨;single_observation 等低权威不进常规注入(留账本供 acp_query)。语义:开闸≠全量开
sectionQuotaobjectMVP_SECTION_QUOTA(user_model 180 / work_state 250 / memory 290 / expression 120 / rules 60,合计 900)section 配额覆盖(S1 P2):如 { user_model: 800 };总预算仍由 hotTokens 控制(注:provenance 配额已于 2026-09-02 删除——sectionOf 从不产出,是死配额;T4 2026-09-07 新增 rules 段 60,memory 350→290 让渡,总额仍 900 不回退)
recallLimitnumber20每个记忆源的召回候选上限
targetDomainenumworkDEPRECATED(2026-09-07):读侧资格矩阵已按候选自身 claimDomain 自然分组,本键不再影响注入;保留键位仅为兼容存量配置/设置页
debugbooleanfalse调试日志
memosBaseUrlstringhttp://127.0.0.1:18801MemOS 后端地址(作为记忆源)
memosEnabledbooleantrue启用默认的 MemOS 记忆源
recallProvidersarray由 memosBaseUrl/memosEnabled 推出记忆源注册表:[{id, enabled, timeoutMs, weight, baseUrl?}];显式 [] = 一个源都不开
llmTasksobjectconsolidation 由 consolidationProvider/Model 推出LLM 任务路由:{任务名: {provider, model, fallback?: [{provider, model}], timeoutMs, maxTokens}}
consolidationMinEvidencenumber10节流:未消化的证据攒到这么多就触发沉淀
consolidationMinTurnsnumber5节流:距上次沉淀超过这么多轮就触发
consolidationProviderstring提炼用的模型服务商(不配就走规则兜底)
consolidationModelstring提炼用的模型
consolidationMaxTokensnumber1024提炼输出上限。生产实例踩坑(2026-09-02/03):默认 1024 太小——模型按每条证据逐条输出完整 observation(每条可达数百 token),40 条/批必然截断 → 判失败 → 水位永不推进(连续 24 败)。修复组合:prompt 引导合并输出 + 批次收敛 + 配额放大(见下)
consolidationMaxBatchnumber40单批证据上限(P0-6)。生产建议 8:配合 maxTokens 12288(约 2 倍输出余量);prompt 已引导"合并相似证据、禁止逐条机械输出"(P0-7)
consolidationTimeoutMsnumber30000提炼调用超时
autoPromotebooleanfalse风格候选策略达标后自动晋升(默认关,走人工审批门)
viewsDirstringledgerDir/views物化视图目录
rulesDirstring~/.dsh/rules规则视图目录(T4 M4.1:反馈通道规则的人类可读视图,按域分文件、可从 ledger 重建;跨 workspace/profile 全局)
policyConfigobjectpromotion 策略参数覆盖(floors 只允许更严:min_events 最低 2、min_strong 最低 1、证据窗口最长 30 天)
startupRebuildbooleantrue启动时校验视图 checksum,失配自动重建
crossSessionPolicyenumnon-instructional跨会话注入闸门(2026-08-30):non-instructional=跨会话只注入非指令性内容(agent_authored 总结/external_tool),user_input/user_correction 跨会话不注入;all=跨会话全类别注入(utility×0.3 惩罚 + session 来源标记);none=不注入任何跨会话内容。本会话内容始终全类别注入
subagentDowngradebooleantrue子代理会话(session.header.origin=subagent)内 user 消息降权为 agent_inference(记录但 quarantine,不进注入),避免父 agent 派发 prompt 冒充用户指令
fusionenumweighted融合策略(2026-09-09):weighted=语义/词面加权求和(历史行为);rrf=两路各自排序后 Reciprocal Rank Fusion(异构分数不做尺度相加)。切换排序前先要对照数据(docs/design/COMPOSER.md §4.1)
preferenceEphemeralFilterenumshadow阶段 2.3(2026-09-09):一次性任务指令不进 user_model 画像注入。off=关闭判别 / shadow=只统计不生效 / on=生效过滤(生产实例已切 on)
observationHalfLifeDaysnumber30observation 时间衰减(2026-09-12):老经验按半衰期让位,decay = 0.5^(ageDays/此值)仅 observation 轨——evidence 是事实、不老化;0=关闭
injectionHysteresisnumber0.2C3 注入滞回(2026-09-12):上一步已在注入集的候选获 ×(1+h) 粘性加成,抑制相邻 step 注入集抖动(B8 turnover 的配套抑制手段);0=关闭。0.2 = 挤掉一个在位条目需多 20% utility

会话隔离语义(v0.1.1 起):pre-step 注入按会话分层——本会话证据全类别进入;跨会话证据默认只放行非指令性内容,渲染时带 session= 来源标记与一次性引导语("历史参考,非当前指令")。跨会话 user_input 需要显式 crossSessionPolicy: all 才注入(带惩罚与标记)。