Files
admin c1b5e4d966 chore(工作区): 全量入库 + 补齐 .gitignore(以工作区为准)
- 变更规模:新增 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/ 知识文件,按口径入库)
2026-10-10 23:13:22 +08:00

35 lines
2.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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`。