Skip to content

channels.toml reference

~/.yachiyo/channels.toml holds channel credentials and tuning, kept separate from config.toml so bot tokens never mix with the rest of your settings.

Keys here are snake_case, unlike config.toml.

KeyTypeDescription
enabledbooleanWhether the Telegram bot runs
bot_tokenstringToken from @BotFather
model_provider, model_namestringOptional model override for Telegram threads
[telegram.group]tableGroup discussion settings — see below

NapCatQQ over OneBot v11.

KeyTypeDescription
enabledbooleanWhether the QQ bot runs
ws_urlstringNapCatQQ forward WebSocket, e.g. ws://localhost:3001
tokenstringOptional auth token for the WS connection
model_provider, model_namestringOptional model override
[qq.group]tableGroup discussion settings
KeyTypeDescription
enabledbooleanWhether the Discord bot runs
bot_tokenstringToken from the Discord Developer Portal
model_provider, model_namestringOptional model override
[discord.group]tableGroup discussion settings for server text channels

QQ Official Bot API. Direct messages only — no group support.

KeyTypeDescription
enabledbooleanWhether the QQ Official Bot runs
app_idstringApp ID from the QQ Developer Portal
client_secretstringClient secret
model_provider, model_namestringOptional model override

Per-platform group discussion settings. Available for telegram, qq, and discord.

KeyTypeDefaultDescription
enabledbooleanWhether group discussion runs on this platform
model_provider, model_namestringtool modelModel for the group probe
visionbooleanfalsePass group images to the probe model
active_check_interval_msnumber60000Probe interval in the active phase
engaged_check_interval_msnumber30000Probe interval in the engaged phase
wake_buffer_msnumber60000Delay before waking on new activity
dormancy_miss_countnumber3Quiet checks before dropping to dormant
disengage_miss_countnumber3Quiet checks before leaving engaged
probe_adapter, probe_adapter_provider, probe_adapter_modelstringHeadless probe adapter override
KeyTypeDescription
guest_instructionstringCustom context injected into the system prompt for guest conversations
memory_filter_keywordsstring[]Memory results containing these keywords are hidden from guests
KeyTypeDefaultDescription
enabledbooleanfalsePre-describe images in group messages as alt text

Top-level keys applying across platforms, with per-platform values winning where both are set.

KeyTypeDefaultDescription
verbositynumber0Speech throttle: 0 is the normal curve, 1 never throttles
check_interval_msnumberGlobal override for the active-phase probe interval
dm_compact_token_threshold_knumber64DM context budget, in thousands of tokens
group_context_window_knumber64Group probe sliding window, in thousands of tokens
group_handoff_threshold_knumber2 × group_context_window_kProbe thread size above which older transcript is summarized into a rolling handoff
rewrite_model_provider, rewrite_model_namestringModel that rewrites outgoing group replies into the persona’s voice. Unset means replies go out as generated.

The handoff threshold’s floor is twice the context window — that gap is hysteresis, so a long-running group does not re-summarize on every turn.