Skip to content

File actions (platform)

Расширяемые действия над файлами проекта: UI → backend dispatch → AI worker executor.

Реестры

RegistryTargetНазначение
app.fileActionsfrontendКнопки в файловом менеджере
backend.fileActionsbackendМетаданные для dispatch и auto-trigger при upload
ai.fileExecutorsaiИсполнители длительных операций
app.aiTaskKindsfrontendЗадачи ИИ в Settings → AI (провайдер/модель)
ai.taskKindsaiМетаданные extension task kinds (лицензия, modelListHint)

Ключи actionId должны совпадать между тремя file-action реестрами одного расширения.

Для задач ИИ (например транскрибация) расширение также регистрирует app.aiTaskKinds / ai.taskKinds с ключом binding (например transcription). См. ai-task-kinds.md.

Task type

file_action — единый тип задачи для всех file actions.

Payload:

json
{
  "fileId": "...",
  "actionId": "transcribe",
  "extensionId": "@artiroute/video-transcription",
  "options": {}
}

API

  • POST /api/files/:fileId/actions/:actionId — ручной запуск (сессия пользователя)
  • POST /api/internal/projects/:projectId/files — загрузка текстового файла (service token, для AI worker)

Auto-trigger

При File.afterCreate backend вызывает resolveAutoActions(originalName) и создаёт file_action для каждого matching action с triggers: ['onUpload'].

Пример расширения

См. пакет packages/extensions/video-transcription.

AI workspace для командных материалов и знаний