Aller au contenu

Variables Copier

Chaque question que le template pose au moment de copier copy et copier update, groupée comme copier.yml les groupe. Les réponses sont enregistrées dans le .copier-answers.yml de l’acteur — copier update les réutilise, donc un défaut enregistré une fois ne se redérive jamais aux mises à jour suivantes (l’exception est resource_profile: auto, qui se résout à nouveau au rendu). Passez les réponses de façon non interactive avec --data key=value ; acceptez tous les défauts avec --defaults.

Il n’existe pas de variable actor_id — l’UUID marketplace est attribué par la plateforme à l’enregistrement/publication, pas par le template.

Paramètres du modèle (clés privées — jamais demandées)

Section intitulée « Paramètres du modèle (clés privées — jamais demandées) »
Clé Valeur
_min_copier_version 9.4.0
_subdirectory template
_templates_suffix .jinja
_exclude SCHEMA_README.md
_message_after_copy Generated {{ project_name }}. Publishing this actor to GitHub is what puts it in the fleet. From your kaboum checkout: s…

Copier lui-même doit être ≥ 9.4.0 (_min_copier_version) — épinglé à la plus ancienne version réellement testée par la CI ; les revendications plus anciennes (9.0.0) ne se sont jamais installées sur Python 3.12.

Variable Type Défaut Options/Notes Condition d’activation
project_name str (none — required) Lowercase project name (e.g., kalendar, kamail) — must match ^[a-z][a-z0-9_]{1,30}$
actor_display_name str {{ project_name | replace('_', ' ') | title }} Human-readable name (e.g., Kalendar, Kamail)
actor_description str AI Assistant actor for the Kaoohi platform One-line description (e.g., ‘AI Booking Assistant’)
domain_module str (none — required) Domain subdirectory name (e.g., booking, email) — must match ^[a-z][a-z0-9_]{1,20}$ — reserved: mesh, agent, api, core, kaoohi, shared, integrations, middleware, models, storage
domain_display_name str {{ domain_module | replace('_', ' ') | title }} Human-readable domain name (e.g., Booking, Email)
config_class_name str {{ actor_display_name | replace(' ', '') | replace('-', '') | replace('_', '') }}Config Config class name (e.g., KalendarConfig)
agent_class_name str {{ actor_display_name | replace(' ', '') | replace('-', '') | replace('_', '') }}Agent Agent class name (e.g., KalendarAgent)
python_version str 3.12 3.11 / 3.12 / 3.13 — Python version
Variable Type Défaut Options/Notes Condition d’activation
agent_framework str deepagents deepagents / langchain — Agent base: ‘deepagents’ (planning/sub-agents) or ‘langchain’ (plain create_react_agent)
include_planning bool true [deepagents only] Add the planning/todo middleware (write_todos)? Opt-in since deepagents 0.7. Adds tokens; keep ON for multi-step actors. agent_framework == 'deepagents'
include_subagents bool true [deepagents only] Enable scoped sub-agents (the task tool)? Highest token cost (fan-out); enable only if delegation is needed. agent_framework == 'deepagents'
include_reflection bool true [deepagents only] Enable the SummarizationMiddleware context/reflection pass? Default ON for parity with current behavior. agent_framework == 'deepagents'
extra_middleware str "" [deepagents only] Comma-separated ‘module.path:ClassName’ middleware appended to the create_deep_agent stack. Blank = none. agent_framework == 'deepagents'
include_lean_channel bool false [deepagents only] Route one metadata channel to a lean plain-tool agent (langchain create_agent) for latency-critical surfaces? agent_framework == 'deepagents'
lean_channel_name str voice Metadata channel value that selects the lean agent (invoke with metadata {“channel”: this value}). include_lean_channel and agent_framework == 'deepagents'
lean_channel_tools str "" Comma-separated tool names the lean agent may call (subset of the actor’s tools). Blank = every tool. include_lean_channel and agent_framework == 'deepagents'
Variable Type Défaut Options/Notes Condition d’activation
integration_type str none none / n8n / custom — Integration plugin: ‘none’, ‘n8n’, or ‘custom’
include_n8n_mcp bool true [n8n] Connect to n8n-mcp for node docs, templates, and validation? integration_type == 'n8n'
n8n_mcp_url str http://n8n-mcp:3000/mcp [n8n] n8n-mcp HTTP server URL (streamable_http transport) integration_type == 'n8n'
include_workflow_executor bool true [n8n] Enable dynamic workflow-as-tool discovery (calls n8n webhooks)? integration_type == 'n8n'
n8n_workflow_tag str kaoohi-tool [n8n] Tag that marks n8n workflows as callable tools integration_type == 'n8n'
n8n_allow_workflow_authoring bool false [n8n] Let the agent CREATE/UPDATE/DELETE/ACTIVATE workflows? Workflows can run arbitrary code — leave false unless the actor genuinely authors workflows integration_type == 'n8n'
workflow_sync_interval int 5 [n8n] Minutes between workflow tool re-discovery integration_type == 'n8n'
Variable Type Défaut Options/Notes Condition d’activation
fleet_mesh bool false Include the inter-actor mesh client (lazy peer resolution via the kaoohi group resolver)? Enable for actors that belong to a suite.
mesh_depends_on str "" Peer roles this actor requires, comma-separated (e.g. ‘portefeuille’). Must match the bundle seed’s depends_on_mesh_role. Empty for a standalone actor. fleet_mesh
include_redis_reply_queue bool true Include Redis reply queue for WhatsApp/Evolution API delivery?
include_scheduler bool false Include background scheduler for periodic tasks?
include_panel bool false Include the owner-facing UI panel scaffold (served through the Kaoohi panel relay)?
panel_slug str {{ domain_module | replace('_', '-') }} [panel] URL slug and ui_panels id (e.g. ‘pipeline’, ‘inbox’) — must match ^[a-z][a-z0-9-]{1,30}$ include_panel
panel_title str {{ domain_display_name }} Panel [panel] Human-readable tab title shown in the chat workspace pane include_panel
declare_readiness_probe bool true Declare a readiness probe at /ready, separate from the liveness path? Without it the platform points liveness, readiness AND startup at /health, which must always return 200 — so readiness gates nothing and a pod that ca…
include_domain_tools bool true Render a domain-tools path in the orchestrator (_create_tools)?
docker_workers int 1 1 / 2 / 4 — Number of uvicorn workers in Docker CMD
resource_profile str auto auto / nano / small / standard / large — Pod size — ‘auto’ derives from your answers (docker_workers=4 → large, else standard: 250m/1000m + 256Mi/512Mi). Manual tiers for known-lean or known-heavy actors.
Variable Type Défaut Options/Notes Condition d’activation
author_name str Kaoohi Team Author name
author_email str dev@kaoohi.com Author email
Variable Type Défaut Options/Notes Condition d’activation
include_actor_config_mixin bool false Keep actor-specific Settings fields in an actor-owned src/config_actor.py (mixed into the config class; copier update never conflicts there)? Scaffolds the file once.
extra_config_fields_json str "" [advanced] JSON {sections,items} merged into the emitted config.json (used by kaoohi eject; leave empty)
Variable Type Défaut Options/Notes Condition d’activation
kaoohi_category str deep_agent deep_agent / productivity / communication / business / data — Marketplace category
kaoohi_icon str "" Icon — emoji or asset path (e.g., ‘📅’ or ‘icons/myactor.svg’)
kaoohi_image_repo str ghcr.io/allcare/{{ project_name | replace('_', '-') }} GHCR image base: ghcr.io/allcare/.
kaoohi_required_connectors str {% if integration_type == 'n8n' %}n8n{% endif %} Required connectors, comma-separated (e.g., ‘google_calendar’ or ‘gmail,whatsapp’). Leave empty for none.
kaoohi_optional_connectors str whatsapp Optional connectors, comma-separated. Leave empty for none.
kaoohi_capabilities str chat Actor capabilities, comma-separated (e.g., ‘scheduling,reminders’)
kaoohi_expose_external_api bool true Expose this actor’s API publicly via the platform-managed edge (https://<PLATFORM_URL>/api/v1/k//…)? Each kompanion gets a public URL + API key. The pod still runs auth-off — kaoohi is the authorization boundary.…
kaoohi_external_api_operations str chat,status,health [external API only] Which operations to expose, comma-separated. Only idempotent, safe operations — settings/oauth are never eligible. kaoohi_expose_external_api
kaoohi_external_api_protocols str rest,mcp [external API only] Transports to expose, comma-separated: rest, mcp. REST is the HTTP API; mcp also exposes this kompanion as an MCP tool for AI agents. kaoohi_expose_external_api
  • documentation/05-configuration-reference.md — la configuration côté acteur que le template émet.
  • documentation/deepagents-intelligence-toggles.md dans le dépôt kaboum (référencé depuis copier.yml) — coûts et latence mesurés des interrupteurs d’intelligence.