回复通知邮件即可让任务继续或停止
30.6/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add yashua233/dsh-mail-command该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · platform
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 3 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
用邮件指挥 DeepSeek Harness:回复通知邮件即可让任务继续或停止。必须搭配 dsh-qq-mail-notify——口令随它的通知邮件发出,单独安装无效。
README
由 DeepSeek 最新模型翻译生成dsh-mail-command
快速跳转:前置要求 · 安装 · 配置 · 兼容性 · 遇到问题 · 相关插件
用邮件指挥 DeepSeek Harness:回复一封通知邮件,就能让正在跑的任务继续或停止,正文可以写具体要求。
它是 dsh-qq-mail-notify 的附属插件——那个负责发信,这个负责收信。必须两个都装;原因和两者的实际关系只在下面的「前置要求」里说一次,别处不再复述。
前置要求
本插件必须搭配 dsh-qq-mail-notify 一起使用,单独装它没有任何效果。
原因很直接:它自己不发送任何邮件。一次性口令是随通知邮件一起发出去的,你回复的也是那封邮件。没有发信侧,你的收件箱里就不会出现带口令的邮件,也就没有东西可以回复,整个功能等于不存在。
依赖是一边倒的:通知插件可以单独用(纯提醒,不装本插件也完整);本插件单独装则完全空转。代码上两者互不 import、走 cordis 服务协作,所以升级其中一个不必同步另一个——但功能上本插件离不开通知插件。
展开完整文档(README 剩余 1 节)
dsh-mail-command 快速跳转:前置要求 · 安装 · 配置 · 兼容性 · 遇到问题 · 相关插件 用邮件指挥 DeepSeek Harness:回复一封通知邮件,就能让正在跑的任务继续或停止,正文可以写具体要求。 它是 dsh-qq-mail-notify 的附属插件——那个负责发信,这个负责收信。必须两个都装;原因和两者的实际关系只在下面的「前置要求」里说一次,别处不再复述。 前置要求 本插件必须搭配 dsh-qq-mail-notify 一起使用,单独装它没有任何效果。 原因很直接:它自己不发送任何邮件。一次性口令是随通知邮件一起发出去的,你回复的也是那封邮件。没有发信侧,你的收件箱里就不会出现带口令的邮件,也就没有东西可以回复,整个功能等于不存在。 依赖是一边倒的:通知插件可以单独用(纯提醒,不装本插件也完整);本插件单独装则完全空转。代码上两者互不 import、走 cordis 服务协作,所以升级其中一个不必同步另一个——但功能上本插件离不开通知插件。 正确用法是两个都装: dsh plugin --profile desktop add github:yashua233/dsh-qq-mail-notify dsh plugin --profile desktop add github:yashua233/dsh-mail-command 装好后在通知插件的设置里填好发件邮箱与 SMTP 授权码(本插件复用同一份凭据),发一封测试邮件确认能收到,再回复它试试。 它解决什么问题 任务跑到一半因为额度不足停住,你充完钱还得回到电脑前重新说一遍;或者一个任务明显跑偏了,你只能等它结束。装上这个插件之后: - 通知邮件里带上一次性口令; - 你直接在手机上回复那封邮件,写「继续」,任务接着跑; - 写「停止」,当前这一轮立刻中断; - 写「继续,但把测试也跑一遍」,这句话原样成为给 agent 的新输入。 安装 从 GitHub dsh plugin --profile desktop add github:yashua233/dsh-mail-command 本地目录 dsh plugin --profile desktop add link:/path/to/dsh-mail-command desktop 是桌面端默认的 profile 名,用你自己的那个(~/.dsh/profiles/ 下能看到的目录名)。装完重启一次生效。 建议与通知插件一起装: dsh plugin --profile desktop add github:yashua233/dsh-qq-mail-notify 怎么用 1. 装好并重启,确认 dsh-qq-mail-notify 已经配好发件邮箱和 SMTP 授权码(同一套凭据本插件复用); 2. 之后每次通知邮件末尾都会附上: 可用指令(直接回复本邮件,保留主题里的 [CONT:AB12CD34]): · 继续 —— 正文写要继续做的事;只写「继续」就按原计划接着干 · 停止 —— 正文写「停止」或 stop,立刻中断当前这一轮 3. 回复那封邮件即可。主题里的口令要保留(邮件客户端默认会保留),正文写你要它做什么。 指令怎么判定 | 你回的正文 | 结果 | | 空 | 按原计划继续 | | 继续 | 继续 | | 停止 / stop / 取消 | 停止当前轮 | | 停止,剩下的别改了 | 停止(后半句记进日志) | | 继续,但把测试也跑一遍 | 继续,要求 = 整句原文 | | 把 README 补完再提交 | 继续,要求 = 这句 | 引用区(> 开头的行、-----原始邮件----- 之后的内容)会自动剥掉,不会被当成指令的一部分。 收件节奏(三段自适应) 刚发出通知时你最可能就在手机旁边,所以前 10 分钟查得勤;越往后越稀疏;超过 30 分钟基本不会回了,干脆停下,等下一封邮件发出时再被唤醒。 | 字段 | 默认 | 说明 | | fastWindowMs | 600000 | 快速窗口长度(10 分钟) | | fastIntervalMs | 5000 | 快速窗口内每隔多久查一次(5 秒) | | slowIntervalMs | 600000 | 超过快速窗口后每隔多久查一次(10 分钟) | | stopAfterMs | 1800000 | 超过这个时间就暂停检测(30 分钟),新邮件发出时自动唤醒 | 想更快可以调小 fastIntervalMs(比如 2000),但 QQ 邮箱有 IMAP 频率限制,设太小会被重连。mail_command action=status 会告诉你当前处于哪一档。 安全设计 为什么必须带口令:SMTP 的发件人地址是可以伪造的。如果只按 From 判断,任何知道你邮箱的人伪造一封「继续」就能让 agent 跑起来——而 agent 有完全的文件权限。所以: - 口令随邮件主题发出,长度 8 位、一次性、命中即作废; - 同一个对话共用一个口令:只要那串还没被回复过,后续通知继续复用它,所以同一会话的邮件里带的是同一个口令; - 口令存活 30 分钟(tokenTtlMs),并且每发一封通知就重新计时——回复最近收到的那封一定来得及; - 校验顺序是「发件人必须在允许列表内」且「口令存在、未被用过、未过期」,三条同时成立才动作; - 口令落盘($DSH_HOME/mail-command-tokens.json),DSH 重启后仍可用,不必重新发信。 配置 复用发件插件的凭据,不需要重复填。自己的可选项写在 $DSH_HOME/mail-command.json: | 字段 | 默认 | 说明 | | enabled | true | 总开关;关掉后不再轮询收件 | | traceImap | false | 打开后把 IMAP 收发过程打进日志,排障用 | 旧配置里的 intervalMs 已被移除,留着不会有任何作用——实际节奏看上面那三个 fastWindowMs / fastIntervalMs / slowIntervalMs / stopAfterMs。 | host / port | imap.qq.com / 993 | IMAP 服务器,端口即隐式 TLS。不填时按 user 的域名自动推断服务商(QQ / 腾讯企业邮 / 163 / 126 / yeah / Gmail / Outlook),认不出的域名保持 QQ 默认 | | tokenTtlMs | 1800000 | 口令存活期(30 分钟)。每发一封通知都会把计时重置,所以「回复最近那封」总是有效 | | user / authCode | 取自通知插件 | 想用另一个邮箱收信时才需要填 | 邮箱凭据默认从 $DSH_HOME/qq-mail-notify.json 读;单独配了 user / authCode 就以自己的为准。服务商同上:主机没配过时按邮箱域名推断,QQ 是默认,认不出的域名不猜。 它是怎么让任务继续的 DSH 的智能体有一个待处理队列:next-turn 是「等下一轮处理」的输入,next-step 是「等下一个步骤」的输入。往 next-turn 追加一条消息再唤醒驱动,效果等同于用户在界面里发了这条消息。 停止走的是 agent.cancel():清空待处理队列 + 中止当前 turn 的 AbortController,和你在界面上点停止是同一条路径。 这两处用的是 DSH 内部结构(不是公开 API),所以我把它单独做成插件——将来宿主换了实现,只需要更新这一个插件,不影响通知那一半。 和通知插件的关系 dsh-qq-mail-notify ──发信──▶ 你的邮箱 │ │ │ issueToken(sessionId) │ 你回复 ▼ ▼ dsh-mail-command ◀────── 收信、校验口令、注入指令 通知插件通过 cordis 服务 mailCommand 拿到口令;取不到服务时它照常发信,只是邮件里没有口令,回复也就不触发任何动作。两个插件谁都不 import 对方。 兼容性 - 只声明实测过的那个版本:0.2.1-rc.5。package.json 里 dshTarget 和 dsh.compatibility.dsh 都是它,没有范围。 - 为什么不写成 >=x <y:DSH 还在开发者预览,官方明确说会有破坏性变更,跨一个小版本(0.2.1 → 0.2.2)就可能装不上或行为不对。写范围等于替你赌那些版本,我不赌。 - 想装在别的版本上:把 dsh.compatibility.dsh 改成你手上的版本再试。能跑是运气,跑不动是常态——反馈时请带上版本号。 遇到问题 按这个顺序自查,基本能自己定位: 1. 看收件状态:开关、IMAP 地址、待用口令数、最近一次错误 mail_command action=status 2. 不想等轮询,立刻拉一次收件箱 mail_command action=check 3. 纯逻辑自检(口令、指令解析、引用剥离、服务商推断),不联网 & "$env:DSH_HOME\dsh-runtimes\dsh-primary-runtime\dependencies\node\bin\node.exe" scripts\selfcheck.mjs status 里的 lastError 非空就是它,直接看那一行;待用口令 一直是 0,说明发信侧没取到 mailCommand 服务——先确认通知插件也装了、且版本没落后。 还是不行就提 issue:<https://github.com/yashua233/dsh-mail-command/issues>。走 issue 而不是私信,后面遇到同样问题的人能搜到。 带上这几样,能省好几轮来回: - DSH 版本;本插件版本(package.json 的 version); - mail_command action=status 的完整输出(口令是打码的,可以贴); - 你回复的那封邮件主题里 [CONT:xxxxxxxx] 那一段(口令本身不用给); - 报错原文或截图,以及「你做了什么、期望什么、实际是什么」。 授权码、完整邮箱地址、token 请先打码。 审批回信(配合通知插件,默认关闭) 除了「继续 / 停止」,它还能回答「工具在等你授权」: - 通知插件里打开 approvalMailEnabled 后,审批请求会发一封带独立口令的邮件; - 回信只认同向表态:允许 / 同意 / ok / 1 → 这次放行;拒绝 / no / 2 → 这次拒绝; - 认不出来按「没回」处理——继续等,超时后把决定权交回界面。这里刻意不猜:审批放行的是有副作用的操作,猜错代价太大; - 审批口令和「继续」口令存在两张独立的表里,同一个会话可以各有一个,不会串味(不会出现「回一封同意被当成继续干活」); - 等待上限不超过口令存活期(30 分钟)。 超时、请求被中止、回信看不懂时,本插件不替任何人做决定,一律交回界面。 相关插件 - dsh-qq-mail-notify — 必需。它负责发信并把口令挂在邮件里,本插件才有东西可以回复。单独装本插件等于空转。 - dsh-restart-yashua — 可选。侧栏一个「重启 Harness」按钮,改完配置点一下生效。口令是落盘的,重启后旧口令仍然有效,不必重新发信。 三个插件互不 import,都靠 cordis 服务协作,可以任意组合安装;唯一的功能依赖是「本插件需要通知插件在场」。 隐私 不联网(除了连你自己的 IMAP 服务器),不收集任何数据。邮件原文不落盘,解析完即丢;口令与它对应的会话 id 记在 $DSH_HOME/mail-command-tokens.json(明文、仅本机、30 分钟后自动作废),除此之外不保留任何邮件内容。 许可证 MIT,见 LICENSE。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
yashua233/dsh-mail-command
回复通知邮件即可让任务继续或停止
相关插件 · 平台集成
智能体工程课walkinglabs/learn-harness-engineering
一门项目制课程,教你搭建环境、管理状态、做验证、加控制机制,让 AI 编程智能体稳定干活。
★ 21,155已汉化DSH
71.7
视频翻译配音liuzhao1225/YouDub-webui
开源视频本地化工作台:导入视频,识别、翻译并逐句克隆原声,生成字幕和配音成片。
★ 5,792已汉化Cordis
71.4
失败经验库Ikalus1988/MisakaNet
📚 零依赖、由 git 支撑的微课程库,让 AI 智能体异步分享并检索经过验证的调试经验。| https://misakanet.org
★ 550已汉化DSH
71.2
桌面智能体工作区freestylefly/wesight
WeSight 是开源桌面控制台,面向本地 AI 智能体。它帮你安装或复用 Claude…
★ 933已汉化MCP
71
IM 机器人接入xmanrui/dsh-im
让 DeepSeek Harness 触手可及 Connecting DeepSeek Harness
★ 3,110已汉化DeepSeek 客户端
70.9
中国平台研究引擎Jesseovo/last30days-skill-cn
给 AI Agent 的中文互联网研究 Skill:检索 8 大平台最近 30…
★ 2,031已汉化DSH
70.7
这是你的仓库?认领条目