Files
freedak f7a720204a Update: 将子项目从 submodule 转为完整内容
- 移除 GovAI, nomifun-tauri, 算力盒子 的 submodule 引用
- 添加所有子项目的完整源代码
- 保留原始 .git 为 .git.bak 备份
2026-07-04 19:20:46 +08:00

3.4 KiB

助手

助手是一套可复用的 agent persona:展示信息、默认 agent 后端、可选模型偏好、 system prompt 和技能选择。

当前入口是 /assistants。旧 /settings/assistants 会重定向到 /assistants?tab=assistants

助手列表和抽屉

来源

助手由三类来源合并:

来源 来自哪里 是否可编辑
Builtin 嵌入在 crates/backend/nomifun-app/assets/builtin-assistants/ 的 manifest,由 BuiltinAssistantRegistry 加载。 内容只读;启用、排序、最近使用和 builtin preset_agent_type 覆盖单独存储。
Custom 用户创建的 assistants 表记录和数据目录中的文件。 可完整编辑和删除。
Extension 已安装扩展通过 resolvers::assistant 提供。 此页只读;生命周期由扩展管理。

合并后的列表由 GET /api/assistants 返回。

助手包含什么

关键字段:

  • idsourcenamedescriptionavatar
  • preset_agent_type:默认后端,例如 nomiclaudecodexgemini
  • models:可选模型偏好
  • prompts / prompts_i18n:助手指令
  • enabled_skills:启动会话时附加的技能
  • enabledsort_orderlast_used_at
  • picker/filter 使用的标签元数据

自定义助手文件位于数据目录:

  • assistant-rules/
  • assistant-skills/
  • assistant-avatars/

删除自定义助手会清理关联文件。

编辑规则

字段 / 操作 Builtin Extension Custom
启用 / 禁用 yes yes yes
排序 / 最近使用 yes yes yes
修改默认 agent 后端 仅 builtin override no yes
编辑名称 / 描述 / 头像 no no yes
编辑 prompt / skill 文本 no no yes
删除 no no yes

Builtin 的可变状态写入 assistant_overrides。Extension 助手由扩展拥有,因此在 这里只读。

助手编辑抽屉

技能

技能 tab 也在 /assistants 下:

  • /assistants?tab=assistants
  • /assistants?tab=skills

助手的 enabled_skills 会在 session start 时与自动注入的 builtin 技能合并。 后端会按不同 agent 后端的规则 materialize 技能;正常使用时不需要手动复制技能目录。

MCP server 已独立到 /mcp。技能和 MCP 都能扩展 agent 能力,但当前是分开管理。

API

操作 Endpoint
列表 / 创建 GET, POST /api/assistants
更新 / 删除 PUT, DELETE /api/assistants/{id}
状态覆盖 PATCH /api/assistants/{id}/state
头像 GET /api/assistants/{id}/avatar
批量导入 POST /api/assistants/import
标签 GET, POST /api/assistant-tags; PUT, DELETE /api/assistant-tags/{key}

助手规则和助手技能文件通过 /api/skills/assistant-* 路由读写,以便正确分发到 builtin、extension 或 user source。

注意

  • 创建助手但未指定 preset_agent_type 时,需要至少有一个已配置 provider;能推断时默认使用 nomi
  • CLI 型 agent 仍需要宿主机安装对应 CLI。选择 claudecodexgemini 不会自动安装这些工具。
  • 旧 JSON 导入是 insert-only 且幂等的:已有 id 会跳过,错误按行报告。

相关