Technical reference
@openclaw/ai 패키지
@openclaw/ai는 OpenClaw 모델 실행 계층을 배포 가능한 라이브러리 형태로 제공하며, 공급자 중립적인 메시지/도구/스트림 계약, 검증, 진단, 이벤트 스트림, 격리된 런타임 레지스트리와 8가지 내장 API 계열(Anthropic Messages, OpenAI Completions, OpenAI Responses, Azure OpenAI Responses, ChatGPT/Codex Responses, Google Generative AI, Google Vertex, Mistral Conversations)을 위한 지연 로딩 어댑터를 포함합니다.
이 라이브러리는 모든 릴리스에서 루트 openclaw 패키지와 함께 동일한 버전으로 고정되어 배포되며, 자체 npm-shrinkwrap.json을 사용하여 전이적 종속성 트리를 설치 시점에 잠급니다. openclaw를 설치하면 일치하는 @openclaw/ai가 자동으로 설치됩니다. 라이브러리 사용자는 OpenClaw 애플리케이션 코드 없이도 이 라이브러리를 직접 종속성으로 사용할 수 있습니다.
빠른 시작
const runtime = createLlmRuntime();registerBuiltInApiProviders(runtime.registry); const stream = runtime.streamSimple(model, { messages }, { apiKey });for await (const event of stream) { if (event.type === "text_delta") process.stdout.write(event.delta);}const result = await stream.result();실행 가능한 버전은 저장소의 examples/ai-chat에 있습니다.
설계 계약
- 기본적으로 인스턴스 범위로 동작합니다. 패키지를 가져와도 전역으로 아무것도 등록되지 않습니다.
createApiRegistry()/createLlmRuntime()은 격리된 인스턴스를 반환하며,registerBuiltInApiProviders(registry)를 사용하면 특정 레지스트리에서 내장 전송 방식을 활성화할 수 있습니다. 공급자 SDK 모듈은 처음 사용할 때 지연 로딩됩니다. - 호스트 정책은 번들에 포함되지 않고 주입됩니다. 요청 가져오기 보호(예: SSRF 정책), 도구 결과 재생 텍스트의 비밀정보 삭제, OpenAI 엄격 도구 기본값, 진단 로깅은
configureAiTransportHost로 구성하는AiTransportHost포트입니다. 라이브러리 기본값은 아무 동작도 하지 않으며, OpenClaw는 스트림 퍼사드에서 실제 구현을 설치합니다. - 단일 이벤트 스트림 식별성.
@openclaw/ai/event-stream은 OpenClaw 코어, agent-core, 외부 사용자가 공유하는 표준EventStream생성자입니다. internal/*하위 경로는 API가 아닙니다. 이 경로는 OpenClaw 애플리케이션 자체를 위해 존재하며 시맨틱 버전 호환성을 보장하지 않습니다.- 공급자 ID, 자격 증명, 모델 카탈로그, 재시도, 장애 조치는 애플리케이션의 책임으로 유지됩니다. OpenClaw는 이 패키지 주변에 해당 기능을 계층화하며, 라이브러리 사용자는
Model객체와 옵션을 직접 제공합니다.
하위 경로 내보내기
| 하위 경로 | 내용 |
|---|---|
. |
계약, createApiRegistry, createLlmRuntime, configureAiTransportHost |
./providers |
registerBuiltInApiProviders, resetApiProviders |
./types |
모델/메시지/도구/스트림 타입 |
./validation |
도구 인수 검증 |
./diagnostics |
진단 계약 |
./event-stream |
공유 EventStream 구현 |
./internal/* |
OpenClaw 내부용, 시맨틱 버전 호환성 보장 없음 |
Was this useful?