Precipitate host contracts from task-plaza: visibleWhen equalsFrom, replaces gates, url openExternal, feishu data-sources (v1.0.128)
All checks were successful
技能自动化发布 / release (push) Successful in 14s

This commit is contained in:
2026-11-01 16:30:46 +08:00
parent d911bd28cd
commit 90eefc8653
15 changed files with 412 additions and 32 deletions

View File

@@ -168,6 +168,26 @@
未知字符串:忽略。**禁止**把「省略」解释成全禁。
### 2.5 状态机 / 队列表配方(推荐)
业务状态只能走领取、提交、验收、结算等 Action,**禁止**用户在数据管理里裸改状态 / 结果链接时:
```json
{
"schemaVersion": 1,
"skill": "your-skill-slug",
"actor": { "userId": "u1" },
"actions": { "mode": "open" },
"hostCapabilities": ["refresh", "view", "export", "import"]
}
```
要点:
1. **`hostCapabilities` 不含 `edit`(也不含直写 `delete`)** → 宿主隐藏裸「编辑」;状态机字段同时建议列级 `editable: false`(SQLite `_jiangchang_columns` 或飞书 `data-sources.columns`)。
2. 删除仍要走技能校验时:声明 **`replaces: delete`**,并用 `bind.visibleWhen` + `equalsFrom: currentUser.userId` 控制「仅本人可见删除」(宿主行菜单与技能按钮同一规则;见 [`ACTIONS.md`](ACTIONS.md))。
3. `mode: open` 不挡业务 Action;需要收紧技能按钮时再改 `allowlist`。
---
## 3. L2:`data` 与 scope 语法白名单