Skip to main content

Volcengine Plus Feishu Or Lark

Use this playbook when one Ark-family hosted provider should own the runtime and the next real surface should be a Feishu or Lark room. This page keeps the rollout honest:
  • Volcengine stays the hosted provider lane
  • Feishu / Lark stays the shipped runtime-backed service channel
  • gateway run only comes after the basic channels serve feishu loop is healthy

When This Is The Right Playbook

  • the base CLI path already works or is close to working
  • the team already operates in Feishu or Lark
  • you want a shipped inbound runtime, not just outbound notifications
  • you want Volcengine to stay explicit instead of hiding it behind a proxy story

Use A Different Playbook If

Step 1: Bring Up The Hosted Provider

Health loop:
Do not add Feishu or Lark first if the base provider path is still unstable.

Step 2: Choose The Inbound Transport

Pick the transport on purpose: For most first rollouts, websocket is the cleaner first lane.

Step 3: Single-Account Feishu Or Lark Runtime

Websocket example:
Webhook example:
Operational notes:
  • domain = "lark" selects the Lark lane, while domain = "feishu" keeps the Feishu lane
  • webhook mode requires verification_token and encrypt_key
  • websocket mode should not be documented as if webhook-only secrets were mandatory
  • allowed_chat_ids remains the trust boundary in both modes

Step 4: Smoke-Test Before Any Gateway Ownership

Only move forward if:
  • doctor says the provider and channel prerequisites are healthy
  • channels send feishu works with the current account
  • channels serve feishu can stay up cleanly and reply on the expected room boundary

Step 5: Add Named Accounts Before Selectors

Do not jump to --channel-account lark=work while the config is still single-account. Selectors should target configured accounts.<id> entries. Multi-account example:
Now the selector story is explicit:

Step 6: Choose Foreground Or Persisted Ownership

Foreground single-surface loop:
Persisted owner contract:
Use channels serve feishu first during initial rollout. Use gateway run only after the service loop already behaves correctly.

Troubleshooting

Continue Reading