Settings
安全与权限
安全 Tab 的扩展边界、凭据遮蔽与文件写入保护总览
安全与权限
安全 Tab 由 SecuritySettings 组件实现,不提供"开关类"权限设置,而是以仪表盘形式展示当前应用的安全状态,包括扩展运行边界、凭据遮蔽、MCP 环境变量和文件写入保护。

顶部摘要
页面顶部三块 SummaryTile 展示:
- 已启用扩展 — 技能 + MCP + 插件中
status === "enabled"的数量 - 已停用扩展 — 显式关闭的扩展数量
- 校验问题 —
status === "invalid"的技能与插件数量,大于 0 时变为警告色
安全项卡片
safetyItems 数组定义了四张 SafetyCard:
| 项目 | 状态判定 | 说明 |
|---|---|---|
| 扩展运行边界 | 无效资源为 0 则"已受控",否则"需处理" | 禁用项和无效清单不会进入运行时 |
| 敏感配置遮蔽 | 始终"已受控" | API Key 与 TFS PAT 不在安全页回显明文 |
| MCP 环境变量 | 始终"已受控" | 只展示变量名,值由外部环境提供 |
| 文件写入保护 | 始终"已受控" | 项目文件写入需通过后端路径校验与显式保存动作 |
凭据处理区块
底部 凭据处理 卡片列出两类凭据的配置状态:
- API Key — 端点中
apiKey非空的数量 - TFS PAT —
tfsConfig.patToken非空
每项用 ShieldCheck(已配置,绿色)或 ShieldOff(未配置,灰色)图标标识。页面明确说明"明文凭据只应在专用配置表单中输入",安全页不提供复制和显示入口。
刷新机制
右上角 刷新 按钮会并发拉取 Skills、MCP Servers、Plugins 与 Endpoints 数据,更新所有摘要与卡片状态。加载中按钮显示旋转的 RefreshCw 图标。
错误处理
任一加载失败会在顶部渲染红色错误条,显示 error.message。
设计意图
安全 Tab 没有"权限模式"开关(如 default / acceptEdits / bypassPermissions 等),这类权限决策发生在 ACP 会话层,由 PermissionDialog 在工具调用时逐项确认。安全 Tab 聚焦在"配置状态可视化",让管理员一眼看到哪些凭据未配置、哪些扩展无效。