概览
dsh-outcomes
README / ZH
插件文档
目录摘要
dsh.pub 核对固定版本的组合包契约、运行时事实与分发语义;完整 README 请查看源仓库。
在 GitHub 阅读完整 READMELIMITATIONS
已知限制
- **非交互(headless / 自动化)里无法"取消登记"**:`outcome_remove` 挂在宿主的审批闸门上, 没有审批通道时它会**明确失败**(`requires approval, but no approval channel is available`)而不是偷偷执行 —— 清单不会变。要在自动化里取消登记,用 CLI(`dsh-outcomes remove <id>`)或管理页。 其余五个工具不受影响。 - **跨进程并发不加锁,但会拒绝而不是覆盖**:`update` / `remove` / `restore` 都是「读—改—写」, 提交前会复核文件有没有被别的进程改过;改过就**不动它**并返回 `concurrent-modification` —— 两个进程同时写**不会静默丢一条登记**,你会拿到一个明确的失败。每次重写仍留 `.bak`; `add` 是追加式的,不受影响。 - **大清单未做分页优化**:几万条时管理页会变慢(服务端有 `limit`,页面默认拉 1000 条做前端过滤)。 - **文件存在性只在读取时计算**:`check` 是快照,不订阅文件系统事件。 - **不做内容索引**:搜索只覆盖标题/来源/备注/类型/路径,**不读文件正文**(也就搜不到正文里的词)。 - **客户端半部的加载失败是静默的**(宿主的既有行为):如果"设置 → Outcomes"没出现, 先看 `dsh.client` 的 `id` 是否等于包名 —— 见 [`docs/CLIENT-HALF.md`](docs/CLIENT-HALF.md)。 - **DSH 版本**:`engines.dsh >= 0.2.0-rc.2`(按该版本的客户端装配契约写的)。
