Skip to content

Latest commit

 

History

History
40 lines (29 loc) · 1.55 KB

File metadata and controls

40 lines (29 loc) · 1.55 KB

参与开发

pnpm install          # 或 npm install
npm run build         # tsdown → lib/index.js(宿主层)
npm test              # 113 个用例
npm run typecheck     # tsc

装到本地 dsh 试

npm run build && node scripts/link-profile.mjs web
dsh web

或者打包安装(更接近真实用户路径):

npm pack && dsh plugin --profile web add ./dsh-abyss-<版本>.tgz

改代码时的几条硬规矩

  1. 浏览器层的插值一律转义。 会话标题、工具名、台词都是模型产物,一个没转义的引号就是注入宿主页面。
  2. 文字不带动画 class。 动效只落在精灵上;一行转起来的字是不可读的(这条有测试守着)。
  3. 不猜数据。 拿不到上下文窗口就不画水位;拿不到文本就只改状态,不要编一句台词。
  4. 瞬时状态放模型里,不要只存在 DOM 上——每次渲染都会重写楼面 markup。
  5. 测试驱动的是 client/client.js 本体,不要为了好测而在测试里重写一份逻辑。
  6. 新增 UI 行为请同时补:投影层用例(tests/org.test.ts)、宿主用例(tests/plugin.test.ts)、浏览器用例(tests/client.test.mjs)中相关的那一层。

发布

开源与发版的完整清单在 docs/launch.md

提 PR

  • 一个 PR 一件事,CHANGELOG 里加一条。
  • 涉及界面的改动,附上改动前后的截图。
  • 涉及投影语义的改动(比如"什么算失败"),请在 PR 里写清楚依据的是哪个事件字段