원클릭으로
setup-tinker
Deploy the CLaaS Tinker stack (API + OpenClaw/Telegram) via Docker Compose. No GPU required.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Deploy the CLaaS Tinker stack (API + OpenClaw/Telegram) via Docker Compose. No GPU required.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
Set up the full CLaaS stack (vLLM + API + OpenClaw/Telegram) locally. Uses Docker if available, falls back to native setup otherwise.
Deploy the CLaaS Modal serverless distillation API. Use when deploying the SDPO distillation service to production.
Delete all checkpoints from your Thinking Machine Tinker prod account to reduce storage charges. Requires TINKER_API_KEY.
Address reviewer feedback on GitHub pull requests by making targeted fixes or explaining disagreements. Use when responding to PR comments.
SOC 직업 분류 기준
| name | setup-tinker |
| description | Deploy the CLaaS Tinker stack (API + OpenClaw/Telegram) via Docker Compose. No GPU required. |
Deploy the full CLaaS stack using Docker Compose with Tinker-hosted inference — no local GPU needed.
When this skill is invoked, perform the following steps. The user may pass a Telegram bot token and/or Tinker API key as arguments; if not, ask for them.
Verify Docker is running:
docker info > /dev/null 2>&1
If Docker is not running, tell the user to start Docker Desktop (or the Docker daemon) and re-run.
.env.tinkerFrom the repo root, check if docker/.env.tinker exists. If not, copy the example:
cp docker/.env.tinker.example docker/.env.tinker
Set the required variables in docker/.env.tinker:
| Variable | Required | Default |
|---|---|---|
TELEGRAM_BOT_TOKEN | Yes | — |
TINKER_API_KEY | Yes | — |
MODEL | No | Qwen/Qwen3-30B-A3B |
LORA_NAME | No | openclaw/assistant |
CLAAS_API_PORT | No | 8080 |
OPENCLAW_PORT | No | 18789 |
Prompt the user for TELEGRAM_BOT_TOKEN and TINKER_API_KEY if they were not passed as arguments. Update the file using sed or the Edit tool.
docker compose -f docker/docker-compose.yml --env-file docker/.env.tinker --profile tinker up --build -d
Poll the services until they are ready (timeout after 3 minutes):
# claas-api (serves both inference and training)
until curl -sf http://localhost:8080/ > /dev/null 2>&1; do sleep 5; done
Then wait for the init-tinker container to complete:
docker compose -f docker/docker-compose.yml --env-file docker/.env.tinker --profile tinker logs -f init-tinker 2>&1 | head -50
# Models (served by CLaaS API)
curl -s http://localhost:8080/v1/models
# CLaaS health
curl -s http://localhost:8080/v1/health
# LoRA adapters
curl -s http://localhost:8080/v1/lora
# OpenClaw logs — look for Telegram bot username
docker compose -f docker/docker-compose.yml --env-file docker/.env.tinker --profile tinker logs openclaw-tinker 2>&1 | tail -20
Report the status of all services and the Telegram bot username from the OpenClaw logs.
Tell the user the stack is running and they can send a DM to their Telegram bot. The bot will respond using the openclaw/assistant-latest LoRA adapter via Tinker-hosted inference.
/setup-tinker.TELEGRAM_BOT_TOKEN in docker/.env.tinker. Generate a new token from @BotFather if needed.MODEL value must match a model ID supported by Tinker (e.g. Qwen/Qwen3-30B-A3B). Check available models via Tinker's get_server_capabilities endpoint.http://claas-api:8080 (Docker service DNS), not localhost. Re-run the init container: docker compose -f docker/docker-compose.yml --env-file docker/.env.tinker --profile tinker up init-tinker.docker compose -f docker/docker-compose.yml --env-file docker/.env.tinker --profile tinker logs -f <service>.