@if (error()) { {{error()}}
}
@if (notice()) { {{notice()}}
}
@for (resource of blocked(); track resource[0]) {
资源保护 · {{resource[0]}}{{resource[1]}}
}
@if (progress(); as job) {
{{job.status === 'completed' ? '安装完成,请点击启用。' : job.stage}}{{job.progress}}%
}
@if (tab() === 'installed') {
@if (loading()) { 正在读取插件…
}
@else if (!installed().length) { extension还没有安装插件
从市场安装经过验证的扩展,或在下方导入自己的插件。
}
@for (plugin of installed(); track plugin.manifest.id) {
extension
{{plugin.manifest.name}}
v{{plugin.manifest.version}} · {{plugin.source === 'marketplace' ? '插件市场' : '本地 / 自定义'}}{{plugin.enabled ? '已启用' : '未启用'}}
{{plugin.manifest.description || '暂无描述'}}
{{hasSettings(plugin) ? '可在设置中调整插件参数。' : '无需填写参数,启用后即可使用。'}}
}
高级接入 · 本地插件与自定义 MCP
本地插件需要包含 plugin.json;导入后点击启用,按提示完成设置。
添加自定义 MCP / Skill
} @else {
@if (catalogLoading()) { progress_activity正在加载插件市场
正在获取插件与验证记录…
}
@else if (catalogError()) { {{catalogError()}}
}
@else if (!market().length) { 暂无可安装插件
当前市场尚未收录安装包,可稍后刷新。
}
@for (entry of market(); track entry.manifest.id + entry.manifest.version) {
verified
{{entry.manifest.name}}
v{{entry.manifest.version}} · {{entry.manifest.platforms.join(' / ')}}@if (entry.release_stage === 'preview') {
开发预览 }
{{entry.manifest.description}}
验证范围与限制
{{entry.verification}}
}
}
@if (confirmingEnable(); as plugin) {