DSH / PLUGIN / SESSIONS

dsh-session-title

v0.1.0-rc.5deepseek-ai / deepseek-harness47f943859b

DSH 已内置插件会话与上下文内置源码可配置
运行时构成
HOSTCLIENTUITOOLDATAFLOW

概览

dsh-session-title

由日志支持的会话标题,提供即时确定性回退与一个可选异步提供方。每次已接受的修订都是仅写入日志的 session/title 事件;foldSessionTitle()ctx.sessionTitle.get() 会选择最新事件,并返回其事件 seq 和时间戳。
BUILT-IN / ATOMIC
已随 DSH 提供,无需单独安装

这是 Harness 已内置的原子模块,不是可独立激活的 Profile 层。

能力

它贡献了什么

HostCordis loadable可配置
Client / UIHost only0 contributions
Model tools0None declared
Profile stateenabledbase, headless, web

README / ZH

插件文档

@deepseek-ai/dsh-session-title

English | 中文

由日志支持的会话标题,提供即时确定性回退与一个可选异步提供方。每次已接受的修订都是仅写入日志的 session/title 事件;foldSessionTitle()ctx.sessionTitle.get() 会选择最新事件,并返回其事件 seq 和时间戳。

只有用户 user/message 事件中的文本块符合条件。第一条符合条件的提示词会安排回退,从其开头若干词生成标题,并受所配置 UTF-8 字节上限约束。系统会规范化空白、移除终端控制序列,且截断绝不会切断码点。空提示词和非文本提示词会等待后续符合条件的输入。

服务:SessionTitleService(ctx 键:sessionTitle

  • get(session) 从活跃或回放日志折叠最新已接受标题。
  • refresh(session, signal?) 在需要时物化回退,然后显式运行已注册提供方,处理当前符合条件的消息。提供方错误或调用方取消都会导致返回的 Promise 被拒绝;取消不会回滚已接受的回退事件。
  • rename(session, title) 同步接受用户显式标题:规范化文本、取代在途自动工作,并追加一条 user 来源的 session/title 事件。用户来源的最新标题会钉住该会话——后续用户消息不再安排自动修订;显式 refresh 仍是有意的解钉手段。
  • register(provider) 安装唯一可选提供方,并返回可等待的 Cordis effect disposer。第二次注册会立即抛出;对提供方执行 dispose(资源释放)会中止待处理和活跃调用,等待其结算,之后才允许注册另一个提供方。

自动工作绝不会延迟主 agent(智能体)响应。只有当带标记、由循环构建的请求,其确切路由与当前已记录的 request/header 匹配时,提供方才会启动;即使请求头未变而无需新快照,也适用此规则。延迟完成会直接通过 Session 追加一个独立的纯日志事件,而不打开轮次。持久化会立即观察到该事件,并在常规生命周期检查点完成刷写;标题发布本身不会强制刷写。自动失败会发出警告并保留最新标题。新的全消息修订、提供方 dispose、会话 dispose 和显式刷新都会中止旧工作,陈旧的完成结果无法追加。并发显式刷新会在提供方工作之前预留修订号;重叠的自动/显式回退请求共享一个会话本地正在进行的追加操作。服务与内置模型提供方各自追加自己的字面事件类型,因此不需要通用标题写入标记、类型断言或结算队列。服务拆卸会取消排队工作,并在卸载完成前等待不响应取消的调用结算完成。

fork 出的会话会原样继承种子中的标题事件。首消息节奏不会自动为子会话重新生成标题;全消息节奏可以在子会话收到后续用户提示词后追加新修订。

配置

所有上限都是必填项;该库不提供默认值。

约定
fallbackMaxWords 确定性回退中以空白分隔的最大正整数词数。
fallbackMaxBytes 回退允许的最大正整数 UTF-8 字节数;不得超过 maxTitleBytes
maxTitleBytes 接受任何来源标题的最大正整数 UTF-8 字节数。

提供方约定

提供方会提供带品牌类型的稳定 id、自动模式(first-promptall-prompts)和 generate(request)。请求携带活跃会话、截至一次固定修订的所有符合条件消息、可用时当前已记录的主请求路由,以及取消信号。结果包含非空标题、该请求中互不重复且有序的来源消息 seq,以及生成该标题时使用的可选提供方/模型路由。服务会在结果持久保存前进行规范化和验证。

参见会话标题数据结构已实现决策

模型体验

会话标题状态

模型看到的内容

无。session/title 只写入日志,绝不会进入会话接口、deriveMessages()、系统提示词、工具 schema 或请求前缀。

Token 影响

回退与已接受的提供方修订不会向主 agent 请求增加 token。可选提供方的独立辅助请求由对应提供方包的文档说明。

KV Cache 影响

不影响主请求;标题事件不会改变重建内容或缓存键。

已知限制与暂缓事项

  • 删除标题(不经显式 refresh 就解钉回自动标题)、搜索和列表索引不属于此服务。
  • 提供方注册表有意最多接受一个实现,因此部署若要组合相互竞争的标题策略,必须编写一个自行负责优先级的提供方。

LIMITATIONS

已知限制

- 删除标题(不经显式 `refresh` 就解钉回自动标题)、搜索和列表索引不属于此服务。 - 提供方注册表有意最多接受一个实现,因此部署若要组合相互竞争的标题策略,必须编写一个自行负责优先级的提供方。