src/adapters/feature-capabilities.ts。权威字段要求位于 src/adapters/declarative/validate.ts。
能力目录
不存在 名为
theme-sync 的能力 ID。宿主主题联动是独立配置字段 themeSync,并可能隐含 supportsHostThemeSync。
能力说明
大纲家族
outline需要会话容器,以便 Ophel 限定扫描范围。outline-user-queries不能单独声明;校验器还要求outline。- 优先使用稳定的消息根节点,而不是翻译后的可见文案。
提示词插入
prompt-insert 需要同时具备:
- 一个或多个 textarea / contenteditable 选择器
- 含
mode(textarea或contenteditable)与submitKey(Enter或Ctrl+Enter)的input块
textContent。
生成检测
使用目标站点上可靠的信号:generating.existsSelectors— 生成中可见的 DOM 标记networkMonitor— DOM 状态不足时的请求 URL / body 规则
generation-detect 却两者都没有,会被拒绝。
布局能力
主题联动不是能力 ID
通过写入localStorage、并可选切换 <html> class 来切换亮暗模式的站点,可以声明 themeSync:
- 存在
themeSync时,storageKey、values.dark、values.light必填 values.system仅适用于站点本身存储独立“跟随系统”值的情况darkClass/lightClass可选;若站点自行监听storage事件,两者都可省略- 嵌套对象存储使用
valuePath;扁平 JSON 编码字符串使用valueFormat: "json" valuePath与valueFormat不能同时使用- body class、
data-theme或点击模拟类主题机制不受此字段支持 - 声明
themeSync的同时设置supportsHostThemeSync: false会被拒绝
示例:Duck.ai 能力集合
已发布的duck-ai 站点拓展当前声明:
相关配置分组
这些分组本身不是能力,但常伴随能力声明出现:
完整字段、长度、正则、CSS 与体积限制由以下文件定义:
两者冲突时,以运行时校验器为准。