Home

Field SOP

Scenario-based tutorials with real screenshots, prompts, workflow templates and pitfalls.

LLaDA-Image Local Deploy SOP: Setup, Inference, Production

A five-step SOP for running Ant's open-source 6B image model LLaDA-Image: (1) environment setup with dependencies and mirror-accelerated downloads; (2) choosing among four weight variants (Base 50-step / Turbo 4-step, each in BF16 or FP8, with ModelScope for China); (3) generating the first image with minimal Base and Turbo commands; (4) advanced work - reference-image editing, text rendering, ComfyUI integration, and degradation strategies when VRAM runs short; (5) productionizing with batch queues, concurrency sizing, cost monitoring, result storage and graceful failure modes. Includes 6 pitfalls and a 10-item launch checklist, with every command copied verbatim from the official README; note the repo license is null, so confirm rights before commercial use.

Self-Hosting OpenMAIC: From Zero-Deploy to Agent Workbench

A complete SOP for getting OpenMAIC running from zero: (1) zero-deploy hosted mode with an access code from open.maic.chat; (2) standard local setup (pnpm >= 10: clone, pnpm install, .env, pnpm dev); (3) production (pnpm build && pnpm start, one-click Vercel, docker compose up --build); (4) advanced (Postgres persistence profile, ACCESS_CODE, MP4 export profile, Lemonade/FunASR local providers); (5) wiring it into agent workbenches (clawhub install openmaic or importing skills/openmaic/, generating classrooms from Feishu/Slack messages). Includes 6 pitfalls and a 10-item pre-launch checklist, with every command copied verbatim from the official README.

Kimi Dual Protocol: One Config for Codex and Claude Code

Moonshot announced on 2026-09-02 that the Kimi API natively supports dual protocols: OpenAI Responses (api.moonshot.cn/v1) plus Anthropic Messages (api.moonshot.cn/anthropic), with kimi-k3 as the flagship model. Hands-on SOP: point Claude Code's ~/.claude/settings.json ANTHROPIC_BASE_URL to /anthropic with model kimi-k3[1m]; set Codex's ~/.codex/config.toml wire_api="responses". This turns Kimi into a unified model-routing gateway — switch the backend without touching client code. Boundaries: Responses is text+image only, kimi-k2.7-code forces thinking, and the old ANTHROPIC_API_KEY must be removed.

Build Long-Running Agent Workflows with GPT-6 Astra

A hands-on SOP for building long-running agent workflows on GPT-6 Astra's real capabilities (1.05M context, 128K output, 0% alignment overreach): start with three prerequisites (OpenAI Python SDK 1.50+, the OPENAI_API_KEY environment variable, and API allowlist), then proceed in order through long-context planning, tool definition (function calling plus computer use), async invocation, mid-flight correction, and acceptance with cost control. Key points: on the first call place only the goal, acceptance criteria, tool list, and key background so the model emits a plan first; tools must specify name, description, and parameters; use streaming events plus a background queue and task-id polling for async; correct course by injecting new instructions without restart; and accept only via independent assertion scripts while keeping max_output_tokens small and setting a daily spend cap.

Wiring Kimi Open Platform into Codex and Claude Code

Kimi Open Platform (Moonshot AI) now lets OpenAI/Anthropic-compatible tools point natively at Kimi, with no self-built proxy. Two paths: ① OpenAI Responses API for Codex — base_url=https://api.moonshot.cn/v1, with KIMI_API_KEY and wire_api="responses" in ~/.codex/config.toml; ② Anthropic Messages API for Claude Code — base_url=https://api.moonshot.cn/anthropic, with ANTHROPIC_BASE_URL / ANTHROPIC_AUTH_TOKEN=Kimi Key / ANTHROPIC_MODEL=kimi-k3[1m] (the [1m] selects 1M context) in the env block of ~/.claude/settings.json. Models: kimi-k3(1M) / kimi-k2.7-code(256K forced thinking) / kimi-k2.7-code-highspeed / kimi-k2.6. The Responses API does not yet support video. This SOP gives directly usable config snippets, a minimal verification step, and six gotchas (including never dropping [1m], kimi-k2.7-code's forced thinking, and tiered quotas). Rate limits are tiered; exact numbers are per the console.

Claude Fable 5.1 API Migration SOP

Fable 5.1's 2026-09-01 launch lists three breaking API changes, each able to 400 or silently degrade at cutover. ① tool_choice any/tool now returns 400 — switch to auto with strict tool use or structured outputs. ② Thinking blocks are bound to the model: Fable 5.1 can read older models' thinking but not vice versa, so fallback loses the reasoning chain. ③ Editing history turns invalidates thinking blocks and errors on accounts created on or after 2026-08-31. This piece gives a three-step pre-upgrade audit, per-change code fixes, post-migration regression checks (parallel-call distribution, thinking continuity, 20+ round stress test, watermark/C2PA downstream compatibility), canary rollback, and eight pitfalls (whole-file rewrite tendency, low-effort memory answers, history edits breaking the cache). The turn-scoped system messages and context-editing betas are the fixes; exact header names are per official docs.

