Skip to content

Releases

v0.4.1 — 声明支持的 DSH 版本

Choose a tag to compare

@SiriusWJ SiriusWJ released this 15 Sep 18:35

声明宿主兼容性,并让插件市场能展示截图。无可感知的行为变更。

  • engines.dsh: ">=0.1.5-rc.1" —— 插件市场按 package.json 的 engines.dsh(或 dsh.engines.dsh)判定宿主兼容性;此前未声明,市场里只会显示「未声明」
  • engines.node 修正为 ">=22.5.0":原 >=20 不准确,node:sqlite 自 22.5 起提供,22.5–23.3 还需 --experimental-sqlite(24 起默认可用)
  • README 新增「兼容性 / 支持的 DSH 版本」:实测版本、Node 要求,以及用到的全部宿主能力清单(便于自行判断其他 DSH 版本)
  • 新增 screenshots.json:插件市场详情页会读取它展示截图,日后换图只需推自己的仓库

实测环境

  • DSH 0.1.5-rc.1(@deepseek-ai/dsh-tools / dsh-base 为 0.1.5-rc.2)
  • Node 24.12

v0.4.0 — 定时任务

Choose a tag to compare

@SiriusWJ SiriusWJ released this 15 Sep 18:26

定时任务(新功能)

DSH 原生的进程内定时任务:SQLite 落库、cron 表达式驱动、到点由 DSH 拉起会话执行提示词。不读写系统 crontab,没有守护进程。

  • 面板(设置 → 记忆 → 定时):工作区与模型都是下拉,选中模型后才出现它真正支持的推理强度,表达式原文 / 超时 / preset / 触发落点收进「高级设置」
  • 表达式实时预览未来 5 次;执行记录(状态 / 耗时 / 摘要 / 会话)
  • 手动新增、编辑、删除、启停、立即运行
  • 任务级模型路由:provider / model / reasoningEffort(只对「新建会话」生效),留空跟随部署默认
  • 触发落点:新建会话(缺省)或投递到指定会话(活着直接投递,否则在原会话上续跑)
  • 模型工具:cron_add / cron_list / cron_run / cron_toggle / cron_remove
  • 中英双语

定时任务配置

触发边界

  • 只在 dsh web 进程运行期间触发;关闭期间错过的时刻不会补跑(错过即丢)
  • 同一分钟内最多触发一次;同任务不重入、全局并发上限 2、单次超时缺省 600 秒(超时取消并记为 timeout)
  • 每次触发是一轮真实的 agent 会话,会消耗 token;建议用模型路由 + preset 控制成本与工具范围
  • 无人值守执行:请确认 preset 的审批策略与工具限制,否则任务可能卡在审批上

真机测试中发现并修复的问题

这些是离线单测抓不到、只有在真实 DSH 进程里跑才暴露的:

  • 回合完成判定错误:原先用 whenIdle() 等一轮结束,但新建 agent 的 driver 起来之前它就是 idle,于是 47–124ms 就"完成",任务记成功却实际没跑(会话日志里只有一行 session 表头)。改为按事件判定:agent/status running↔idle + session/event turn/end + agent/error
  • 程序化建会话缺默认模型与 cwd:部署的 persona 模板引用 {{provider}}/{{model}}/{{cwd}},缺任一项这一轮 prompt 装配直接抛错。现在像 dsh-headless / dsh-webhook 一样补齐 agentDefaultModel.currentSelection() 与 cwd
  • 日历提醒的「会话已移除 → 新建会话投递」是同一路径、同一缺陷,一并修复
  • 顺带修:日历面板「完成」按钮用了不存在的字典键(中文界面漏出英文 key);两个面板的 React key 警告

验证

套件 结果
真机端到端(真 LLM 回合 + 多帧 zstd 会话日志逐帧校验 + 自然分钟 tick + 路由失败路径) 27 / 27
隔离 harness(真 SQLite + 假 agents/timer/webServer) 70 / 70
面板 SSR(真 React + fixture,含日历默认页回归) 39 / 39
老库逐列迁移(旧 schema cron_jobs 含数据 → 自动补列) 13 / 13
双语文案完整性 无缺失

请求头级证据:下拉选中的模型与推理强度确实进了这一轮请求 —— {"provider":"deepseek-official","model":"deepseek-flash","reasoningEffort":"low","maxTokens":256000}。

安装

cd ~/.dsh/profiles/web
pnpm add github:SiriusWJ/dsh-lite-memory

然后在 package.json 的 dsh.profile.bundles 数组里追加 "dsh-lite-memory",重启 dsh web 生效。本地开发可用 dsh plugin --profile web add link:/path/to/dsh-lite-memory。