← 返回列表
未验证
在隔离子进程里模拟插件重启,自动检测崩溃挂死
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/22 · 已提供中文文档
DeepSeek Harness 插件的模拟重启测试:在隔离的子进程中验证插件能否在重启后存活(模块求值 → 应用 → 冒烟测试 → 释放),并配备常驻自动监视器和代理反馈循环
综合分
27.5
GitHub 分
27.5
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add tkwkeven/dsh-sim-restart该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-tools用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
dsh-sim-restart English · 为 DeepSeek Harness(DSH)插件提供模拟重启测试。无需真正重启 DSH 进程,即可在隔离的子进程中让每个插件完整走一遍重启路径——进程重启 → 模块求值 → 插件形状 → apply 启动 → 冒烟运行 → dispose 清理 → 干净退出——并报告插件在真实重启后是否会崩溃或挂死。 常驻 watcher 会在任何插件被安装、修改或移除时自动触发这些测试,并把失败诊断注入 agent 的提示词,直到全部通过为止。 这是 dsh-lark-sim-restart 的开源版本(已更名;该插件从来就不是 Lark 专属)。 功能特性 | 功能 | 描述 | |---|---| | 覆盖全部插件类型 | 动态插件(source 模式)、文件系统插件(plugins/)、npm 插件(node_modules/,含 @scope),以及任何带 package.json 的目录(module 模式,自动识别) | | 引擎自动解析 | 从 package.json 的 exports/main 或常见路径解析入口;依赖从 profile 的 node_modules、全局根目录、DSH 安装目录和 plugins/ 中布局 | | 传递真实配置 | 自动测试从 patch 层收集每个插件的配置(bundle 内置 + profile,!!js 表达式在宿主侧求值) | | Agent 反馈闭环 | 失败以 systemPrompt 段落的形式注入,附带精确诊断;watcher 在每次修复后重新测试,直到全部通过 | | 内置引擎 | 引擎(lib/engine.mjs)随包一起发布——零外部部署 | 工具 | 工具 | 描述 | |---|---| | simulate_plugin_restart | 让单个插件走一遍模拟重启流水线(source 或 module 模式),返回按轮次/按阶段的结构化 ✅/❌ 诊断 | | simulate_plugin_restart_auto | 扫描所有已启用插件并按顺序逐一测试;常驻 watcher 也使用它 | | sim_restart_auto_status | 查询 watcher 状态:监控范围、最近一次扫描、待测队列、每个插件的最新结果与失败诊断 | 安装 将包放到 DSH profile(plugins/ 或 node_modules/)下,并在 cordis.patch.yml 中启用: - insert: - id: sim-restart name: dsh-sim-restart 要求:Node.js ≥ 20、@deepseek-ai/dsh-tools peer 依赖,以及 js-yaml(依赖项)。 配置 | 键 | 默认值 | 描述 | |---|---|---| | watchEnabled | true | 启用常驻自动测试 watcher | | pollMs | 2000 | watcher 扫描间隔(毫秒) | | debounceMs | 2500 | 变更后开始测试前的防抖时间(毫秒) | | rounds | 2 | 每个自动测试插件的轮数(1–4) | | smokeMs | 800 | 每轮冒烟运行时长(毫秒) | | profileDir | ~/.dsh/profiles/web | 要监控和测试的目标 DSH profile 根目录 | | stubsMap | Lark 默认值 | 插件名 → 外部连接的打桩列表(例如 deepseek-harness-lark WebSocket) | 工作原理 1. 引擎在全新的临时目录中运行每一轮(mktemp -d),写入 params.json 并执行 node engine.mjs params.json。 2. 引擎刻意不调用 process.exit():一次干净的运行会在所有句柄释放后自然退出。进程挂死(被调用方超时)正是"重启后会挂死"的判定依据。 3. watcher 计算目录签名(每个文件的 size + mtime),每次轮询时做差异比较,经过防抖后,通过串行队列测试发生变更的插件。 4. 结果持久化到 ~/.dsh/var/sim-restart/auto-status.json(可按部署配置)。 开发 node --check lib/index.js && node --check lib/engine.mjs node test/self-test.mjs 许可协议 MIT
同作者(tkwkeven)的其他插件
扫码进群