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.