Preflight
Problem
BTW 双循环不是插件,配置值也在根级 btw,但 WebUI 元数据被挂在 plugin_group.metadata.btw。用户在「AI 配置 → 高级 / 能力」找不到这 10 个字段,只能去「插件配置」碰运气。
当前 master(80855dba98a3d052e19e1e922a845c69eeb21f5d)上还有一层前端特判:AstrBotCoreConfigWrapper.vue 对 plugin_group 只渲染插件选择器,连 plugin_group.metadata.btw 也画不出来。后端 /api/v1/config-profiles/default 已经返回完整 btw 元数据和中英词条。
放进插件页不是产品分类,而是 7630c7c76 为了迁就 ConfigMetadataI18n.convert_to_i18n_keys:顶层 CONFIG_METADATA_3["btw"] 会被当成 Tab 组且没有 metadata,转换后控件被清空。i18n 键当时已经写在 plugin_group.btw.* 下。
Proposal
把 WebUI 分组改到 AI 配置 → 能力,与 Computer Use、知识库、网页搜索、主动能力放在一起。不要做成内置插件,也不要塞进「高级」(那里是上下文压缩和杂项执行参数)。
建议最小改动:
- 将
CONFIG_METADATA_3["plugin_group"]["metadata"]["btw"] 挪到 ai_group.metadata.btw。运行时仍用根级 btw,不改 DEFAULT_CONFIG 形状。
AiConfigPanel.vue 的 capabilities 列表加入 btw。
- 将
config-metadata 中英词条从 plugin_group.btw 迁到 ai_group.btw,并更新 test_config_metadata_i18n.py。
- 同步
docs/zh/dev/astrbot-config.md 与 docs/en/dev/astrbot-config.md 的路径说明(现为「配置文件 → BTW 双循环」)。
- 给
btw.work_loop.computer_use_runtime 补 labels(inherit / none / local / sandbox),与 AI 页 Computer Use 下拉一致。
plugin_group 继续只负责插件选择器。若该组以后还有非 plugin 的 metadata,应由通用渲染接住,而不是再为 BTW 开特例。
Non-goals
- 注册名为
btw 的内置插件 / Star。
- 新增顶层配置 Tab。
- 改 BTW 运行时语义、默认关闭策略或循环分配规则。
- 把 BTW 放进「高级」或「扩展功能」。
Acceptance criteria
Author
Agent
Agent note
OpenCode 按维护者结论起草并提交本 Issue:BTW 应放在 AI 配置 → 能力,而不是插件页或假插件。依据是 CONFIG_METADATA_3、AiConfigPanel.vue 的写死子 Tab、7630c7c76 的转换 workaround,以及本会话中确认的分类讨论。未声称可见性修复已合入 master。后续 PR 需人类维护者审查和独立 AI 辅助评审。
Preflight
Problem
BTW 双循环不是插件,配置值也在根级
btw,但 WebUI 元数据被挂在plugin_group.metadata.btw。用户在「AI 配置 → 高级 / 能力」找不到这 10 个字段,只能去「插件配置」碰运气。当前
master(80855dba98a3d052e19e1e922a845c69eeb21f5d)上还有一层前端特判:AstrBotCoreConfigWrapper.vue对plugin_group只渲染插件选择器,连plugin_group.metadata.btw也画不出来。后端/api/v1/config-profiles/default已经返回完整btw元数据和中英词条。放进插件页不是产品分类,而是
7630c7c76为了迁就ConfigMetadataI18n.convert_to_i18n_keys:顶层CONFIG_METADATA_3["btw"]会被当成 Tab 组且没有metadata,转换后控件被清空。i18n 键当时已经写在plugin_group.btw.*下。Proposal
把 WebUI 分组改到 AI 配置 → 能力,与 Computer Use、知识库、网页搜索、主动能力放在一起。不要做成内置插件,也不要塞进「高级」(那里是上下文压缩和杂项执行参数)。
建议最小改动:
CONFIG_METADATA_3["plugin_group"]["metadata"]["btw"]挪到ai_group.metadata.btw。运行时仍用根级btw,不改DEFAULT_CONFIG形状。AiConfigPanel.vue的capabilities列表加入btw。config-metadata中英词条从plugin_group.btw迁到ai_group.btw,并更新test_config_metadata_i18n.py。docs/zh/dev/astrbot-config.md与docs/en/dev/astrbot-config.md的路径说明(现为「配置文件 → BTW 双循环」)。btw.work_loop.computer_use_runtime补labels(inherit/none/local/sandbox),与 AI 页 Computer Use 下拉一致。plugin_group继续只负责插件选择器。若该组以后还有非plugin的 metadata,应由通用渲染接住,而不是再为 BTW 开特例。Non-goals
btw的内置插件 / Star。Acceptance criteria
plugin_group.btw.*键或未翻译的inherit原文(除非有意保留 ident)。btwJSON 形状不变;保存/读取现有配置档不迁移、不丢字段。tests/unit/test_config_metadata_i18n.py、相关 Dashboard Vitest、中英文档与docs:build/make check-md通过。Author
Agent
Agent note
OpenCode 按维护者结论起草并提交本 Issue:BTW 应放在 AI 配置 → 能力,而不是插件页或假插件。依据是
CONFIG_METADATA_3、AiConfigPanel.vue的写死子 Tab、7630c7c76的转换 workaround,以及本会话中确认的分类讨论。未声称可见性修复已合入master。后续 PR 需人类维护者审查和独立 AI 辅助评审。