Skip to content

预设 API

预设功能由两个路由前缀提供,均位于 src/services/routes/presetRoutes.js

js
this.router.use('/api/preset', createPresetRoutes(auth))          // 预设 CRUD
this.router.use('/api/presets', createPresetsConfigRoutes(auth))  // 配置、内置预设、分类

响应封装为 ChaiteResponse{ code: 0, data, message: 'ok' })。预设数据 由 presetManagersrc/services/preset/PresetManager.js)管理。

预设 CRUD(/api/preset)

http
GET    /api/preset/list                     # 所有预设(presetManager.getAll())
GET    /api/preset/:id                      # 单个预设(404: Preset not found)
POST   /api/preset/                         # 创建(201)
PUT    /api/preset/:id                      # 更新(404: Preset not found)
DELETE /api/preset/:id                      # 删除(404: Preset not found)

PUT 特例:isDefault === true 时会先写入 presets.defaultIdllm.defaultChatPresetId,并把其余预设的 isDefault 置为 false

设为默认

http
POST /api/preset/:id/default

写入 presets.defaultIdllm.defaultChatPresetId,并把该预设标为 isDefault、 其余取消。响应 { success: true }

获取渲染后的系统提示词

http
GET /api/preset/:id/prompt

响应(data)

json
{ "prompt": "渲染后的完整系统提示词" }

从内置预设创建

http
POST /api/preset/from-builtin/:builtinId

请求体为覆盖字段(id 可指定新 ID;缺省生成 custom_<builtinId>_<时间戳>)。 内置预设不存在返回 404。创建结果带 isBuiltin: falsecreatedFrom 字段,成功返回 201

预设配置与元数据(/api/presets)

http
GET /api/presets/config
PUT /api/presets/config
GET /api/presets/builtin
GET /api/presets/categories
  • GET /config 返回 presets 配置(缺省值 { defaultId: 'default', allowUserSwitch: true, perUserPreset: false, perGroupPreset: false }
  • PUT /config 接受 { defaultId, allowUserSwitch, perUserPreset, perGroupPreset }defaultId 同时写入 llm.defaultChatPresetId
  • GET /builtin 返回全部内置预设(presetManager.getAllBuiltin()
  • GET /categories 返回预设分类(presetManager.getCategories()

注意事项

  • 没有 /api/presets/:id/copy/set-default/export/import 端点; 导入/导出与复制功能在本路由中不存在。
  • 系统提示词获取路径为 GET /api/preset/:id/prompt
  • PUT /api/preset/:id 更新请求体会先经 normalizePresetPayloadtools.toolApprovalModenull 时会被剔除,避免把非法值写入配置。

基于 MIT 许可发布