Files
dsh_ai1net_server/.codebuddy/rules/server-ops.md
T
admin ce8e6ceed9 chore(工作区): 纳入版本控制基线(回收 411 MB 过程产物)
回收 411 MB(470 M → 58.8 M),全部经回收站,可恢复:
- 待清理/(146.2 M,含 relay 分片 128 M 与 42 项过程目录)
- tmp/(32.4 M,按接续棒命名的过程临时区)
- .workbuddy/tmp/(39.5 M)
- 4 份 workbuddy.db 冗余副本(101 M,09-23 事故的坏副本 / 抢救产物)
- tmp/im16/gw/centrifugo 二进制(63.9 M,可重下)+ 缓存残留

入库范围:常驻规则(CODEBUDDY.md / README.md / state.py)、在途接续入口与
接续包、docs/、交付物/、交接单/、归档/、scripts/、.codebuddy/、
.workbuddy/memory/;共 398 件,其中 >60 KB 的 26 件全为文档。

排除(.gitignore):tmp/、待清理/、运行态日志与缓存、*.db 与 DB 备份整目录、
打包二进制(*.tar.gz / *.tgz)、记忆修复前备份。
2026-09-24 07:51:03 +08:00

34 lines
1.8 KiB
Markdown
Raw 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`,**铁律:动手前先 `list_tabs()`**,确认附着的不是用户正在用的 Chrome。