- 变更规模:新增 514 / 修改 62 / 重命名 155 / 删除 4(归档重组与文档轮次) - .gitignore 修:`归档/**/db-cwd归一-备份-*/` —— 原规则写绝对层级(归档/db-cwd归一-…), 目录搬进 归档/配置与备份/ 后**静默失效**,43 MB 的 DB 备份又变成未跟踪 - .gitignore 补:嵌套 git 内部数据(归档/内嵌git-20261008/、归档/skills-git-旧线-20261007/dotgit-原样移出/) - .gitignore 补:运行态与部署副本(.workbuddy/collab/、.workbuddy/tools/、.workbuddy/.load-pending、.workbuddy/tmp-*) - .gitignore 补:备份件(*.bak-*) - 未跟踪文件从 2190 降到 890(其余为 归档/ 归档件与 .workbuddy/memory/ 知识文件,按口径入库)
35 lines
2.1 KiB
Markdown
35 lines
2.1 KiB
Markdown
---
|
||
alwaysApply: false
|
||
paths: ["**/*.ts", "**/*.cjs", "**/*.mjs"]
|
||
---
|
||
|
||
# 服务器侧改码:流程与门禁
|
||
|
||
## 哪一层要重启(**R8 判据**)
|
||
|
||
| 改什么 | 是否需 build + 重启 | 是否中断在线用户 |
|
||
|---|---|---|
|
||
| `src/**`(TS,编排器) | ✅ `npm run build` + 重启 `dshs` | ✅(开发环境)**直接做** —— 动手前一句话说明即可,⛔ **不必等确认**(R8 · 2026-09-13 用户明令「这个是开发环境服务器,不用担心中断用户」;2026-09-16 收口) |
|
||
| `web/*.html`(门户静态页) | ❌ 即时生效 | ❌ 否 |
|
||
| profile 层(cordis patch / bundles) | 重启该用户实例 | 仅该用户 —— 同样**直接做**,一句话说明即可 |
|
||
|
||
**改 `web/*.html` 千万不要重启服务** —— 那是**无谓的中断**(R8 的"不必等确认"**不等于**"可以无谓重启":按 **R11 只做正向迭代**,无收益的重启仍是劣化)。
|
||
|
||
## 部署前
|
||
|
||
1. **校验改前基线**:`ssh bt-server 'git hash-object <file>'` vs 本机 `git rev-parse HEAD:<file>`
|
||
—— **比 md5 可靠**(不受 CRLF / 编码影响;md5 已误判过一次)。
|
||
2. 备份:`cp <file> <file>.bak-<ts>`,回滚命令写进档案。
|
||
|
||
## 插件安装(`ensure-*.cjs` / `pnpm`)
|
||
|
||
- **必须走 pnpm**:`pnpm add file:<tgz>`;lockfile 才是账本,手放 `node_modules` 无效。
|
||
- **同名同版本 tgz 改了内容必须升版本号** —— pnpm 会复用旧包(已踩)。
|
||
- 装完若需实例生效 → 重启该用户实例 → 属 R8,**动手前一句话说明影响即可,⛔ 不必等确认**。
|
||
|
||
## 验证
|
||
|
||
- API 链路**必须同时覆盖"有请求体"与"无请求体"** —— 只测 POST 会整条漏掉 GET/SSE。
|
||
- 浏览器验证**只允许 `browser-harness` 一件**(⛔ `agent-browser` 与 Playwright 全面禁用 —— 2026-09-25 用户明令「改为 browser-harness,只允许使用这个」),
|
||
**铁律:动手前先 `list_tabs()`**,确认附着的不是用户正在用的 Chrome。调用姿势 ⇒ 技能 `dsh-change-workflow` 的 `references/08-浏览器验证栈详解.md`。
|