-- ai_skill:技能表(rearch3 §7)。技能 = 业务流程的权威步骤文本,模型用 useSkill 载入后照步骤执行。 -- -- 数据源切换开关 = **本表是否存在**(非行数): -- 表存在 → SkillService 一律只读本表(空表 = 用户要的无技能场景;1 行 = 用户自定义),绝不读 war 包。 -- 表不存在 → 读 war 包内置 skills/*.md。 -- DB 瞬时故障 ≠ 回落 war 包(按无技能降级 + 告警,防止用户自定义被默默换回出厂版)。 -- 因此**建表必须与导入默认技能同一批执行**(建表瞬间即切断包读取)——种子由 -- sql/gen_ai_skill_sql.py 从 src/main/resources/skills/*.md 生成(见 ai_skill_seed.sql)。 -- -- bEnabled:true 载入 / false 不载入,用户可随意设置(与技能内容一样完全自助)。 -- 旧版 ai_skill(sWhenToUse/sInstructions/sSuggested 草稿,引用已删除的工具)已废弃:DROP 重建。 DROP TABLE IF EXISTS ai_skill; CREATE TABLE ai_skill ( sId varchar(64) NOT NULL PRIMARY KEY, sName varchar(64) NOT NULL, -- 技能名(useSkill 的入参,进 system prompt 索引) sBrief varchar(255) NOT NULL, -- 一句话用途(进 system prompt 索引) sBody text NOT NULL, -- 技能全文(useSkill 载入,≤600 token) bEnabled tinyint NOT NULL DEFAULT 1, sUpdatePerson varchar(64) NULL, tCreateDate datetime NULL DEFAULT CURRENT_TIMESTAMP, tUpdateDate datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, UNIQUE KEY uk_name (sName) );