Back up the state directory before you upgrade: OpenClaw 2.0 migration, rollback and credential-hardening SOP

For engineers already running OpenClaw: how to get up to 2.0 safely, how to roll back if it fails, and how to tighten credentials afterward. First principle — before upgrading, back up the Gateway's entire configuration and state (not a single client) and verify it is recoverable. Four upgrade steps: check → openclaw doctor --fix → restart the Gateway → verify health (model-access verification must pass for the upgrade to count). Two breaking changes: the OpenProse plugin and /prose command removed (.prose source files are preserved), and codex/* plus openai-codex/* routes move to openai/* (conflicts fixed manually). The 2026-09-01 plugin SDK deprecation (plugin-sdk-config-runtime-subpath → api.pluginConfig) is due today. Rollback is bounded: sessions created after the move to SQLite are invisible to the old version, and a full rollback also takes approvals and dedup records back. After upgrade, actively enable five things: masked credential requests, the proxy allowlist, precise authorization, role narrowing, and correcting the Incognito misconception.

Migration SOP for Model Sunsets and Repricing: Four Steps to Inventory, Migrate, Recalculate, and Contain Cost

Three things happened at once on 2026-08-31: Sonnet 5 API rates moved from $2 and $10 to $3 and $15, GPT-5.4 and GPT-5.4 mini stopped being offered to Codex users signed in with ChatGPT, and kimi-k2.5 and moonshot-v1 sunset the same day. The three change types need completely different responses, yet most teams apply one uniform reaction and end up either overreacting or underreacting. This SOP runs four steps. Step zero classifies using keywords in the vendor announcement: sunset or deprecated means the ID stops responding, handle it today; replace or a default change means the entry point still works but the model behind it changed, so run a regression this week; pricing only means no interruption but a recalculation this month. Step one inventories every model ID in the codebase with a single grep, collapses them into one central config, and wires the check into CI. Step two executes the per-type migration. Step three recalculates monthly cost from three factors: tokenizer inflation, peak versus off-peak share, and cache hit rate. Also included: an eleven-item checklist, step four on limits, alerts and a fallback path, and seven ways this goes wrong, the most common being model IDs scattered through code where one fix misses three call sites.

Qwen3.8-Flash-Next Full-Stack Deployment SOP: 125B Main Model plus 51B N-gram Embeddings, Three Tiers from Hosted API to Apple Silicon

A three-tier route for taking Qwen3.8-Flash-Next from "it runs" to "it runs cheaply". The managed tier needs no ops: the QwenCloud API speaks both OpenAI and Anthropic specs, and QwenWork's Standard mode is powered by this model. For self-hosted serving, four commands quoted verbatim from the official README: transformers serve (--continuous-batching), SGLang (--tp-size 4 --context-length 262144 --reasoning-parser qwen3 --tool-call-parser qwen3_coder), vLLM (--tensor-parallel-size 4 --max-model-len 262144 --enable-auto-tool-choice) and TokenSpeed, all exposing an OpenAI-compatible API at localhost:8000/v1. Local and edge paths include GGUF builds via llama.cpp, mlx-vlm on Apple Silicon, and Unsloth. The engineering detail most worth remembering: the extra 51B of N-gram embeddings can be offloaded to host memory and overlapped with model compute through async prefetch. Because the README gives no official VRAM baseline, this SOP refuses to guess a hardware floor and marks it as "defer to the official recipe and your own measurements". Also covers the trade-offs of YaRN extrapolation to 1M, fine-tuning framework choices (Unsloth, Swift, Llama-Factory) and seven pitfalls - the first being that the GitHub repo ships no LICENSE file, so check the model page before commercial use.

Tencent 770B Flagship Self-Hosting SOP: Eight H100s Can't Even Fit the FP8 Weights - Official Baseline Is 16x B200

A complete SOP for self-hosting Tencent's 770B flagship Hy4 preview. Cold water first, via the VRAM math: FP8 weights run about 770GB, and the official vLLM recipe states the baseline is 16xB200 or 8xB300 (weights + KV cache) - 8xH100 (640GB) cannot even fit FP8 weights, since 49B active params save compute but all 770B weights must sit in VRAM. Both deployment routes quote the official README verbatim: the vLLM prebuilt image (MTP speculative decoding num_speculative_tokens=3, FLASHMLA_SPARSE attention backend, hy_v4 tool/reasoning parsers) and the SGLang prebuilt image (NEXTN speculation, tp-size 8). Includes OpenAI-compatible invocation (temperature 0.9 / top_p 1.0; no_think to skip deep reasoning and save output tokens), AngelSlim self-quantization, the finetune pipeline, 7 pitfalls and a 10-item launch checklist; if you skip self-hosting, use Tencent Cloud TokenHub/OpenRouter or the two-week free tier on WorkBuddy/CodeBuddy.