Files
workbuddy_skills/dsh-workflow/SKILL.md
T

80 lines
9.5 KiB
Markdown
Raw Normal View History

---
name: dsh-workflow
description: DSH 多租户平台(ai1net.com / dshs,服务器 47.77.182.89)**作业流程总入口** —— 覆盖两半:① **平台功能改造与优化的完整工作流**(用户提出平台需求 / 改造 / 优化 / 缺陷修复 / 功能调研,或要求"按既有流程执行 / 沉淀 / 整理处理机制"时;含**红线 R1–R11 原文速查**与档案模板)② **长任务「多棒自动接力」编排**(「自动新建会话接续处理」「接力跑下去」「多步骤任务自动推进」「跑完一棒自动接下一棒」「无人值守推进」,或一个任务预计要跨 ≥3 个会话 / 超过一个上下文窗口时)。核心 = **六阶段工作流**(需求识别→调研→规划→开发→验证→归档)+ **红线 R1–R11(任一条命中 ⇒ 先停手)** + 档案模板 + 并行调度协议(三把锁)+ **六件套 prompt 骨架** + **登记门禁(要拍板的先等拍板)** + **收尾四件套** + 七条实测防护 + **排期两条铁律**。判据实体在主干,**全文在 `references/`(2 档)**。⚠️ **分工**:本技能管「**怎么落地**」;「怎么想、怎么定」⇒ `session-mechanism`;「本机环境」⇒ `dsh-local-env`。
version: 1.0.0
updated_at: 2026-09-28
last_change: 【2026-09-28】**由 `dsh-change-workflow` + `dsh-auto-handoff-chain`(v1.7.5)合并而成**(两个原名退役)。按 `dsh-knowledge-upkeep §10`「主干 + 详情档」形态:判据实体留主干、全文下沉 `references/`(**内容守恒:逐行 0 丢失**,含原 frontmatter 变更历史)。⚠️ 两者**不是同一层**(一个是"一次改造的六阶段"、一个是"跨会话接力的编排机制",属**互补**)⇒ 合并只做「**单一入口 + 分诊**」,⛔ **不把两套判据混成一套**,各自全文原样保留为独立详情档。⚠️ **并按对账结论处置了版本分叉**:`change-workflow` 的**文档库版为超集且更新**(红线 **R1–R11** + 已按 2026-09-21 修订的 R8「开发环境直接做」;本机版 R1–R8 是其真子集且 R8 为旧措辞)⇒ 取**文档库版**,并并入其「🔵 作用域 + 宿主落点对照」块;`auto-handoff-chain` 本机版为**超集**(多 §3.1.3「投单 ≠ 启动」等 60 行)⇒ 取**本机版**。⛔ 未删任何判据,⛔ 未丢掉任何一条红线。
agent_created: true
---
# dsh-workflow — DSH 平台作业流程总入口
> ## 🔴 第 0 步:先分诊(两个层次别混)
>
> | 情形 | 去哪 | 一句话 |
> |---|---|---|
> | **一次**平台改造 / 优化 / 缺陷修复 / 功能调研(要落地) | **§1 六阶段** | 单次任务的完整流程 |
> | 判断某事**该不该做 / 怎么选型** | ⛔ 不属本技能 ⇒ `session-mechanism` | — |
> | 任务**要跨多个会话 / 超过一个上下文窗口**,要无人值守推进 | **§2 多棒自动接力** | 把长任务拆成棒次链条 |
> | 只是**一条**自动化接续(做完即停) | 两者都用:§1 出活、§2 排棒 | — |
---
## 1. 平台改造六阶段(一次改造怎么落地)
**六阶段**:**需求识别**(先盘点再动手,⛔ 勿跳步)→ **调研**(**源码级实证优先**,⛔ 禁止只靠文档推断)→ **规划**(文档先行,方案确认后动工)→ **开发**(小步 + 备份 + 逐条验证)→ **验证**(全链路 + 浏览器实测 + 清理)→ **归档清理**(文档同步 + 三层沉淀)。
## 🔴 红线 R1–R11(原文速查 · 任一条命中 ⇒ **先停手**;效率论证不构成豁免)
1. 禁止启动 dsh 时自动获取最新版本(升级走独立流程)。
2. **不改官方 dsh 主程序与缓存**;扩展只走 profile 层官方插件机制。
3. **client bundle 严禁 `exports.default = apply`**(或任何 default 函数导出)。
4. **R4|禁止借真实账号(admin/guest)的会话跑测试**(⚠️ 旧理由已自 2026-09-20 失效 —— 已改为多会话并存)。
5. **R5|权限可见面只准收窄,扩大必须先确认**。
6. **R7|禁止未经确认的批量 / 全仓写入**。
7. **R8|生产变更知会**(2026-09-21 修订)—— 开发环境服务器 ⇒ **直接做**,只需动手前一句说明 + 攒批;⛔ **不是"先取得确认"**。
8. **R9|⛔ 绝对禁止「人工删锁 / 接管」** —— 锁**只能由持有者自己释放**;抢不到 = 终点 ⇒ 只读、报告、结束。
9. **R10|⛔ 绝不以 root(或非该实例 uid)运行 / 触碰用户实例的东西**。
10. **R11|⛔ 只做正向迭代** —— 十维判据(目标/方向/架构/功能/性能/安全/交互/UI/便利性/扩展性)**是否让任一维净变差**?命中 ⇒ **立即停下复盘**。
> 📂 **R5/R7/R8 的由来与完整判据** ⇒ `references/dsh-change-workflow/02-红线详解-R5-R7-R8.md`(判「算不算批量写入 / 要不要先知会 / 是扩大还是收窄」时**必读**)
**另两条硬机制**:**并行调度协议**(按**冲突域**定并行度 + **三把锁**:全局执行锁 / 单级占用锁 / 服务器侧操作锁)|**档案模板**(改造档案的固定骨架)。
📂 **全文 ⇒ `references/00-平台改造六阶段.md`**(含六阶段细目、红线完整原文与解释、档案模板、并行调度详解、运维锚点与取证、插件与数据源口径、实例可见面与共享边界、浏览器验证栈)
📂 **附属档目录 ⇒ `references/dsh-change-workflow/`**(`00-平台速查` · `01-档案模板` · `02-红线详解-R5-R7-R8` · `03-沙箱与技能机制` · `04-运维锚点与取证` · `05-插件与数据源口径` · `06-实例可见面与共享边界` · `07-并行调度详解` · `08-浏览器验证栈详解`)
---
## 2. 多棒自动接力(跨会话长任务怎么编排)
**形态**:`规划棒①(出交接单)→ 执行棒①(照单落地)→ 规划棒② → …` —— 每棒 = **一个全新会话 + 一条一次性自动化**,做完**自己把下一棒排上**,**全程零人工点击**。
⇒ 这是「**规划与执行分离**」从纪律变成**机制**:规划棒**物理上碰不到生产**。
**六件套 prompt 骨架(照抄填空)**:① 状态单点 → ② 唯一执行依据指针 → ③ **全局锁** → ④ 单一动作 → ⑤ **成本纪律** → ⑥ **收尾四件套**。
**收尾四件套(缺一即算未完成)**:① 释放锁 ② **过登记门禁**后登记下一棒 + **用陈述句告知用户** ③ 把入口「本轮动作」推进到再下一棒 ④ 写工作区日志。
> ⚠️ 第 ② 件是**唯一会"断链"的地方**,也是**钩子做不到**的地方(钩子不能创建会话 / 自动化)。
🔴 **登记门禁(顺序不可颠倒)**:**先判「是不是要拍板」,未命中才轮到「候选排不排得出优劣」**。下一棒若含**边界外事项** ⇒ **不登记**,停下等拍板;拍板到手后再建。
🔴 **排期两条铁律**:**同一时刻只挂一个**;首个(唯一)接续棒 = **收口 + 3~4 分钟**(🔴 2026-10-01 用户口径:「接续会话 时间缩短 3-4 分钟即可」⇒ 原 5~8 作废)。⚠️ **改时间不会触发** ⇒ 重排**必须新建**一条。
🔴 **七条实测防护**(都是真踩过的):断链 / 双开 / once 不转完成态 / 跨过拍板点 / 下一棒定太晚 / **投单 ≠ 启动**(工单不会自己变成动作 ⇒ 光投单+加指针,automation 全表可能**无一条**)/ 工作区归属与 `cwds` 归一(⛔ 错一字面即裂组,且**裂组会自我强化**)。
📂 **全文 ⇒ `references/01-多棒自动接力.md`**(含六件套骨架原文与为什么长成这样、收尾陈述句模板、七条防护、实测成本基线(连续 8 棒零断链)、工作区归属五律、活库改动铁律、§3.1.3「投单 ≠ 启动」、域锁四个"假绿"坑、落地清单)
📂 **附属档 ⇒ `references/dsh-auto-handoff-chain/`**(`chain_report.py` · `audit-mirror.py`)
---
## 3. 详情档索引(跨档引用按此表定位)
| 档 | 覆盖的原技能 | 原章节 |
|---|---|---|
| `references/00-平台改造六阶段.md` | `dsh-change-workflow`(**文档库超集版**,全文) | 阶段 0 需求识别 / 阶段 1 调研 / 阶段 2 规划 / 阶段 3 开发 / 阶段 4 验证 / 阶段 5 归档清理 / **红线 R1–R11 原文速查** / 并行调度 / 三把锁 / 档案模板 / 变更历史 |
| `references/01-多棒自动接力.md` | `dsh-auto-handoff-chain`(**v1.7.5 本机超集版**,全文) | §0 分工 / §1 形态 / §2 六件套骨架 / §3 收尾四件套与登记门禁 / §4 防护 / §5 成本基线 / §6 落地清单(含 §3.1.3「投单 ≠ 启动」) |
| `references/dsh-change-workflow/` | 原附属档 | 9 档(平台速查 / 档案模板 / 红线详解 R5·R7·R8 / 沙箱与技能机制 / 运维锚点与取证 / 插件与数据源口径 / 实例可见面与共享边界 / 并行调度详解 / 浏览器验证栈详解) |
| `references/dsh-auto-handoff-chain/` | 原附属档 | `chain_report.py` · `audit-mirror.py` |
🔴 **两个原名已退役**(`dsh-change-workflow` / `dsh-auto-handoff-chain`)⇒ 别处见到按本技能对应档读。
⚠️ **为什么保留为两档而不是揉成一份**:两者**层次不同**(单次改造 vs 跨会话接力),属**互补**而非重复 ⇒ 唯一入口在主干,⛔ 判据不混。
⚠️ **红线以本档为准**:`references/00` 里是 **R1–R11**(含 R9/R10/R11);若在别处看到只到 **R8** 的旧清单,**以本档为准**(那是 2026-09-21 之前的版本)。