Manifest and Environment

llmAssistant uses manifest-driven startup with provider key loading from process environment and workspace secrets fallback. Container dependency installation is owned by ploinky, so the agent manifest stays focused on runtime entrypoints and required environment.

Manifest

Main runtime file: llmAssistant/manifest.json.

{
  "agent": "sh /code/scripts/startAgent.sh",
  "container": "node:24.15.0-alpine",
  "lite-sandbox": true,
  "profiles": {
    "default": {
      "env": ["provider keys", "workspace roots"]
    }
  }
}

Environment Variables

Variable Group Usage
SOUL_GATEWAY_API_KEY, SOUL_GATEWAY_BASE_URL Soul Gateway credentials and optional endpoint override for default LLM runtime behavior.
ASSISTOS_FS_ROOT, WORKSPACE_ROOT, PLOINKY_WORKSPACE_ROOT Workspace root context used by startup and runtime path assumptions.
LLMAgentClient_DEBUG, LLMAgentClient_VERBOSE_DELAY Optional debug and verbose timing controls for LLM client traces.

Bootstrap Behavior

The startup script resolves workspace root, reads keys from env first, then falls back to .ploinky/.secrets. This keeps deployment configuration externalized and avoids static credentials in repository code. System packages and Node dependency installation are handled by ploinky before the agent command starts, so the agent bootstrap only performs llmAssistant-specific runtime initialization.

Test Validation

Code changes should be validated through the llmAssistant test suite under llmAssistant/tests, together with documentation and specification updates.