# 创造模式 250k 压缩预设兼容补丁 ## 一键配置(0.32.0 起,推荐) 多数场景只需要「250k 压缩」而不需要创作模式的自改工具集。天工造梦操作台「教程」页内置**一键配置**卡片(Windows/Mac 通用):点击后把内置精简模板写入本机用户预设 `~/.dsh/.agent-presets/cordis-250k/`(`thresholdRatio: 0.25` + `retainTokens: 32768`,Windows/Mac 差异由预设内 `process.platform` 表达式处理),可选一并设为全局默认预设;只影响新会话。对应接口:`GET/POST /api/dsh-devforge/agent-preset-250k`。 边界:已存在的预设文件**绝不覆盖**(只校验并报告参数);精简模板不含 `tool-cordis` 自改工具集与预设内创作技能——它们依赖按本机 DSH 版本现场生成的 compat 模块(内含绝对路径依赖,无法内置分发),需要完整创作模式时按下方流程手动生成。 ## 用途与边界 当前 `@deepseek-ai/dsh-tool-cordis` 0.1.2-rc.1 在每份创造模式加载时向进程共享注册表写入固定的四个 Host 检查接口 ID,复制预设与原预设并存时会重复注册。本工具只为用户预设生成独立模块:每个挂载代以 `<预设ID>/<随机段>/` 命名注册四个 Host 检查接口,跨预设、同预设新旧代并存(编辑预设文件后旧会话仍持有旧代时)均不冲突,卸载只释放本代注册。模型工具名称、参数、提示词、作用域、动态插件执行和 Client 查询通道均保留;不修改已安装 DSH 文件,不重启生产。 源码入口为 `scripts/cordis-preset-compat.mjs`。它固定校验已审查的版本、完整源码 SHA-256、注册边界和三个导入位置。上游版本或源码变化时拒绝生成。核心依赖解析到上游包实际使用的同一份模块;生成物携带许可证、来源和哈希记录。它是本地兼容方案,不是官方配置项。 ## 生成与启用 1. 使用预设服务的 `copy()` 或设置中的“复制”创建 `cordis-250k` 用户预设,源预设选 `cordis`。禁止改写内置预设。 2. 运行以下命令,将占位参数换成当前安装与用户预设的真实绝对路径。重新生成前先删除旧的三个生成文件(生成器拒绝覆盖),并记下输出里的 `importName`: ```bash node scripts/cordis-preset-compat.mjs <上游dsh-tool-cordis/package.json> <用户根/.agent-presets/cordis-250k> cordis-250k ``` 3. 将副本的 `tool-cordis` 行 `name` 改为生成器输出的 `importName`(形如 `./cordis-tools.compat.mjs?v=时间戳`)。`?v=` 是换代缓存键:Node 按完整 URL 缓存 ESM 模块,不换 URL 新会话仍会加载旧模块并与旧代撞名。在副本的 `compaction-basic` 行配置 `thresholdRatio: 0.25` 与 `retainTokens: 32768`。 4. 阈值按请求包计,包含系统提示词、工具与注入的固定开销(本机实测约 85k,不可压缩):1M 窗口 × 25% = 250k 请求包 ≈ 165k 真实对话时触发;触发后仅保留 32k 近期原文,一次回收约 130k,上下文降至约 120k 再继续增长。其他窗口按 25% 换算。压缩在请求步骤边界检查,实际触发可能略高。 5. 在独立 HOME 的暂存实例验证预设加载和界面,保持飞书桥与桌面宠物关闭;不得使用生产 HOME。暂存实例已占用时复用经核验的隔离实例,不关停他人实例。 6. 调用 `agentPresets.standingKeyFor('cordis-250k')` 验证通过后,再通过 `settings.update('agent-presets', { default: 'cordis-250k' })` 切换全局默认;旧会话不会迁移。 7. 若要让 dsh-devforge 的“按规范生成服务”子代理使用这套策略,在 dsh-devforge 设置中将 `forgeAgentPreset` 设为 `cordis-250k`(当前版本默认已设为此值)。Forge 创建时会在 agent `setup` 阶段实际执行 `agentPresets.mount()`;只写入 Session header 不算挂载。该设置只影响之后新建的 Forge 会话,不等同于全局 `agent-presets.default`,也不影响飞书会话。 ## 验证 ```bash DSH_CORDIS_PACKAGE=<上游dsh-tool-cordis/package.json> node --test scripts/cordis-preset-compat.test.mjs ``` 聚焦验证原生与副本共存、反序挂载、仅副本加载、同预设两代并发挂载、重复 id 仍被拒绝、精确 Host 查询、Client 透传、工具作用域、独立卸载、动态工具保留及错误输入拒绝。真实预设挂载另由隔离宿主完成。无需向模型发送 250k 文本制造付费请求;阈值解析和加载验证不能冒充一次真实长会话压缩验收。 ## 维护和回退 预设文件每次改动都会让新会话使用新挂载代,旧会话保留旧代直到关闭,新旧代因随机命名空间互不冲突。重新生成模块后必须同步更新组合里的 `?v=`,否则新会话仍加载旧模块并与旧代撞名。设置中的默认预设改回 `cordis` 即可使后续新会话恢复原策略。升级 DSH 后应从新版本重新复制预设、审查并更新生成器的版本和哈希,再重新测试;生成物中的 API 目录不会自动升级。