Schema-validated, reactive registry for named configuration entries — the runtime configuration surface used by engine and Compose workers.
日本語の概要は準備中です。原文の説明を表示しています。
Configure a managed iii engine through worker-compose.yaml or a directly supervised engine through config.yaml. Use for engine ports, RBAC via the rbac-proxy worker, streams, sandboxes, and configuration storage.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
iii has two engine configuration modes. Do not mix them.
The presence of engine: means that Compose owns the engine process. Engine worker values are
direct mappings; there is no nested config: field.
namespace: orders
engine:
url: ws://127.0.0.1:49134
registration_namespace_grace_ms: 5000
workers:
configuration:
adapter:
name: fs
config:
directory: ./config
iii-worker-manager:
host: 127.0.0.1
port: 49134
iii-http-functions: {}
iii-stream:
host: 127.0.0.1
port: 3112
iii-sandbox:
auto_install: true
containers: {}
Start it with:
iii compose --namespace orders-daemon --up --file worker-compose.yaml
engine.url defaults to ws://127.0.0.1:49134 and uses Compose's ${VAR:-default} expansion.
engine.workers stays opaque until the engine reads the generated YAML, so its values use
${VAR:default} and retain numeric types. Compose materializes an owner-only config under
<project-dir>/.iii/compose/<daemon-namespace>/ and removes it after clean shutdown. With
III_COMPOSE_STATE_DIR, it uses <state-root>/<project-slug>/<daemon-namespace>/. Changing engine:
requires restarting Compose. Do not combine a managed file with explicit --engine.
Allowed engine worker base names are:
configurationiii-worker-manageriii-http-functionsiii-streamiii-sandboxUse #instance for another instance of an allowed worker. iii-engine-functions,
iii-telemetry, and iii-observability are injected automatically and must not be declared.
HTTP, cron, queue, state, pubsub, bridge, application, and custom workers belong under
containers:. Add registry packages with:
iii trigger -n orders-daemon compose::add worker=state
rbac-proxyKeep the engine port internal and put the rbac-proxy worker in front of it when
untrusted workers, browsers, or agents need to connect:
iii trigger -n orders-daemon compose::add worker=rbac-proxy
rbac-proxy opens its own WebSocket port, speaks the worker protocol verbatim, and at the boundary
authenticates each connection (rbac.auth_function_id), gates every invocation and trigger binding
(rbac.expose_functions, plus allowed_functions / forbidden_functions from the auth result),
namespaces a session's registrations (function_registration_prefix), runs
middleware_function_id and the registration hooks, and filters engine::* discovery results to
what the caller may invoke. Its settings live in the configuration worker under id rbac-proxy:
host: 0.0.0.0
port: 49200 # the public RBAC port
engine_url: ws://127.0.0.1:49134 # the trusted internal engine listener
rbac:
auth_function_id: my-project::auth-function
expose_functions:
- match("api::*")
RBAC is mandatory on untrusted networks: only the proxy's port may face one, never the engine port,
and a public proxy must always set auth_function_id. Full schema: https://workers.iii.dev/workers/rbac-proxy.
Keep list-shaped config.yaml only when systemd, Kubernetes, or another supervisor owns the
engine:
workers:
- name: configuration
config:
adapter:
name: fs
config:
directory: ./config
- name: iii-worker-manager
config:
host: 127.0.0.1
port: 49134
Start the engine and external Compose daemon separately:
iii --config config.yaml
iii compose --namespace orders-daemon --engine ws://127.0.0.1:49134 --up --file worker-compose.yaml
The external Compose file must omit engine:. III_URL may replace --engine. Direct config
expansion uses ${VAR:default} and accepts only the same five engine-owned worker types. Any
project worker stops startup/reload with UNSUPPORTED_CONFIG_WORKERS.
127.0.0.1; expose only the rbac-proxy port.rbac.auth_function_id on every public proxy and keep expose_functions narrow.compose::status for process ownership and engine::workers::list for live connections.compose::add never edits engine: or restarts the engine.engine: maps, direct config.yaml, engine-owned workers, ports,
adapters, RBAC via rbac-proxy, or engine lifecycle selection.config.yaml or iii worker.iii-core-primitives.まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Schema-validated, reactive registry for named configuration entries — the runtime configuration surface used by engine and Compose workers.
日本語の概要は準備中です。原文の説明を表示しています。
How iii works and the iii-sdk surface for authoring workers, triggers, and functions. Teaches the ordered way to gain a capability before writing code — (1) check functions already registered in the engine, (2) search the public registry via iii-directory, (3) build a worker. Single self-contained skill — meant for system-prompt injection; do not re-fetch.
日本語の概要は準備中です。原文の説明を表示しています。
Use when composing iii primitives into backend architectures: durable workflows, reactive backends, agentic pipelines, event-driven CQRS, effect pipelines, and trigger-transform-action automation.
日本語の概要は準備中です。原文の説明を表示しています。
Use when registering iii functions, binding triggers, selecting sync/void/enqueue invocation, creating workers, inspecting the live worker registry, installing registry workers, authoring custom triggers, moving channel data, or adapting external HTTP functions across TypeScript, Python, and Rust.
日本語の概要は準備中です。原文の説明を表示しています。
Handle iii engine and SDK errors across Node, Python, Rust, and browser workers. Use when interpreting error codes, retryability, RBAC denial, timeouts, handler failures, or SDK-specific exception surfaces.
日本語の概要は準備中です。原文の説明を表示しています。
Install the iii engine, set up your first worker, and get a working backend running. Use when a user wants to start a new iii project, install the SDK, or needs help with initial setup and configuration.
日本語の概要は準備中です。原文の説明を表示しています。