- 移除 GovAI, nomifun-tauri, 算力盒子 的 submodule 引用 - 添加所有子项目的完整源代码 - 保留原始 .git 为 .git.bak 备份
3.7 KiB
Assistants
An assistant is a reusable persona package for an agent: display metadata, default agent backend, optional model preferences, system prompt, and skill selection.
Open the current page at /assistants. The legacy
/settings/assistants route redirects to /assistants?tab=assistants.
Sources
Assistants are merged from three sources:
| Source | Where it comes from | Editable? |
|---|---|---|
| Builtin | Embedded manifest under crates/backend/nomifun-app/assets/builtin-assistants/, loaded by BuiltinAssistantRegistry. |
Content is read-only; enable/sort/last-used state and builtin preset_agent_type override are stored separately. |
| Custom | User-created rows in the assistants table plus files in the data dir. |
Fully editable and deletable. |
| Extension | Installed extensions via resolvers::assistant. |
Read-only from this page; manage the extension lifecycle instead. |
The merged list is returned by GET /api/assistants.
What an Assistant Owns
Key fields:
id,source,name,description,avatarpreset_agent_type: default backend such asnomi,claude,codex,geminimodels: optional preferred model idsprompts/prompts_i18n: assistant instructionsenabled_skills: skills attached when starting a sessionenabled,sort_order,last_used_at- tag metadata used by the picker and filters
Custom assistant rule files live under the data dir:
assistant-rules/assistant-skills/assistant-avatars/
Deleting a custom assistant removes its associated files.
Editing Rules
| Field / action | Builtin | Extension | Custom |
|---|---|---|---|
| Enable / disable | yes | yes | yes |
| Sort / last-used state | yes | yes | yes |
| Change default agent backend | builtin override only | no | yes |
| Edit name / description / avatar | no | no | yes |
| Edit prompt / skill text | no | no | yes |
| Delete | no | no | yes |
Builtin mutations are stored in assistant_overrides. Extension assistants are
owned by their extension and intentionally read-only here.
Skills
The Skills tab is also under /assistants:
/assistants?tab=assistants/assistants?tab=skills
Assistant enabled_skills are merged with auto-injected builtin skills when a
session starts. The materialization rules are implemented by the skill routes
and backend-specific agent adapters; users do not need to copy skill folders
manually for normal use.
For MCP servers, use /mcp; skills and MCP servers are related but managed on
separate pages now.
API
| Operation | Endpoint |
|---|---|
| List / create | GET, POST /api/assistants |
| Update / delete | PUT, DELETE /api/assistants/{id} |
| State override | PATCH /api/assistants/{id}/state |
| Avatar | GET /api/assistants/{id}/avatar |
| Bulk import | POST /api/assistants/import |
| Tags | GET, POST /api/assistant-tags; PUT, DELETE /api/assistant-tags/{key} |
Rule and assistant-skill file reads/writes go through /api/skills/assistant-*
routes so builtin, extension, and user sources can be dispatched correctly.
Notes
- Creating an assistant without
preset_agent_typerequires at least one configured provider; the service defaults tonomiwhen possible. - CLI-backed agents still require their CLI to be installed on the host. Picking
claude,codex, orgeminias an assistant backend does not install those tools. - Import from legacy JSON is insert-only and idempotent: existing ids are skipped, and invalid rows are reported per assistant.

