dsh-loopx-plugin
loopx-project/loopxLoopX——面向长周期 Agent 的提供商中立、本地优先状态内核与控制平面:在 DeepSeek Harness 执行层之上持久化 Goal、Todo、门禁、证据、配额、恢复与交接状态;插件负责引导安装 CLI 与技能、准入有界的同会话续跑,并为精确绑定的工作循环提供本地 GoalBar。
提供规格驱动的工程工作台,支持需求和文档版本、隔离 Git 工作区、独立复核、验证与人工接纳。需 Node.js 24+ 与 Git。
将 Specflow 的需求、规格、计划、任务、独立复核、验证和人工验收带入 DeepSeek Harness。安装后,在一个已打开的会话右侧添加 Specflow 标签, 或从右侧引导页选择 Specflow 工程工作台。
engines.dsh,其他版本需要重新验证。node --version 不能证明桌面宿主兼容。公开版本见 Specflow DSH 插件 0.1.0。
下载 预构建安装包
和同一 Release 的 SHA256SUMS.txt。在 DSH 的插件页选择安装第三方插件,输入发布包的
HTTPS 地址或下载后的绝对路径。审核安装来源后启用插件。
桌面版请使用自身的插件管理入口,以便安装到桌面版管理的 profile。
CLI/Web 用户也可以安装到 Web profile:
dsh plugin --profile web add https://github.com/HuYellow/specflow/releases/download/dsh-plugin-specflow%400.1.0/dsh-plugin-specflow-0.1.0.tgz
dsh web
当前公开来源为 GitHub 预构建包和固定提交的 Git 分发,尚未发布到 npm。
在 DSH 插件页的实验性插件中启用 自定义插件市场,进入 发现 → 添加索引源,添加:
https://raw.githubusercontent.com/HuYellow/specflow/main/market/dsh/index.json
然后找到 Specflow 工程流程工作台,确认兼容版本和来源后安装。 此索引由 Specflow 项目维护,安装来源固定到包含预构建代码的 Git 提交和插件子目录。
先停止正在运行的 Specflow 操作,再在同一 profile 的插件页停用或移除插件。
CLI/Web 用户也可执行 dsh plugin --profile web remove dsh-plugin-specflow。
工程数据库、执行日志和隔离工作区默认保留在 $DSH_HOME/specflow 或配置的 dataDir。
如需清理,先备份并确认没有宿主使用该目录;登记的项目源仓库不属于插件数据目录。
模型查询工具 specflow_query 只读,限制在调用会话所属的仓库,不提供人工接纳操作。
模型完成不等于工程通过:原有输入版本、新鲜度、双视角复核和验证门槛继续生效。
需求和文档编辑以开始编辑时的版本为基线。轮询不会覆盖尚未保存的草稿;其他窗口或 执行任务更新了同一内容时,编辑器会提示冲突并展示最新内容,保留草稿供比较。 确认改用最新基线后才能继续保存。保存需求时保留原有文档附件;人工改稿创建新的 文档候选,不继承旧版本的复核通过状态。
默认数据目录是 $DSH_HOME/specflow;未设置 DSH_HOME 时使用 DSH 官方默认 home
下的 specflow。数据包含工程 SQLite 数据库、独立 Git worktree 和执行日志。
原有 Specflow 桌面版的数据目录不会被自动迁移或采用。
可以在插件行配置 dataDir 为另一个绝对路径。每个目录只能由一个插件宿主持有;
若同时运行多个 DSH profile,应给它们配置不同目录。正常卸载会关闭请求、执行器和数据库,
并释放 host.lock。异常退出可能留下此锁;先确认使用该目录的宿主均已退出,
再删除该目录中的 host.lock 并重新启动。数据库和执行日志会保留供原身份核对。
执行器使用独立会话和 Specflow 创建的隔离工作区。只读阶段禁止模型修改文件。 实现阶段通过限定工作区的文件工具读写代码。模型不能调用继承的 Shell、外部目录工具 或子代理;项目验证由 Specflow 的确定性验证阶段执行用户配置的命令。 获准的验证命令使用宿主用户的系统权限,不构成操作系统沙箱。
运行日志保存原会话身份及结果。回执丢失或重启后只核对原运行,不自动重新发送提示。 中断后的原运行继续执行不在首版支持范围内;需要新尝试时由用户发起。 宿主或插件加载失败会直接报错,不回退为其他执行器。
根项目安装开发依赖后,在插件目录安装独立依赖,再回到仓库根目录构建:
npm ci
cd plugins/deepseek-specflow
npm ci --ignore-scripts
cd ../..
npm run typecheck
npm run dsh:typecheck
npm test
npm run dsh:test
npm run dsh:pack
产物为 release/dsh/dsh-plugin-specflow-0.1.0.tgz 和 SHA256SUMS.txt。
包内容采用白名单检查,仅包含预构建 Host、浏览器工厂、配置层、说明和许可证。
源代码、测试、缓存、Electron、Maka、OpenCode 和其他本机数据不会进入包。
浏览器使用 DSH 共享的 React,未打入第二份 React。
插件版本以本目录的 package.json 为准,插件报告的版本号与发布清单使用同一来源。
需要更新插件版本时,在本目录运行 npm version patch --no-git-tag-version(功能版本用
minor),同步更新此处的 package-lock.json,再回到仓库根目录重新验证和打包。
npm run dsh:smoke 验证官方宿主加载和本地模拟供应商上的真实执行。
验证脚本使用独立 Harness home,不读取现有用户配置,不调用付费模型。
另以宿主版本的 React 运行已构建客户端工厂,验证交互、窄面板和卸载清理。
需要本机 pnpm,以及 Playwright Chromium;Windows 默认使用已安装的 Edge。
首次准备官方验收运行时(下列为 PowerShell):
New-Item -ItemType Directory -Force .tools/dsh-validation
Push-Location .tools/dsh-validation
npm install --ignore-scripts --no-audit --no-fund --registry https://registry.npmjs.org @deepseek-ai/dsh@0.2.1-rc.2
Pop-Location
npm run dsh:smoke
其他平台先运行 npx playwright install chromium。
设置 SPECFLOW_BROWSER_CHANNEL 可指定浏览器渠道。
使用其他验收运行时目录时,可直接运行
node scripts/toolchain.mjs dsh-smoke --runtimeDir /absolute/runtime-directory。
三个验收脚本的结果分别写入 .tools/dsh-host-smoke.json、控制台及
.tools/dsh-client-qa/report.json。这些运行时与报告不进入发布包。
公开分发使用同一仓库的 codex/dsh-distribution 分支,保持插件子目录路径,
并用 dsh-plugin-specflow@<版本> 标签标记包含预构建代码的提交。
npm run dsh:distribution 准备仅含运行文件的 Git 分发树;npm run dsh:market -- generate
生成官方格式的固定提交索引。完整发布步骤见仓库中的 docs/implementation/dsh-publication.md。
npm 是另一种可选分发方式。配置发布账号后,可在本目录运行
npm publish --access public;发布前应完成相同验证,并更新索引的安装来源。
Specflow:Apache-2.0。随包 Zod:MIT,完整文本见 dist/ZOD_LICENSE。
DSH 与 React 为宿主提供的 peer dependencies,许可证由其各自包提供。