Technical reference
에이전트 런타임 아키텍처
OpenClaw는 내장 agent runtime을 직접 소유합니다. runtime 코드는 src/agents/ 아래에 있고, model/provider helper는 src/llm/ 아래에 있으며, Plugin 대상 contract는 openclaw/plugin-sdk/* barrel을 통해 노출됩니다.
Runtime 레이아웃
src/agents/embedded-agent-runner/: 내장 agent attempt loop, provider stream adapter, compaction, model selection, session wiring.src/agents/sessions/: session persistence, extension loading, resource discovery, skills, prompts, themes, TUI 기반 tool renderer.packages/agent-core/: 재사용 가능한 agent core, 더 낮은 수준의 harness type, message, compaction helper, prompt template, tool/session contract.src/agents/runtime/:@openclaw/agent-core용 OpenClaw facade와 local proxy utility.src/agents/agent-tools*.ts: OpenClaw가 소유하는 tool definition, schema, policy, before/after hook adapter, host edit support.src/agents/agent-hooks/: compaction safeguard와 context pruning 같은 내장 runtime hook.src/llm/: model/provider registry, transport helper, provider별 stream implementation.
경계
Core 코드는 오래된 external agent package가 아니라 OpenClaw module과 SDK barrel을 통해 내장 runtime을 호출합니다. Plugin은 문서화된 openclaw/plugin-sdk/* entrypoint를 사용하며 src/** 내부 구현을 import하지 않습니다.
@earendil-works/pi-tui는 계속 third-party TUI dependency입니다. local TUI와 session renderer에서 terminal component toolkit으로 사용되며, 이를 internalize하는 것은 별도의 vendoring 작업입니다.
Manifest
Resource package는 package metadata에 OpenClaw resource를 선언합니다.
{ "openclaw": { "extensions": ["extensions/index.ts"], "skills": ["skills/*.md"], "prompts": ["prompts/*.md"], "themes": ["themes/*.json"] }}package manager는 관례적인 extensions/, skills/, prompts/, themes/ directory도 발견합니다.
Runtime 선택
기본 내장 runtime id는 openclaw입니다. Plugin harness는 추가 runtime id를 등록할 수 있습니다. auto는 지원하는 Plugin harness가 있으면 이를 선택하고, 그렇지 않으면 내장 OpenClaw runtime을 사용합니다.