dsh-afk
DSH AFK 插件:全局或会话级自动应答、禁用提问与持久未读记录
- Stars
- 1
- Language
- JavaScript
- Created
- Oct 22, 2026
- Updated
- Oct 26, 2026
Introduction
dsh-afk
为 DeepSeek Harness 提供离开模式。AFK 是 Away From Keyboard 的缩写,意为「暂时离开键盘」。暂时离开时,让 Agent 按你的设置自动应答或停止提问,回来后再查看提问记录。
功能
- 自动应答:用自定义文本回复新提问,不替你选择选项。
- 禁用提问:关闭提问工具,让 Agent 在已有授权范围内自行判断。
- 全局或按会话设置:可统一当前 profile 的配置,也可让各会话独立;默认关闭。
- 可选 Agent 工具:在插件设置中统一开关
afk_history和afk_mark_read,默认开启。关闭后不向模型提供这两个工具,不影响 AFK 自动应答、提问记录或界面中的查询与已读操作。 - 提问记录:无论 AFK 是否开启,都保存当前会话的结构化提问与结果。完整的非 AFK 回答自动标记已读(包括超时后补答);AFK 自动应答、拦截、等待中和失败的记录仍保持未读。已读记录仍可在「全部」中回看。
安装
支持 DSH >=0.2.1-alpha.3 <=0.2.1-rc.3,包含已发布的 alpha.3、alpha.4、alpha.5 和 rc.1、rc.2、rc.3。采用最低与最新版本的真实 SDK 边界验证,并核对中间发行的 API 差异;不逐版穷举,也不自动覆盖后续 next 版本。
alpha.2 及更早版本缺少本插件必需的会话权限 hooks 和独立历史查询权限契约,不能只修改声明来支持。SDK 隔离集成与打包验证不等于逐版本 GUI E2E,后者尚未全部执行。
在 DSH 插件管理器中安装 github:Diluka/dsh-afk,或使用 CLI:
dsh plugin --profile web add "github:Diluka/dsh-afk"
将 web 换成你的目标 profile。安装后按宿主提示刷新页面;需要重启时,先保存正在进行的工作。
使用
- 打开 插件 → AFK · 会话离开模式,选择「按会话单独」或「全局统一」,再设置处理方式和自动应答语。
- 离开前打开输入框权限设置旁的 AFK 开关,回来后关闭。全局模式的开关显示为 AFK · 全局,影响当前 profile 的所有会话。
- 点击开关旁的 记录 查看提问和结果。数字表示未读批数;点击某条的「已读」后,该条从默认列表隐藏,但不会删除。打开、刷新、筛选或翻页使用独立只读查询,不生成命令或聊天节点,不推动消息流;读取错误在窗口内显示。标记已读、配置修改等写入回执仍保留。
切换作用范围会保留各会话原配置;提问记录与已读状态始终按会话独立。修改自动应答语也不会覆盖旧记录中的实际回复。
插件设置中的「向 Agent 提供历史工具」决定模型能否通过对话查询记录和按你的要求标记已读。此项对应顶层配置 toolsEnabled(默认 true),在当前 profile 内统一生效,不受「按会话单独 / 全局统一」或 AFK 开关影响;保存后对后续工具列表和调用生效,无需重启。关闭时仍可使用输入框旁的「记录」窗口。
自动已读要求答案完整、每个问题 ID 恰好出现一次,且普通工具结果不带 AFK 自动应答标识;明确提交的跳过也算已回答。普通聊天消息不会触发自动已读。升级后,旧记录会按同样规则从会话日志重新计算。
当前宿主没有为普通及时回答保存答者来源,因此插件采用上述标准答案规则,而不是验证真人身份。其他插件若返回相同格式、且没有 AFK 标识的自动答案,也可能被视为人工回答;格式不完整或无法识别的结果不会自动标记。
[!IMPORTANT] AFK 不会批准权限请求、批准计划或扩大已有授权。自动回复带有明确的 AFK 标识,不代表人类作出了选择或确认。
只影响新派发的提问,不接管已在等待的问题;禁用提问时,没有实际发出的问题无法记录。AFK 不会自动重启已结束的任务。
开发与维护说明见 AGENTS.md。