修复: 高风险工具名单改注册表投影

新增 ai_list_tools 只读投影 name+risk,前端启动拉取构建
手写名单缺 10 个 High 工具致审批二次确认漏弹,现名单改兜底保留
顺带删除零调用方 get_script_safety 死命令及注册
This commit is contained in:
lxy
2026-10-01 08:28:07 +08:00
parent 4b445e96b8
commit 7b5a2c83b0
8 changed files with 88 additions and 16 deletions
+11
View File
@@ -13,6 +13,7 @@ import { aiApi } from '@/api'
import { useAppSettingsStore } from '@/stores/appSettings'
import { state } from '@/stores/ai'
import { setStreaming } from './streamingGuard'
import { syncHighRiskTools } from './useToolApproval'
import { nextMsgId } from './aiShared'
import { t } from '@/i18n/i18n-helpers'
import type { AiMessage, AiProviderConfig } from '@/api/types'
@@ -158,6 +159,15 @@ async function loadSkills() {
}
}
/** 拉取工具风险元数据,构建 High 风险名单(审批二次确认门控的权威源;静默失败走 useToolApproval 兜底名单) */
async function loadToolRisks() {
try {
syncHighRiskTools(await aiApi.listTools())
} catch {
// 静默失败:e2e 垫片/老后端无此 IPC 时兜底名单仍在,不影响主流程
}
}
/** 切换活跃 provider(后端 + 本地 state + 持久化) */
async function setProvider(providerId: string) {
await aiApi.setProvider(providerId)
@@ -199,6 +209,7 @@ export function useAiPanel() {
cyclePanelMode,
loadProviders,
loadSkills,
loadToolRisks,
setProvider,
clearChat,
// 侧栏宽度拖拽