Skip to content

自动生成配置字段参考 ​

本页由源码与 JSON Schema 自动生成,请勿手工编辑。叙事、示例与配置方法见配置参考。

  • 生成命令: pnpm docs:config
  • 漂移检查: pnpm check:config-reference

Host 顶层字段 ​

权威契约来自 Runtime 实际消费的 packages/im/runtime/src/host-config-schema.json;消费位置见 basic/cli/src/plugin-runtime/console/configuration-projection.ts。

路径类型必填默认值说明
httpobject否—HTTP、Console、REST/RPC/SSE 与 Webhook Host。
http.readinessobject否—/pub/ready 要求就绪的运行时组件;不执行外部网络探测。
http.readiness.databaseboolean否true要求 Database Host 已初始化(不执行实时数据库查询)。
http.readiness.endpointsarray<object>否—必须开放入站的 Endpoint,按插件 owner 与稳定槽名精确选择。
http.readiness.endpoints[].ownerstring是——
http.readiness.endpoints[].namestring是——
http.readiness.agentsarray<string>否—必须存在的 Agent binding;不验证模型凭据或 Provider 网络可用性。
http.hoststring | null否—监听地址。
http.portnumber | string | null否—监听端口。
http.tokenstring | null否—HTTP Host 访问令牌。
http.tokensarray | null否——
http.corsOriginsarray | null否——
http.basestring | null否—API 路径前缀。
http.tlsfalse | null | object否——
http.listenersarray<object>否——
http.listeners[].enabledboolean | string否—是否启用此监听器。
http.listeners[].hoststring否—监听地址。
http.listeners[].portnumber | string否—监听端口。
http.listeners[].tlsfalse | null | object否——
databaseobject否—Database Host 与方言连接参数。
database.dialectstring否—数据库方言。
database.filenamestring否—SQLite 文件路径。
database.modestring否—SQLite 兼容模式字段。
database.hoststring否—数据库主机。
database.portnumber | string否—网络数据库端口。
database.userstring否—MySQL / PostgreSQL 用户名。
database.usernamestring否—Redis 用户名。
database.passwordstring否—连接密码。
database.databasestring | number否—MySQL / PostgreSQL 数据库名,或 Redis 数据库索引。
database.uristring否—MySQL 连接 URI(可能含凭据)。
database.connectionStringstring否—PostgreSQL 连接串(可能含凭据)。
database.urlstring否—MongoDB / Redis 连接 URL(可能含凭据)。
database.dbNamestring否—MongoDB 数据库名。
database.poolobject | null否——
database.pool.minnumber | string | null否—最少连接数。
database.pool.maxnumber | string | null否—最多连接数。
database.pool.acquireTimeoutMillisnumber | string | null否—获取连接超时毫秒。
database.pool.idleTimeoutMillisnumber | string | null否—空闲连接超时毫秒。
database.socketobject否——
database.socket.hoststring否—Redis 主机。
database.socket.portnumber | string否—Redis 端口。
database.socket.pathstring否—Unix socket 路径。
database.socket.connectTimeoutnumber | string否—连接超时毫秒。
database.socket.tlsboolean | string否—启用 TLS。
database.socket.keepAlivenumber | string否—TCP keep-alive 毫秒。
database.socket.noDelayboolean | string否—TCP noDelay。
database.sslboolean | string | object否——
database.charsetstring否—MySQL 字符集。
database.timezonestring否—MySQL 时区。
database.connectTimeoutnumber | string否—MySQL 连接超时毫秒。
database.connectionTimeoutMillisnumber | string否—PostgreSQL 连接超时毫秒。
database.query_timeoutnumber | string否—PostgreSQL 查询超时毫秒。
database.statement_timeoutnumber | string否—PostgreSQL statement 超时毫秒。
database.application_namestring否—PostgreSQL 应用名称。
database.maxPoolSizenumber | string否—MongoDB 最大连接池大小。
database.minPoolSizenumber | string否—MongoDB 最小连接池大小。
database.serverSelectionTimeoutMSnumber | string否—MongoDB server 选择超时毫秒。
database.connectTimeoutMSnumber | string否—MongoDB 连接超时毫秒。
database.socketTimeoutMSnumber | string否—MongoDB socket 超时毫秒。
database.authSourcestring否—MongoDB 认证数据库。
database.replicaSetstring否—MongoDB 副本集。
database.authobject否——
database.auth.usernamestring否—MongoDB 用户名。
database.auth.passwordstring否—MongoDB 密码。
database.disableOfflineQueueboolean | string否—Redis 禁止离线队列。
database.pingIntervalnumber | string否—Redis 心跳间隔毫秒。
aiobject否—Provider、Agent、会话、记忆、工具与执行安全策略。
ai.decisionsobject否—可选的结构化决策服务。未配置的任务关闭;建议先用 shadow 验证。
ai.decisions.providerstring是—提供已启用 DecisionProvider 的精确插件身份,例如 root/typesafe。
ai.decisions.skillsobject否——
ai.decisions.skills.modestring: "off", "shadow", "active"是——
ai.decisions.skills.timeoutMsinteger否——
ai.decisions.skills.minConfidencenumber否——
ai.decisions.skills.topKinteger否——
ai.decisions.skills.maxCandidatesinteger否——
ai.decisions.skills.maxSelectionsinteger否——
ai.decisions.toolsobject否——
ai.decisions.tools.modestring: "off", "shadow", "active"是——
ai.decisions.tools.timeoutMsinteger否——
ai.decisions.tools.minConfidencenumber否——
ai.decisions.tools.topKinteger否——
ai.decisions.tools.maxCandidatesinteger否——
ai.decisions.tools.maxSelectionsinteger否——
ai.decisions.memoryobject否——
ai.decisions.memory.modestring: "off", "shadow", "active"是——
ai.decisions.memory.timeoutMsinteger否——
ai.decisions.memory.minConfidencenumber否——
ai.decisions.memory.topKinteger否——
ai.decisions.memory.maxCandidatesinteger否——
ai.decisions.memory.maxSelectionsinteger否——
ai.decisions.agentsobject否——
ai.decisions.agents.modestring: "off", "shadow", "active"是——
ai.decisions.agents.timeoutMsinteger否——
ai.decisions.agents.minConfidencenumber否——
ai.decisions.agents.topKinteger否——
ai.decisions.agents.maxCandidatesinteger否——
ai.decisions.agents.maxSelectionsinteger否——
ai.decisions.approvalobject否——
ai.decisions.approval.modestring: "off", "shadow", "active"是——
ai.decisions.approval.timeoutMsinteger否——
ai.decisions.approval.minConfidencenumber否——
ai.decisions.approval.topKinteger否——
ai.decisions.approval.maxCandidatesinteger否——
ai.decisions.approval.maxSelectionsinteger否——
ai.workroomobject否—进程持有的 Workroom 控制面策略;Project 仍由持久化 Catalog 管理。
ai.workroom.trustedPackPublishersarray<string>否—允许发布共享 Capability Pack 的 Console 认证 principalId。
ai.workroom.disclosureobject否—Workroom 披露初始化使用的显式 P12 模型处理方契约。
ai.workroom.disclosure.tenantIdstring否——
ai.workroom.disclosure.modelProvidersobject否——
ai.workroom.disclosure.modelProviders.<key>.endpointstring是——
ai.workroom.disclosure.modelProviders.<key>.ownerstring否——
ai.workroom.disclosure.modelProviders.<key>.trustDomainstring否——
ai.workroom.disclosure.modelProviders.<key>.processingRegionsarray<string>是——
ai.workroom.disclosure.modelProviders.<key>.maxConfidentialitystring: "public", "project_internal", "confidential", "restricted"是——
ai.workroom.disclosure.modelProviders.<key>.externalboolean是——
ai.workroom.disclosure.modelProviders.<key>.noTrainingboolean是——
ai.workroom.disclosure.modelProviders.<key>.loggingModestring: "disabled", "metadata_only", "full"是——
ai.workroom.disclosure.modelProviders.<key>.maximumRetentionSecondsinteger是——
ai.workroom.disclosure.modelProviders.<key>.allowsRedisclosureboolean是——
ai.workroom.disclosure.modelProviders.<key>.supportsDeletionboolean是——
ai.agentobject否—Agent 执行、排队、工具与模型策略。
ai.agent.inboundQueueobject否—入站回合排队策略。
ai.agent.inboundQueue.groupModestring: "supersede", "fifo"否—supersede(默认):同一发起人的新消息会替换他自己尚未回复的回合;fifo:全部按到达顺序排队。其他成员的消息总是排队。
ai.agent.inboundQueue.ttlMsinteger否180000排队超过该时长的回合会被丢弃并简短提示;0 表示不过期。
ai.agent.inboundQueue.maxQueuedTurnsinteger否5同一会话中允许排在当前回合之后的回合数;超出时回复一句“正在忙”。
ai.agent.inboundQueue.coalesceWindowMsnumber | string否——
ai.agent.execSecuritystring: "deny", "allowlist", "full"否—Shell 命令安全边界。
ai.agent.execPresetstring: "readonly", "network", "development", "custom"否—非 full 模式使用的命令白名单预设。
ai.agent.networkobject否—IM 回合的出网权限(web_fetch / web_search 与联网命令)。默认关闭;enabled 开启 HTTPS 出网,allowedDomains 非空时只允许这些域名。未设置 enabled 时兼容旧配置:execPreset: network 视为开启。
ai.agent.network.enabledboolean否false是否允许 IM 回合 HTTPS 出网。
ai.agent.network.allowedDomainsarray<string>否—非空时只允许访问这些域名(含子域名)。
ai.agent.masterShellstring: "off", "isolated"否"off"IM 私聊中 master 的 Shell 权限。off:IM 会话不提供 bash;isolated:master 私聊在 Docker 容器内执行 bash(工作区可写、无网络、development 白名单、其余命令需审批),宿主无 Docker 时直接失败。
ai.agent.toolBudgetobject否—进度感知的工具调用预算。maxIterations 为软上限,回合有进展时自动延长;硬上限始终生效。
ai.agent.toolBudget.extendByinteger否10有进展时每次延长的步数;0 关闭。
ai.agent.toolBudget.progressWindowinteger否5最近多少步内有进展才延长。
ai.agent.toolBudget.maxTotalIterationsinteger否40每段回合的硬步数上限。
ai.agent.toolBudget.maxSubagentTotalIterationsinteger否30回合内子 Agent 的硬步数上限。
ai.agent.toolBudget.maxWallClockMsinteger否600000整个回合的时间上限(毫秒);0 关闭。
ai.agent.toolBudget.maxTotalTokensinteger否0整个回合的 Token 上限;0 关闭。
ai.agent.toolBudget.failureStreakLimitinteger否3连续失败多少次后不再延长。
ai.agent.toolBudget.repeatLimitinteger否2连续重复相同调用多少次后不再延长。
ai.agent.toolBudget.autoContinuestring: "off", "master_dm", "on"否"master_dm"回合有进展但预算用尽时自动续跑:off 关闭;master_dm 仅主人私聊;on 总是。续跑沿用同一回合的策略与审批。
ai.agent.toolBudget.maxContinuationsinteger否2每回合最多自动续跑次数。
ai.agent.toolBudget.progressUpdatesstring: "off", "private", "all"否"private"长回合中的简短进度更新:off 关闭;private 仅私聊;all 包括群聊(群聊需显式开启)。
ai.agent.toolBudget.progressMinIntervalMsinteger否45000两次进度更新的最小间隔(毫秒)。
ai.agent.toolBudget.progressMaxUpdatesinteger否3每回合最多进度更新次数;0 关闭。
ai.agent.injectionGuardobject否—注入防护。外部内容(工具结果、网页、文件、子 agent 报告、群聊背景消息)进入回合后,高危动作(执行命令、向其他会话发消息、改配置、定时任务)必须审批;出站回复检查系统提示、密钥与其他会话记忆泄露。
ai.agent.injectionGuard.confirmHighRiskstring: "external_content", "off"否"external_content"external_content:读取外部内容后的高危动作一律审批(无人值守回合直接拒绝);off:关闭。
ai.agent.injectionGuard.outboundCheckstring: "redact", "off"否"redact"redact:在回复和外发工具消息中屏蔽泄露的系统提示、密钥和其他会话记忆;off:关闭。
ai.agent.injectionGuard.trustedOutputToolsarray<string>否[]结果不算外部内容的工具。
ai.agent.usageQuotaobject否—按用户 / 按群的 token 配额与群速率限制。默认全部关闭(0),主人默认不受限;计数保存在内存中。
ai.agent.usageQuota.windowMsinteger否86400000配额周期(毫秒)。
ai.agent.usageQuota.perUserTokensinteger否0每个用户每周期可用的 token;0 不限。
ai.agent.usageQuota.perGroupTokensinteger否0每个群每周期可用的 token;0 不限。
ai.agent.usageQuota.perGroupRequestsPerMinuteinteger否0每个群每分钟可发起的回合数;0 不限。
ai.agent.usageQuota.exemptOwnerboolean否true主人不受限制。
ai.agent.subagentTurnModestring: "off", "sync"否"off"IM 回合中的子 Agent。off:不提供 spawn_task;sync:spawn_task 在当前回合内同步运行子 Agent,权限不超过父回合(父回合不能运行 bash 时子 Agent 也没有),审批发往同一会话。
ai.agent.execApprovalModestring: "ask", "bypass", "auto"否—主 Agent 命令的审批策略。
ai.agent.subagentExecApprovalModestring: "ask", "bypass", "auto"否—子 Agent 命令的审批策略。
ai.agent.workerExecApprovalModestring: "ask", "bypass", "auto"否—Worker 命令的审批策略。
ai.agent.toolExecutionstring: "parallel", "sequential", "tiered"否—同一模型步骤中的工具调用调度方式。
ai.agent.modelSizeHintstring: "", "small", "medium", "large"否—可选模型尺寸提示;空字符串表示清除提示。
ai.agent.promptCacheRetentionstring: "in_memory", "24h"否—Provider Prompt Cache 保留策略。
ai.agent.steeringModestring: "one-at-a-time", "all"否—逐条处理 Steering 消息,或一次取出全部待处理消息。
ai.agent.followUpModestring: "one-at-a-time", "all"否—逐条处理 Follow-up 消息,或一次取出全部待处理消息。
ai.agent.outputSchemaboolean | string: "segments" | object否—最终输出默认在 IM 会话使用 segments:false 显式使用文本,true 或 segments 使用有序规范消息段,也可传入自定义 JSON Schema。隔离及非 IM 调用不应用 IM 预设。
ai.agent.scheduleobject否—无人值守 Schedule 执行策略。
ai.agent.schedule.securityobject否—Schedule 命令安全策略。
ai.agent.schedule.security.execPresetstring: "readonly", "network"否—Schedule Job 只能使用只读或网络预设。
ai.agent.schedule.security.allowedDomainsarray<string>否——
ai.agent.schedule.budgetobject否——
ai.agent.schedule.budget.maxTokensnumber | string否——
ai.agent.schedule.budget.maxToolCallsnumber | string否——
ai.agent.schedule.budget.timeoutMsnumber | string否——
ai.agent.execAllowlistarray<string>否—allowlist 模式下允许的命令(支持正则字符串,如 "^ls "、"^cat "),与 preset 合并
ai.agent.phaseTraceboolean | string否—观测主回合阶段日志(或通过 ZHIN_AGENT_PHASE_TRACE=1 开启)
ai.agent.modelHarnessobject否—按模型 / provider 模式覆盖 model harness
ai.agent.modelHarness.modelsobject否—模型级覆盖:支持 "gpt-4o" 或 "openai:gpt-4o"
ai.agent.modelHarness.models.<key>.maxIterationsnumber | string否——
ai.agent.modelHarness.models.<key>.explorationBudgetnumber | string否—连续只读探索调用达到该次数时注入提示;0 关闭
ai.agent.modelHarness.models.<key>.explorationGuidanceboolean | string否—在系统提示中加入"先规划、限定目标文件"的探索纪律
ai.agent.modelHarness.models.<key>.iterationExtensionnumber | string否—每次有进展时延长的步数(覆盖 toolBudget.extendBy)
ai.agent.modelHarness.models.<key>.maxTotalIterationsnumber | string否—单段回合的硬步数上限(覆盖 toolBudget.maxTotalIterations)
ai.agent.modelHarness.models.<key>.emptyReplyRetriesnumber | string否—空回复(无文本且无工具调用)时额外重试次数;默认 0
ai.agent.modelHarness.models.<key>.requestTimeoutMsnumber | string否—单次模型请求超时(毫秒);0 关闭
ai.agent.modelHarness.providerPatternsobject否—provider 模式覆盖(支持 * 通配符)
ai.agent.modelHarness.providerPatterns.<key>.maxIterationsnumber | string否——
ai.agent.modelHarness.providerPatterns.<key>.explorationBudgetnumber | string否—连续只读探索调用达到该次数时注入提示;0 关闭
ai.agent.modelHarness.providerPatterns.<key>.explorationGuidanceboolean | string否—在系统提示中加入"先规划、限定目标文件"的探索纪律
ai.agent.modelHarness.providerPatterns.<key>.iterationExtensionnumber | string否—每次有进展时延长的步数(覆盖 toolBudget.extendBy)
ai.agent.modelHarness.providerPatterns.<key>.maxTotalIterationsnumber | string否—单段回合的硬步数上限(覆盖 toolBudget.maxTotalIterations)
ai.agent.modelHarness.providerPatterns.<key>.emptyReplyRetriesnumber | string否—空回复(无文本且无工具调用)时额外重试次数;默认 0
ai.agent.modelHarness.providerPatterns.<key>.requestTimeoutMsnumber | string否—单次模型请求超时(毫秒);0 关闭
ai.agent.providerResilienceobject否—Provider 韧性:重试 / 退避 / 超时 / fallback(见 ProviderResilienceConfig,默认保守)
ai.agent.providerResilience.maxRetriesnumber | string否—Retries per model after the first attempt. Default 2. 0 disables retry.
ai.agent.providerResilience.baseDelayMsnumber | string否—First backoff delay in ms; doubles each retry. Default 1000.
ai.agent.providerResilience.maxDelayMsnumber | string否—Upper bound for one backoff delay in ms. Default 10000.
ai.agent.providerResilience.maxRetryAfterMsnumber | string否—A Retry-After longer than this skips retry and goes to fallback. Default 30000.
ai.agent.providerResilience.requestTimeoutMsnumber | string否—Per-attempt timeout in ms (whole streamed completion). Default 180000. 0 disables.
ai.agent.providerResilience.emptyReplyRetriesnumber | string否—Extra attempts when the model returns neither text nor tool calls (or a tool call without a name). Default 0: the reply is passed through unchanged. Quirk presets (see model harness) raise this for models known to emit spurious empty replies.
ai.agent.providerResilience.fallbackboolean | string否—Try the next entry of modelCandidates after retries are exhausted. Default true.
ai.agent.deferredToolsobject否—工具 schema 按需加载
ai.agent.deferredTools.maxLoadedPerSessionnumber | string否——
ai.agent.deferredTools.discoverTopKnumber | string否——
ai.agent.deferredTools.alwaysLoadedToolsarray<string>否—额外常驻工具;默认在内置常驻集合基础上追加
ai.agent.deferredTools.alwaysLoadedModestring否—extend(默认)追加到内置常驻集合;replace 完全替换
ai.agent.deferredTools.mcpServersobject否——
ai.agent.deferredTools.mcpServers.<key>.alwaysLoadedarray<string>否——
ai.agent.workerBaseToolsarray<string>否—Deferred Worker 基础工具
ai.agent.personastring否——
ai.agent.maxIterationsnumber | string否——
ai.agent.timeoutnumber | string否——
ai.agent.preExecTimeoutnumber | string否——
ai.agent.maxToolsnumber | string否——
ai.agent.contextTailMessageLimitnumber | string否——
ai.agent.rateLimitobject否——
ai.agent.rateLimit.maxRequestsPerMinutenumber | string否—每分钟最大请求数(默认 20)
ai.agent.rateLimit.cooldownSecondsnumber | string否—冷却时间(秒),超限后需等待(默认 10)
ai.agent.toneAwarenessboolean | string否——
ai.agent.contextTokensnumber | string否——
ai.agent.maxHistorySharenumber | string否——
ai.agent.compactionobject否——
ai.agent.compaction.enabledboolean | string否——
ai.agent.compaction.autoboolean | string否——
ai.agent.compaction.keepRecentTokensnumber | string否——
ai.agent.compaction.minKeepCountnumber | string否——
ai.agent.compaction.thresholdRationumber | string否—Share of the model context window (system prompt and tools included) at which auto-compaction runs. Default 0.7 (#730).
ai.agent.disabledToolsarray<string>否——
ai.agent.allowedToolsarray<string>否——
ai.agent.maxParallelSubagentsnumber | string否——
ai.agent.subagentAutoContinueboolean | string否——
ai.agent.subagentDirectImDeliveryboolean | string否——
ai.agent.maxSubagentIterationsnumber | string否——
ai.agent.subagentToolsarray<string>否——
ai.agent.subagentTurnWaitMsnumber | string否——
ai.agent.skillInstructionMaxCharsnumber | string否——
ai.agent.promptTraceboolean | string否——
ai.agent.promptTraceVerboseboolean | string否——
ai.agent.promptCacheboolean | string否——
ai.agent.promptCacheKeyPrefixstring否——
ai.agent.deferredAutoContinueboolean | string否——
ai.agent.deferredAutoContinueMaxDepthnumber | string否——
ai.agent.gitStatusboolean | string否—§1 Runtime 注入单行 git 状态摘要(非 git 仓库自动跳过)
ai.agent.contextPathsarray<string>否—追加的上下文文件路径(支持 ~ 与相对路径;默认另加载 ~/.config/zhin/AGENTS.md 等全局路径)
ai.agent.systemPromptMaxCharsnumber | string否—系统提示词总字符上限;按 retention/order 让出预算,required 内容放不下则失败。
ai.agent.thinkingPreviewboolean | string否—Activity feedback 展示 LLM 实际 thinking 内容(截断),而非静态 "思考中..."。
ai.agent.thinkingPreviewMaxLengthnumber | string否—thinkingPreview 展示的最大字符数。
ai.enabledboolean | string否——
ai.providersobject | null否—命名 provider 实例
ai.providers.<key>.sdkstring否——
ai.providers.<key>.apiKeystring否——
ai.providers.<key>.authSchemestring否—Authorization 头方案。不写时用各 SDK 默认(OpenAI 系 Bearer,Anthropic x-api-key,Google x-goog-api-key); 设为 '' 时 Authorization: &lt;key&gt;;设为 'Bearer' / 'Token' 等时 Authorization: &lt;scheme&gt; &lt;key&gt;(结尾空格可有可无)。
ai.providers.<key>.baseUrlstring否——
ai.providers.<key>.defaultModelstring否——
ai.providers.<key>.modelsarray<string>否——
ai.providers.<key>.timeoutnumber | string否—单次请求超时(ms),覆盖 ai.providerResilience.requestTimeoutMs;模型 harness 的 requestTimeoutMs 优先。0 关闭。
ai.providers.<key>.maxRetriesnumber | string否—每个模型的重试次数,覆盖 ai.providerResilience.maxRetries。
ai.providers.<key>.firstChunkTimeoutMsnumber | string否—流式请求首个 chunk 超时(ms,含等待响应头),默认关闭;超时按 timeout 重试 / 切换备用模型。
ai.providers.<key>.chunkTimeoutMsnumber | string否—流式请求两个 chunk 之间的静默超时(ms),默认关闭。
ai.providers.<key>.headersobject否——
ai.providers.<key>.contextWindownumber | string否—上下文窗口大小(token 数),各 Provider 映射到自身参数
ai.providers.<key>.maxOutputTokensnumber | string否—每次请求的输出 token 上限,默认 8192;Gemini/Claude 的思考 token 也计入
ai.providers.<key>.thinkingLevelstring否—思考深度:off | low | medium | high;不填用 provider 默认;providerOptions 里的思考设置优先
ai.providers.<key>.capabilitiesobject否—Provider 能力声明
ai.providers.<key>.capabilities.inputarray<string>否—Explicit model input modalities. Absence is text-only (fail closed), except Gemini chat models on sdk: google (see defaultModelInput).
ai.providers.<key>.capabilities.streamingboolean | string否——
ai.providers.<key>.capabilities.toolCallingboolean | string否——
ai.providers.<key>.capabilities.thinkingboolean | string否——
ai.providers.<key>.inputarray<string>否—Explicit model input modalities. Prefer this over inferred provider identity.
ai.providers.<key>.providerOptionsobject否—Extra AI SDK providerOptions, merged into every request of this provider, keyed by SDK provider id. For Gemini: { google: { safetySettings: [...], thinkingConfig: { thinkingLevel: 'low' } } }. See ai.google.dev safety settings.
ai.providers.<key>.contextCacheobject否—Gemini context caching (sdk: google): { mode: 'explicit', ttlSeconds }. Default implicit.
ai.providers.<key>.contextCache.modestring否—implicit (default) leaves requests untouched. explicit creates cachedContents.
ai.providers.<key>.contextCache.ttlSecondsnumber | string否—Lifetime of each created cache. Default 600.
ai.providers.<key>.contextCache.minPrefixCharsnumber | string否—Prefixes shorter than this (characters of JSON) are not worth a cache. Default 8000 (~2k tokens).
ai.providers.<key>.imageGenerationobject否—文生图默认(zhipu / cloudflare 等支持 generateImage 的 driver)
ai.providers.<key>.imageGeneration.watermarkEnabledboolean | string否—智谱 API watermark_enabled;默认 true
ai.providers.<key>.imageGeneration.defaultModelstring否——
ai.providers.<key>.imageGeneration.defaultSizestring否—智谱:如 1024x1024、1280x1280
ai.providers.<key>.imageGeneration.numStepsnumber | string否—Cloudflare Flux:推理步数,默认 4
ai.providers.<key>.imageGeneration.qualitystring否—OpenAI GPT Image:low | medium | high | auto
ai.providers.<key>.imageGeneration.aspectRatiostring否—Gemini:如 1:1、16:9
ai.providers.<key>.imageGeneration.imageSizestring否—Gemini:如 1K、2K、4K
ai.providers.<key>.imageGeneration.promptSuffixstring否—追加到 agent/用户 prompt 末尾的风格约束(如写实摄影)。 需要动漫风时不要配置,或在工具 prompt 里写明即可。
ai.providers.<key>.hoststring否——
ai.providers.<key>.num_ctxnumber | string否——
ai.agentsobject | null否—per-agent 绑定(协作角色如 researcher 亦用 agents.<role>);IM 入站总是交给 zhin
ai.agents.<key>.providerstring否——
ai.agents.<key>.modelstring否——
ai.agents.<key>.mcpServersarray | null否——
ai.agents.<key>.nicknamestring否—Agent 昵称(LLM 自称 + IM 协作展示,ADR 0024)。
ai.sessionsobject | null否——
ai.sessions.maxHistorynumber | string否—最大历史消息数(数据库模式默认200,内存模式默认100)
ai.sessions.expireMsnumber | string否—会话过期时间(毫秒,数据库模式默认7天,内存模式默认24小时)
ai.sessions.useDatabaseboolean | string否—是否使用数据库持久化存储(默认 true)
ai.sessions.coldStartMaxMessagesnumber | string否—无摘要时冷启动最多条数(默认 50)
ai.sessions.coldStartMaxAgeMsnumber | string否—冷启动时间窗(毫秒,默认 24h)
ai.sessions.sessionIdleArchiveMsnumber | string否—空闲后自动归档 active 会话(毫秒,默认 7 天;0=关闭)
ai.contextobject | null否——
ai.context.enabledboolean | string否—是否启用消息记录(默认 true)
ai.context.maxRecentMessagesnumber | string否—读取的最近消息数量(默认 100)
ai.context.summaryThresholdnumber | string否—触发总结的消息数量阈值(默认 50)
ai.context.keepAfterSummarynumber | string否—总结后保留的消息数量(默认 10)
ai.context.maxContextTokensnumber | string否—上下文最大 token 估算(默认 4000)
ai.context.summaryPromptstring否—自定义总结提示词
ai.imageGenerationobject | null否—文生图全局默认(可被 providers.&lt;alias&gt;.imageGeneration 覆盖)。 智谱:watermarkEnabled: false 需先在智谱开放平台签署去水印免责声明。
ai.imageGeneration.watermarkEnabledboolean | string否—智谱 API watermark_enabled;默认 true
ai.imageGeneration.defaultModelstring否——
ai.imageGeneration.defaultSizestring否—智谱:如 1024x1024、1280x1280
ai.imageGeneration.numStepsnumber | string否—Cloudflare Flux:推理步数,默认 4
ai.imageGeneration.qualitystring否—OpenAI GPT Image:low | medium | high | auto
ai.imageGeneration.aspectRatiostring否—Gemini:如 1:1、16:9
ai.imageGeneration.imageSizestring否—Gemini:如 1K、2K、4K
ai.imageGeneration.promptSuffixstring否—追加到 agent/用户 prompt 末尾的风格约束(如写实摄影)。 需要动漫风时不要配置,或在工具 prompt 里写明即可。
ai.multimodalobject | null否—入站/出站多模态(base64 契约;平台 adapter 负责编解码与发送)
ai.multimodal.enabledboolean | string否——
ai.multimodal.maxFileBytesnumber | string否——
ai.multimodal.inboundDirstring否——
ai.multimodal.outboundDirstring否——
ai.multimodal.imageobject否——
ai.multimodal.image.maxDimensionnumber | string否——
ai.multimodal.image.preferNativeVisionboolean | string否——
ai.multimodal.audioobject否——
ai.multimodal.audio.strategystring否——
ai.multimodal.videoobject否——
ai.multimodal.video.strategystring否——
ai.multimodal.video.mcpServerstring否——
ai.multimodal.video.maxFramesnumber | string否——
ai.multimodal.outboundobject否——
ai.multimodal.outbound.splitMessagesstring否——
ai.multimodal.perceptionobject | null否—Perception pre-pass: when the turn's model cannot take an image / video / PDF, this media-capable model describes it and the description is injected as untrusted text ([图片描述] …). Unset = off (placeholders as before).
ai.multimodal.perception.providerstring否—ai.providers alias of the perception model.
ai.multimodal.perception.modelstring否——
ai.multimodal.perception.kindsarray<string>否—Kinds to describe. Default ['image']; file covers PDFs only.
ai.multimodal.perception.maxCharsnumber | string否—Description length cap in characters. Default 800.
ai.multimodal.perception.timeoutMsnumber | string否—Per-attempt timeout in ms. Default 30000.
ai.multimodal.perception.maxItemsPerTurnnumber | string否—Media described per turn; the rest keep the placeholder. Default 4.
ai.multimodal.perception.fallbacksarray<object>否—主识图模型失败、空回答或不支持该媒体时,按顺序尝试;不改变主对话模型。
ai.multimodal.perception.fallbacks[].providerstring是——
ai.multimodal.perception.fallbacks[].modelstring是——
ai.memoryobject | null否—三层 Markdown 文件记忆(global / platform / session)。 默认启用;设 enabled: false 可关闭注入。
ai.memory.enabledboolean | string否——
ai.memory.semanticobject | null否—L4 语义记忆:memory_entries 表 + memory_search/upsert 工具
ai.memory.semantic.enabledboolean | string否——
ai.memory.semantic.autoConsolidateboolean | string否——
ai.memory.semantic.recallobject | null否—Per-turn recall (#734): BM25 top-k entries relevant to the current message are added to the turn context. Default on when semantic memory is enabled; topK 5, maxTokens 400.
ai.memory.semantic.recall.enabledboolean | string否——
ai.memory.semantic.recall.topKnumber | string | null否——
ai.memory.semantic.recall.maxTokensnumber | string | null否——
ai.memory.budgetsobject否——
ai.memory.budgets.sessionnumber | string否——
ai.memory.budgets.platformnumber | string否——
ai.memory.budgets.globalnumber | string否——
ai.memory.budgets.dailynumber | string否——
ai.knowledgeobject否—本地知识库(knowledge_search 工具数据源)。 放置 .md / .txt 文件到 baseDir,Agent 可通过 knowledge_search 工具检索。
ai.knowledge.baseDirstring否—项目根目录内的知识库目录路径。配置该段时必须显式声明。
ai.githubMcpobject否—PAT for adapter-github auto-registered server-github MCP (overrides env when set).
ai.githubMcp.tokenstring否——
ai.githubMcp.enabledboolean | string否—为 true 时注册 server-github MCP(PAT,人身份);默认 false,Bot 写操作用 adapter github_* 工具
ai.mcpServersarray | null否—External MCP servers for the Agent MCP client (global, all bots). Listed servers are exposed to ZhinAgent tool pool when connected.
ai.accessobject | null否—AI 访问控制(平台 AIGC 合规;Endpoint 可用 aiAccess 覆盖)
ai.access.modestring否—open | closed | whitelist,默认 open
ai.access.usersarray<string>否—允许触发 AI 的 sender.id
ai.access.groupsarray<string>否—允许触发 AI 的 group/channel id
ai.access.denyMessagestring否—私聊拒绝时的回复文案
ai.triggerobject | null否—AI 触发配置
ai.trigger.enabledboolean | string否—是否启用(默认 true)
ai.trigger.prefixesarray<string>否—触发前缀列表(默认 ['#', 'AI:'])
ai.trigger.respondToAtboolean | string否—是否响应 @ 机器人(默认 true)
ai.trigger.respondToPrivateboolean | string否—是否响应私聊(默认 true)
ai.trigger.keywordsarray<string>否—触发关键词(可选)
ai.trigger.ignorePrefixesarray<string>否—忽略的前缀(命令前缀,避免与命令冲突,默认 ['/', '!', '!'])
ai.trigger.timeoutnumber | string否—超时时间(毫秒,默认 60000)
ai.trigger.thinkingMessagestring否—思考中提示语(可选,设置后会在处理前发送)
ai.trigger.errorTemplatestring否—入口层错误提示模板,{error} 为错误信息(可选;不配置时用聊天口吻说"刚卡了一下",主人额外看到原因)
ai.trigger.ambientobject否—群聊旁听:群里没人叫机器人时,由判断模型决定是否接话。被 @、引用和私聊不经过这里,总会交给 Agent(Agent 也可以选择不回复)。
ai.trigger.ambient.conversationsarray<string>否—开启旁听的群,格式 platform:groupId;* 表示所有群。默认为空(关闭)
ai.trigger.ambient.judgestring | array否—判断模型 providerAlias/model;也可以写成列表,前一个失败或限流时按顺序换下一个(免费额度通常按模型分别计算)。默认用主 Agent 的模型
ai.trigger.ambient.quietMsnumber | string否—群安静多久后才判断一次(毫秒,默认 4000)
ai.trigger.ambient.cooldownMsnumber | string否—两次主动插话之间的最短间隔(毫秒,默认 120000);对话进行中不受限制
ai.trigger.ambient.maxPerHournumber | string否—每个群每小时最多主动插话次数(默认 3);对话进行中不计入
ai.trigger.ambient.conversationWindowMsnumber | string否—机器人说话后,这段时间内算作对话进行中:群友接它的话只由判断模型决定,不受冷却和每小时次数限制(毫秒,默认 180000)
ai.trigger.ambient.judgeIntervalMsnumber | string否—没在对话时,同一个群至少隔这么久才判断一次(毫秒,默认 30000),节省判断模型的额度
ai.trigger.ambient.minConfidencenumber | string否—判断模型置信度门槛 0..1(默认 0.7)
ai.trigger.ambient.modestring: "active", "shadow"否—shadow 只记录判断结果、不回复(默认 active)
ai.usageobject | null否—结构化用量存储(SQLite、MySQL、PostgreSQL);独立于日志级别,不保存正文或工具参数。
ai.usage.retentionDaysinteger | string否30用量明细保留天数,正整数,默认 30 天;按回合结束时间清理,子调用与所属回合一起删除。
menuKeywordstring | false否—内置指令菜单关键词;默认 菜单,false 或空字符串关闭菜单。
menuStyleobject否—HTML 渲染可用时的指令菜单外观;始终保留纯文本降级。
menuStyle.titlestring否—菜单标题。
menuStyle.subtitlestring否—菜单副标题。
menuStyle.accentColorstring否—六位十六进制强调色;无效值使用渲染器默认值。
menuStyle.backgroundImagestring否—HTTP(S) 图片或 PNG/JPEG/WebP data URL;不支持的值使用渲染器默认值。
mcpobject否—把 Bot 工具公开为 MCP Server。
mcp.enabledboolean | string否——
mcp.pathstring | null否——
mcp.tokenstring | null否——
mcp.allowUnauthenticatedLocalhostboolean | string否——
a2aobject否—A2A Agent Card、远程执行与 Workroom 回调。
a2a.enabledboolean | string否——
a2a.pathstring | null否——
a2a.tokenstring | null否——
a2a.publicUrlstring | null否——
a2a.workroomCallbacksobject | null否——
a2a.workroomCallbacks.enabledboolean | string否——
a2a.workroomCallbacks.pathstring否—Must remain outside the ordinary /a2a/{agent}/* route tree.
a2a.workroomCallbacks.maxBodyBytesnumber | string否——
a2a.workroomCallbacks.maxSequenceGapnumber | string否——
a2a.workroomCallbacks.bindingsarray<object>否——
a2a.workroomCallbacks.bindings[].endpointIdstring否——
a2a.workroomCallbacks.bindings[].tenantIdstring否——
a2a.workroomCallbacks.bindings[].cardDigeststring否——
a2a.workroomCallbacks.bindings[].authBindingIdstring否——
a2a.workroomCallbacks.bindings[].trustDomainstring否——
a2a.workroomCallbacks.bindings[].extensionDigeststring否——
a2a.workroomCallbacks.bindings[].credentialIdstring否——
a2a.workroomCallbacks.bindings[].credentialobject | object否——
a2a.workroomCallbacks.bindings[].enabledboolean | string否——
a2a.workroomCallbacks.bindings[].expiresAtnumber | string否——
a2a.workroomRemoteExecutorsobject | null否—Transport endpoints only. Project/Workroom topology remains in the persistent Catalog.
a2a.workroomRemoteExecutors.enabledboolean | string否——
a2a.workroomRemoteExecutors.maxResponseBytesnumber | string否——
a2a.workroomRemoteExecutors.bindingsarray<object>否——
a2a.workroomRemoteExecutors.bindings[].endpointIdstring否——
a2a.workroomRemoteExecutors.bindings[].cardDigeststring否——
a2a.workroomRemoteExecutors.bindings[].authBindingIdstring否——
a2a.workroomRemoteExecutors.bindings[].dispatchUrlstring否——
a2a.workroomRemoteExecutors.bindings[].pollUrlstring否——
a2a.workroomRemoteExecutors.bindings[].credentialobject | object否——
a2a.workroomRemoteExecutors.bindings[].authorityobject否——
a2a.workroomRemoteExecutors.bindings[].authority.workroomExtension"https://zhin.dev/extensions/workroom-executor/v1" | string否——
a2a.workroomRemoteExecutors.bindings[].authority.idempotentDispatchboolean | string否——
a2a.workroomRemoteExecutors.bindings[].authority.typedCompletionEnvelopeboolean | string否——
a2a.workroomRemoteExecutors.bindings[].authority.workspaceProvidersarray<string>否——
a2a.workroomRemoteExecutors.bindings[].enabledboolean | string否——
speechobject否—语音识别与语音合成 Host。
speech.sttobject | null否——
speech.stt.enabledboolean | string否——
speech.stt.providerstring否——
speech.stt.modelstring否——
speech.stt.hoststring否——
speech.stt.apiKeystring否——
speech.ttsobject | null否——
speech.tts.enabledboolean | string否——
speech.tts.providerstring否——
speech.tts.voicestring否——
speech.tts.modelstring否——
speech.tts.hoststring否——
speech.tts.apiKeystring否——
speech.tts.ratestring否—edge-tts
speech.tts.pitchstring否——
speech.tts.edgeTtsCommandstring否——
speech.tts.regionstring否—azure
speech.tts.subscriptionKeystring否——
speech.tts.baseUrlstring否—custom OpenAI-compatible
speech.tts.headersobject否——
speech.tts.speednumber | string否——
htmlRendererobject否—基于 Shotium 的 HTML/图片渲染参数。
htmlRenderer.widthnumber否—默认排版宽度(CSS 像素)。
htmlRenderer.defaultWidthnumber否—width 的旧别名。
htmlRenderer.viewportobject否—Shotium 渲染默认视窗。
htmlRenderer.viewport.widthnumber否—视窗宽度(CSS 像素)。
htmlRenderer.viewport.heightnumber否—视窗高度(CSS 像素)。
htmlRenderer.backgroundColorstring否—HTML 片段背景色。
htmlRenderer.defaultBackgroundColorstring否—backgroundColor 的旧别名。
htmlRenderer.scalenumber否—设备像素比。
htmlRenderer.typestring: "png", "jpeg", "webp"否—默认位图输出格式。
htmlRenderer.qualitynumber否—jpeg/webp 输出质量。
htmlRenderer.timeoutnumber否—导航超时(毫秒)。
htmlRenderer.waitUntilstring: "load", "networkidle"否—导航等待策略。
htmlRenderer.fontFamilystring否—HTML 片段默认字体栈。
htmlRenderer.maxImageHeightnumber否—超过该高度时切分 PNG;0 表示不切分。
htmlRenderer.sliceCompressionnumber否—PNG 切片时使用的压缩级别。
htmlRenderer.allowFileAccessboolean否—允许访问本地文件子资源。
htmlRenderer.takeOverHtmlSegmentsboolean否—接管 html/markdown 富媒体段转图。
htmlRenderer.cacheDirstring否—HTTP 缓存目录;off 表示关闭。
htmlRenderer.cacheMaxBytesnumber否—HTTP 缓存最大字节数。
htmlRenderer.userAgentstring否—自定义 User-Agent。
htmlRenderer.idleTimeoutMsnumber否—daemon 空闲退出超时(毫秒)。
htmlRenderer.logStatsboolean否—记录渲染耗时统计。
htmlRenderer.modestring: "inprocess", "daemon"否—Shotium 在进程内运行还是以 daemon 运行。
htmlRenderer.aiTextAsImageboolean | object否—发送前可选的纯文本转图片。
assistantobject否—调度任务、事件入口和失败通知。
assistant.enabledboolean | string否—启用统一 JobStore(默认 false,Stable 行为不变)
assistant.queueobject | null否—Schedule execution queue(重试 / 并发 / 死信)
assistant.queue.maxConcurrencynumber | string | null否—Schedule execution 并发上限
assistant.queue.maxRetriesnumber | string | null否——
assistant.queue.defaultTimeoutMsnumber | string | null否——
assistant.defaultsobject | null否——
assistant.defaults.notifyobject | object | object | object | null否—未显式指定 notify 时的默认投递目标(M3)
assistant.defaults.notifyOnFailureboolean | string否—Job 失败时是否通知(默认 false)
assistant.profileobject | null否——
assistant.profile.enabledboolean | string否—启用 Profile 覆盖 Bootstrap(默认 false)
assistant.profile.filestring | null否—相对项目根路径,默认 assistant.profile.yml
assistant.homeobject | null否——
assistant.home.enabledboolean | string否——
assistant.home.restUrlstring否—HA REST 基址,如 http://homeassistant.local:8123
assistant.home.restTokenstring否—HA 长期访问令牌
assistant.home.mcpServerstring否—可选:ai.mcpServers 中的名称(REST 为主,MCP 仅校验)
assistant.home.aliasesobject | null否—中文/友好名 → entity_id
assistant.home.policyobject | null否——
assistant.home.policy.requireMasterboolean | string否—仅 master 可调用 home_*(默认 true)
assistant.home.policy.confirmServicesarray | null否—写操作需 Owner 审批的 HA domain(默认 lock、alarm_control_panel)
assistant.home.policy.allowedServiceDomainsarray | null否—home_call_service 允许的 domain 白名单(默认 light/climate/scene/cover/script)
assistant.home.watcharray | null否—要通过 HA WebSocket 订阅状态变化的设备别名列表
assistant.home.debounceMsnumber | string | null否—同实体状态变化推送的防抖间隔(毫秒,默认 5000)
assistant.eventsobject | null否——
assistant.events.enabledboolean | string否—启用 POST /api/assistant/events(需 assistant.enabled)
assistant.events.tokenstring否—可选专用 Bearer;未设时复用 http.token(路由仍在 /api 下受全局鉴权保护)。
assistant.events.allowedSourcesarray<string>否—允许的来源白名单;空数组表示不限制
assistant.events.rateLimitPerMinutenumber | string | null否—每来源每分钟最大请求数(默认 60)
log_levelstring | number否—Runtime 日志级别。
pluginobject否—Root Plugin 配置;组合时由项目 Schema 替换。

插件实例字段 ​

以下字段通过 Runtime 的统一读取器从 trusted 插件的 config: Schema.object(...) 声明或 schema.json 生成;isolated 插件只能使用 schema.json。顶层 <name> 是默认 instanceKey;plugins.<name> 仅保存包引用。

dingtalk ​

plugins/adapters/dingtalk/schema.json

路径类型必填默认值说明
dingtalk.apiBaseUrlstring否"https://oapi.dingtalk.com"—
dingtalk.masterstring | number否—框架 master(DingTalk userid;AI/工具权限、endpoint 管理)。endpoints[i].master 可逐项覆盖
dingtalk.trustedarray<string | number>否—框架 trusted 用户列表(弱于 master)。endpoints[i].trusted 可逐项追加
dingtalk.endpointsarray<object>是—多账号:一个插件实例挂多个 endpoint。每项与顶层字段同构(id 必填,其余覆盖顶层)
dingtalk.endpoints[].masterstring | number否—本 endpoint 的框架 master(DingTalk userid);覆盖顶层 master
dingtalk.endpoints[].trustedarray<string | number>否—本 endpoint 的 trusted 列表
dingtalk.endpoints[].appKeystring是—Dingtalk app key
dingtalk.endpoints[].appSecretstring是—Dingtalk app secret
dingtalk.endpoints[].webhookPathstring否—Dingtalk webhook path
dingtalk.endpoints[].robotCodestring否—Dingtalk robot code
dingtalk.endpoints[].apiBaseUrlstring否——
dingtalk.endpoints[].commandPrefixstring否——
dingtalk.endpoints[].idstring是—Dingtalk bot name
dingtalk.endpoints[].modestring: "webhook", "stream"否"webhook"—
dingtalk.endpoints[].cardTemplateIdstring否—Stream interactive card template ID
dingtalk.endpoints[].cardButtonCountinteger否2Fixed button count in the card template
dingtalk.endpoints[].streamProxyobject否—故障验收专用:TCP固定127.0.0.1,保留真实WSS TLS身份
dingtalk.endpoints[].streamProxy.portinteger是——
dingtalk.endpoints[].streamProxy.serverNamestring是——
dingtalk.commandPrefixstring否""命令前缀(默认 '' 无前缀,任意文本按命令匹配;如 '/' 要求 / 开头)。endpoints[i] 可逐项覆盖
dingtalk.modestring: "webhook", "stream"否"webhook"—
dingtalk.cardTemplateIdstring否—Stream interactive card template ID
dingtalk.cardButtonCountinteger否2Fixed button count in the card template

discord ​

plugins/adapters/discord/schema.json

路径类型必填默认值说明
discord.connectionstring: "gateway", "interactions"否"gateway"Gateway WebSocket (default). interactions uses httpHostToken POST + Ed25519 verify.
discord.intentsarray<number>否——
discord.enableSlashCommandsboolean否false—
discord.globalCommandsboolean否false—
discord.defaultActivityobject否——
discord.defaultActivity.namestring是——
discord.defaultActivity.typestring: "PLAYING", "STREAMING", "LISTENING", "WATCHING", "COMPETING"是——
discord.defaultActivity.urlstring否——
discord.slashCommandsarray<object>否——
discord.applicationIdstring否—Required when connection is interactions.
discord.publicKeystring否—Required when connection is interactions (hex Ed25519 public key).
discord.interactionsPathstring否"/discord/interactions"POST path on httpHostToken when connection is interactions.
discord.masterstring | number否—框架 master(Discord user snowflake;AI/工具权限、endpoint 管理)。endpoints[i].master 可逐项覆盖
discord.trustedarray<string | number>否—框架 trusted 用户列表(弱于 master)。endpoints[i].trusted 可逐项追加
discord.endpointsarray<object>是—多账号:每项定义一个 endpoint,id/token 必填,其余字段覆盖实例默认值
discord.endpoints[].masterstring | number否—本 endpoint 的框架 master(Discord user snowflake);覆盖顶层 master
discord.endpoints[].trustedarray<string | number>否—本 endpoint 的 trusted 列表
discord.endpoints[].tokenstring是—Discord bot token
discord.endpoints[].connectionstring: "gateway", "interactions"否——
discord.endpoints[].intentsarray<number>否——
discord.endpoints[].enableSlashCommandsboolean否——
discord.endpoints[].globalCommandsboolean否——
discord.endpoints[].defaultActivityobject否——
discord.endpoints[].defaultActivity.namestring是——
discord.endpoints[].defaultActivity.typestring: "PLAYING", "STREAMING", "LISTENING", "WATCHING", "COMPETING"是——
discord.endpoints[].defaultActivity.urlstring否——
discord.endpoints[].slashCommandsarray<object>否——
discord.endpoints[].applicationIdstring否——
discord.endpoints[].publicKeystring否——
discord.endpoints[].interactionsPathstring否——
discord.endpoints[].commandPrefixstring否——
discord.endpoints[].idstring是—Discord bot name
discord.endpoints[].gatewayFaultProxyUrlstring否—Isolated acceptance only: loopback Gateway fault proxy; REST unchanged.
discord.endpoints[].restApiProxyobject否—Gateway测试实例REST专用故障代理:discord.com:443固定loopback TCP,保留SNI/证书校验,独立于Gateway代理
discord.endpoints[].restApiProxy.portinteger是——
discord.commandPrefixstring否""命令前缀(默认 '' 无前缀,任意文本按命令匹配;如 '/' 要求 / 开头)。endpoints[i] 可逐项覆盖
discord.gatewayFaultProxyUrlstring否—Isolated acceptance only: loopback Gateway fault proxy; REST unchanged.

email ​

plugins/adapters/email/schema.json

路径类型必填默认值说明
email.masterstring | number否—框架 master(email address;AI/工具权限、endpoint 管理)。endpoints[i].master 可逐项覆盖
email.trustedarray<string | number>否—框架 trusted 用户列表(弱于 master)。endpoints[i].trusted 可逐项追加
email.endpointsarray<object>是—多账号:一个插件实例挂多个 endpoint。每项与顶层字段同构(id 必填,其余覆盖顶层)
email.endpoints[].masterstring | number否—本 endpoint 的框架 master(email address);覆盖顶层 master
email.endpoints[].trustedarray<string | number>否—本 endpoint 的 trusted 列表
email.endpoints[].smtpobject是——
email.endpoints[].smtp.hoststring是——
email.endpoints[].smtp.portnumber是——
email.endpoints[].smtp.secureboolean是——
email.endpoints[].smtp.authobject是——
email.endpoints[].smtp.auth.userstring是——
email.endpoints[].smtp.auth.passstring是——
email.endpoints[].smtp.serverNamestring否—TLS SNI 与证书主机名校验,代理场景保留原服务域名;不改变证书校验策略
email.endpoints[].imapobject是——
email.endpoints[].imap.hoststring是——
email.endpoints[].imap.portnumber是——
email.endpoints[].imap.tlsboolean是——
email.endpoints[].imap.userstring是——
email.endpoints[].imap.passwordstring是——
email.endpoints[].imap.checkIntervalnumber否60000—
email.endpoints[].imap.reconnectIntervalnumber否5000—
email.endpoints[].imap.mailboxstring否"INBOX"—
email.endpoints[].imap.markSeenboolean否true—
email.endpoints[].imap.serverNamestring否—TLS SNI 与证书主机名校验,代理场景保留原服务域名;不改变证书校验策略
email.endpoints[].attachmentsobject否——
email.endpoints[].attachments.enabledboolean否false—
email.endpoints[].attachments.downloadPathstring否——
email.endpoints[].attachments.maxFileSizenumber否——
email.endpoints[].attachments.allowedTypesarray<string>否——
email.endpoints[].commandPrefixstring否——
email.endpoints[].idstring是—Email bot name
email.commandPrefixstring否""命令前缀(默认 '' 无前缀,任意文本按命令匹配;如 '/' 要求 / 开头)。endpoints[i] 可逐项覆盖

github ​

plugins/adapters/github/schema.json

路径类型必填默认值说明
github.hoststring否—GitHub Enterprise hostname (default github.com)
github.webhook_pathstring否"/github/webhook"—
github.auto_reply_reposarray<string>否—Repos whose Issue/PR comments auto-trigger AI without @bot
github.bot_loginstring否—Override App bot login (default {slug}[bot])
github.workspace_rootstring否—Managed git workspace root
github.masterstring | number否—框架 master(GitHub user login or id;AI/工具权限、endpoint 管理)。endpoints[i].master 可逐项覆盖
github.trustedarray<string | number>否—框架 trusted 用户列表(弱于 master)。endpoints[i].trusted 可逐项追加
github.endpointsarray<object>是—多账号:一个插件实例挂多个 endpoint
github.endpoints[].masterstring | number否—本 endpoint 的框架 master(GitHub user login or id);覆盖顶层 master
github.endpoints[].trustedarray<string | number>否—本 endpoint 的 trusted 列表
github.endpoints[].app_idstring | number是—GitHub App ID
github.endpoints[].private_keystring是—GitHub App private key (PEM content or file path)
github.endpoints[].webhook_secretstring否—Webhook HMAC secret; enables httpHostToken POST route
github.endpoints[].idstring是—GitHub App bot name
github.endpoints[].hoststring否—GitHub Enterprise hostname
github.endpoints[].webhook_pathstring否—Webhook route path
github.endpoints[].auto_reply_reposarray<string>否—Repos whose comments auto-trigger AI
github.endpoints[].bot_loginstring否—Override App bot login
github.endpoints[].workspace_rootstring否—Managed git workspace root
github.endpoints[].commandPrefixstring否—本 endpoint 的命令前缀
github.commandPrefixstring否""命令前缀(默认 '' 无前缀,任意文本按命令匹配;如 '/' 要求 / 开头)。endpoints[i] 可逐项覆盖

icqq ​

plugins/adapters/icqq/schema.json

路径类型必填默认值说明
icqq.masterstring | number是—框架 master QQ uin(/approve、AI/工具权限);endpoints[i].master 可逐项覆盖
icqq.trustedarray<string | number>否—框架 trusted QQ uin 列表(弱于 master)
icqq.passwordstring否—QQ 密码(可选,不填则扫码登录)
icqq.platformnumber: 1, 2, 3, 4, 5, 6, 7否1登录设备平台:1=Android, 2=aPad, 3=Watch, 4=iMac, 5=iPad, 6=Tim, 7=Custom
icqq.verstring否—协议版本号,仅在对应 platform 有多个版本时有效,不填则使用最新版本
icqq.signApiAddrstring否—签名服务器地址;未配置时若安装了 @icqqjs/qqsign 则自动使用本地签名
icqq.dataDirstring否—数据存储文件夹路径,默认为主模块下的 data 文件夹
icqq.autoReconnectboolean否true断线后是否自动重连(默认 true)
icqq.outboundMediastring: "file", "base64"否"file"出站媒体模式:file=落盘本地路径(默认); base64=CQ base64:// 内联
icqq.ignoreSelfboolean否true群聊和频道中是否过滤自己的消息(默认 true)
icqq.resendboolean否false被风控时是否尝试用分片发送(默认 false)
icqq.cacheGroupMemberboolean否true是否缓存群员列表(默认 true);群多时(500+)会多占约 100MB+ 内存
icqq.autoServerboolean否true是否自动选择最优服务器(默认 true)
icqq.qqntboolean否true是否使用 QQNT 协议(默认 true)
icqq.ntLoginboolean否—是否使用 NT 登录方式
icqq.endpointsarray<object>是—多账号:一个插件实例挂多个 endpoint。每项与顶层字段同构(id 必填,其余覆盖顶层)
icqq.endpoints[].idstring是—QQ uin
icqq.endpoints[].masterstring | number否—本 endpoint 的 master QQ uin;覆盖顶层 master
icqq.endpoints[].trustedarray<string | number>否—本 endpoint 的 trusted 列表
icqq.endpoints[].passwordstring否—本 endpoint 的 QQ 密码
icqq.endpoints[].platformnumber: 1, 2, 3, 4, 5, 6, 7否—登录设备平台:1=Android, 2=aPad, 3=Watch, 4=iMac, 5=iPad, 6=Tim, 7=Custom
icqq.endpoints[].verstring否—协议版本号
icqq.endpoints[].signApiAddrstring否—签名服务器地址
icqq.endpoints[].dataDirstring否—数据存储文件夹路径
icqq.endpoints[].autoReconnectboolean否—断线后是否自动重连
icqq.endpoints[].outboundMediastring: "file", "base64"否—出站媒体模式
icqq.endpoints[].ignoreSelfboolean否—是否过滤自己的消息
icqq.endpoints[].resendboolean否—被风控时是否分片发送
icqq.endpoints[].cacheGroupMemberboolean否—是否缓存群员列表
icqq.endpoints[].autoServerboolean否—是否自动选择最优服务器
icqq.endpoints[].qqntboolean否—是否使用 QQNT 协议
icqq.endpoints[].ntLoginboolean否—是否使用 NT 登录方式
icqq.endpoints[].commandPrefixstring否—本 endpoint 的命令前缀
icqq.commandPrefixstring否""命令前缀(默认 '' 无前缀)。endpoints[i] 可逐项覆盖

kook ​

plugins/adapters/kook/schema.json

路径类型必填默认值说明
kook.connectionstring: "websocket", "webhook"否"websocket"WebSocket gateway (default). webhook requires httpHostToken, verify_token, and a public HTTPS callback URL.
kook.webhookPathstring否"/kook/webhook"POST path registered via httpHostToken when connection is webhook.
kook.data_dirstring否——
kook.timeoutnumber否10000—
kook.max_retrynumber否3—
kook.ignorestring: "bot", "self"否"bot"—
kook.logLevelstring: "trace", "debug", "info", "warn", "error", "fatal", "mark", "off"否"info"—
kook.masterstring | number否—框架 master(KOOK user id;AI/工具权限、endpoint 管理)。endpoints[i].master 可逐项覆盖
kook.trustedarray<string | number>否—框架 trusted 用户列表(弱于 master)。endpoints[i].trusted 可逐项追加
kook.endpointsarray<object>是—多账号:每项定义一个 endpoint,id/token 必填,其余字段覆盖实例默认值
kook.endpoints[].masterstring | number否—本 endpoint 的框架 master(KOOK user id);覆盖顶层 master
kook.endpoints[].trustedarray<string | number>否—本 endpoint 的 trusted 列表
kook.endpoints[].tokenstring是—KOOK bot token
kook.endpoints[].connectionstring: "websocket", "webhook"否——
kook.endpoints[].webhookPathstring否——
kook.endpoints[].verify_tokenstring否—KOOK developer console verify token (required for webhook mode).
kook.endpoints[].encrypt_keystring否—Optional Encrypt Key when message encryption is enabled in KOOK console.
kook.endpoints[].data_dirstring否——
kook.endpoints[].timeoutnumber否——
kook.endpoints[].max_retrynumber否——
kook.endpoints[].ignorestring: "bot", "self"否——
kook.endpoints[].logLevelstring: "trace", "debug", "info", "warn", "error", "fatal", "mark", "off"否——
kook.endpoints[].commandPrefixstring否——
kook.endpoints[].idstring是—KOOK bot name
kook.endpoints[].streamProxyobject否—WSS故障验收固定loopback,保持真实TLS身份
kook.endpoints[].streamProxy.portinteger是——
kook.endpoints[].streamProxy.serverNamestring是——
kook.endpoints[].apiProxyobject否—Optional fixed loopback TCP route for www.kookapp.cn JSON API only; verified TLS remains enabled.
kook.endpoints[].apiProxy.portinteger是——
kook.commandPrefixstring否""命令前缀(默认 '' 无前缀,任意文本按命令匹配;如 '/' 要求 / 开头)。endpoints[i] 可逐项覆盖

lark ​

plugins/adapters/lark/schema.json

路径类型必填默认值说明
lark.webhookPathstring否"/lark/webhook"—
lark.apiBaseUrlstring否——
lark.isFeishuboolean否true—
lark.masterstring | number否—框架 master(Lark/Feishu open_id or user_id;AI/工具权限、endpoint 管理)。endpoints[i].master 可逐项覆盖
lark.trustedarray<string | number>否—框架 trusted 用户列表(弱于 master)。endpoints[i].trusted 可逐项追加
lark.endpointsarray<object>是—多账号:一个插件实例挂多个 endpoint。每项与顶层字段同构(id 必填,其余覆盖顶层)
lark.endpoints[].masterstring | number否—本 endpoint 的框架 master(Lark/Feishu open_id or user_id);覆盖顶层 master
lark.endpoints[].trustedarray<string | number>否—本 endpoint 的 trusted 列表
lark.endpoints[].appIdstring是—Lark app ID
lark.endpoints[].appSecretstring是—Lark app secret
lark.endpoints[].encryptKeystring否—Lark encrypt key
lark.endpoints[].verificationTokenstring否—Lark verification token
lark.endpoints[].webhookPathstring否——
lark.endpoints[].apiBaseUrlstring否——
lark.endpoints[].isFeishuboolean否——
lark.endpoints[].commandPrefixstring否——
lark.endpoints[].idstring是—Lark bot name
lark.endpoints[].modestring: "webhook", "websocket"否"webhook"—
lark.endpoints[].streamProxyobject否—WSS故障验收:仅TCP固定loopback,保留TLS身份
lark.endpoints[].streamProxy.portinteger是——
lark.endpoints[].streamProxy.serverNamestring是——
lark.endpoints[].webApiProxyobject否—默认关闭;仅飞书出站API的loopback TLS故障代理,保留官方Host/SNI和证书校验,与streamProxy独立
lark.endpoints[].webApiProxy.portinteger是——
lark.commandPrefixstring否""命令前缀(默认 '' 无前缀,任意文本按命令匹配;如 '/' 要求 / 开头)。endpoints[i] 可逐项覆盖
lark.modestring: "webhook", "websocket"否"webhook"—
lark.webApiProxyobject否—默认关闭;仅飞书出站API的loopback TLS故障代理,保留官方Host/SNI和证书校验,与streamProxy独立
lark.webApiProxy.portinteger是——

line ​

plugins/adapters/line/schema.json

路径类型必填默认值说明
line.webhookPathstring否"/line/webhook"—
line.apiBaseUrlstring否"https://api.line.me"—
line.masterstring | number否—框架 master(LINE user id;AI/工具权限、endpoint 管理)。endpoints[i].master 可逐项覆盖
line.trustedarray<string | number>否—框架 trusted 用户列表(弱于 master)。endpoints[i].trusted 可逐项追加
line.endpointsarray<object>是—多账号:一个插件实例挂多个 endpoint。每项与顶层字段同构(id 必填,其余覆盖顶层)
line.endpoints[].masterstring | number否—本 endpoint 的框架 master(LINE user id);覆盖顶层 master
line.endpoints[].trustedarray<string | number>否—本 endpoint 的 trusted 列表
line.endpoints[].channelSecretstring是—LINE channel secret
line.endpoints[].channelAccessTokenstring是—LINE channel access token
line.endpoints[].webhookPathstring否——
line.endpoints[].apiBaseUrlstring否——
line.endpoints[].commandPrefixstring否——
line.endpoints[].idstring是—LINE bot name
line.commandPrefixstring否""命令前缀(默认 '' 无前缀,任意文本按命令匹配;如 '/' 要求 / 开头)。endpoints[i] 可逐项覆盖

milky ​

plugins/adapters/milky/schema.json

路径类型必填默认值说明
milky.connectionstring: "ws", "sse", "webhook", "wss"否"ws"ws (default), sse (EventSource client), webhook or wss (webhook/wss via httpHostToken)
milky.reconnect_intervalnumber否5000—
milky.heartbeat_intervalnumber否30000—
milky.masterstring | number否—框架 master(QQ uin;AI/工具权限、endpoint 管理)。endpoints[i].master 可逐项覆盖
milky.trustedarray<string | number>否—框架 trusted 用户列表(弱于 master)。endpoints[i].trusted 可逐项追加
milky.endpointsarray<object>是—多账号:一个插件实例挂多个 endpoint。每项与顶层字段同构(id 必填,其余覆盖顶层)
milky.endpoints[].masterstring | number否—本 endpoint 的框架 master(QQ uin);覆盖顶层 master
milky.endpoints[].trustedarray<string | number>否—本 endpoint 的 trusted 列表
milky.endpoints[].connectionstring: "ws", "sse", "webhook", "wss"否——
milky.endpoints[].baseUrlstring是—Milky HTTP API base URL (required); WS event path is derived as ws(s)😕/host/event
milky.endpoints[].pathstring否—Path for webhook / reverse-wss
milky.endpoints[].access_tokenstring否—Milky access token
milky.endpoints[].reconnect_intervalnumber否——
milky.endpoints[].heartbeat_intervalnumber否——
milky.endpoints[].commandPrefixstring否——
milky.endpoints[].idstring是—Milky bot name
milky.commandPrefixstring否""命令前缀(默认 '' 无前缀,任意文本按命令匹配;如 '/' 要求 / 开头)。endpoints[i] 可逐项覆盖

napcat ​

plugins/adapters/napcat/schema.json

路径类型必填默认值说明
napcat.connectionstring: "ws", "wss", "http"否"ws"ws (default), wss (reverse WS), or http (POST webhook + HTTP API outbound)
napcat.reconnect_intervalnumber否5000—
napcat.heartbeat_intervalnumber否30000—
napcat.poll_intervalnumber否30000—
napcat.masterstring | number否—框架 master(QQ uin;AI/工具权限、endpoint 管理)。endpoints[i].master 可逐项覆盖
napcat.trustedarray<string | number>否—框架 trusted 用户列表(弱于 master)。endpoints[i].trusted 可逐项追加
napcat.endpointsarray<object>是—多账号:一个插件实例挂多个 endpoint。每项与顶层字段同构(id 必填,其余覆盖顶层)
napcat.endpoints[].masterstring | number否—本 endpoint 的框架 master(QQ uin);覆盖顶层 master
napcat.endpoints[].trustedarray<string | number>否—本 endpoint 的 trusted 列表
napcat.endpoints[].connectionstring: "ws", "wss", "http"否——
napcat.endpoints[].urlstring否—NapCat WebSocket URL (required for connection: ws)
napcat.endpoints[].pathstring否—WS path for reverse-wss
napcat.endpoints[].http_urlstring否—HTTP API base URL (connection: http outbound)
napcat.endpoints[].post_pathstring否—HTTP POST event path (connection: http inbound)
napcat.endpoints[].access_tokenstring否—NapCat access token
napcat.endpoints[].reconnect_intervalnumber否——
napcat.endpoints[].heartbeat_intervalnumber否——
napcat.endpoints[].poll_intervalnumber否——
napcat.endpoints[].commandPrefixstring否——
napcat.endpoints[].idstring是—NapCat bot name
napcat.commandPrefixstring否""命令前缀(默认 '' 无前缀,任意文本按命令匹配;如 '/' 要求 / 开头)。endpoints[i] 可逐项覆盖

onebot11 ​

plugins/adapters/onebot11/schema.json

路径类型必填默认值说明
onebot11.connectionstring: "ws", "wss"否"ws"connection: ws (forward WS client, default) or wss (reverse WS via httpHostToken)
onebot11.reconnect_intervalnumber否5000—
onebot11.heartbeat_intervalnumber否30000—
onebot11.masterstring | number否—框架 master(platform user id;AI/工具权限、endpoint 管理)。endpoints[i].master 可逐项覆盖
onebot11.trustedarray<string | number>否—框架 trusted 用户列表(弱于 master)。endpoints[i].trusted 可逐项追加
onebot11.endpointsarray<object>是—多账号:一个插件实例挂多个 endpoint。每项与顶层字段同构(id 必填,其余覆盖顶层)
onebot11.endpoints[].masterstring | number否—本 endpoint 的框架 master(platform user id);覆盖顶层 master
onebot11.endpoints[].trustedarray<string | number>否—本 endpoint 的 trusted 列表
onebot11.endpoints[].connectionstring: "ws", "wss"否——
onebot11.endpoints[].urlstring否—OneBot implementation WebSocket URL (required for connection: ws)
onebot11.endpoints[].pathstring否—WS path for reverse-wss (connection: wss)
onebot11.endpoints[].access_tokenstring否—OneBot access token
onebot11.endpoints[].reconnect_intervalnumber否——
onebot11.endpoints[].heartbeat_intervalnumber否——
onebot11.endpoints[].commandPrefixstring否——
onebot11.endpoints[].idstring是—OneBot11 bot name
onebot11.commandPrefixstring否""命令前缀(默认 '' 无前缀,任意文本按命令匹配;如 '/' 要求 / 开头)。endpoints[i] 可逐项覆盖

onebot12 ​

plugins/adapters/onebot12/schema.json

路径类型必填默认值说明
onebot12.connectionstring: "ws", "webhook", "wss"否"ws"ws (default), webhook (httpHostToken POST), or wss (reverse WS via httpHostToken)
onebot12.reconnect_intervalnumber否5000—
onebot12.heartbeat_intervalnumber否30000—
onebot12.masterstring | number否—框架 master(platform user id;AI/工具权限、endpoint 管理)。endpoints[i].master 可逐项覆盖
onebot12.trustedarray<string | number>否—框架 trusted 用户列表(弱于 master)。endpoints[i].trusted 可逐项追加
onebot12.endpointsarray<object>是—多账号:一个插件实例挂多个 endpoint。每项与顶层字段同构(id 必填,其余覆盖顶层)
onebot12.endpoints[].masterstring | number否—本 endpoint 的框架 master(platform user id);覆盖顶层 master
onebot12.endpoints[].trustedarray<string | number>否—本 endpoint 的 trusted 列表
onebot12.endpoints[].connectionstring: "ws", "webhook", "wss"否——
onebot12.endpoints[].urlstring否—OneBot implementation WebSocket URL (required for connection: ws)
onebot12.endpoints[].pathstring否—HTTP/WS path for webhook or reverse-wss
onebot12.endpoints[].api_urlstring否—HTTP action endpoint for webhook outbound (required for connection: webhook send)
onebot12.endpoints[].access_tokenstring否—OneBot access token
onebot12.endpoints[].reconnect_intervalnumber否——
onebot12.endpoints[].heartbeat_intervalnumber否——
onebot12.endpoints[].commandPrefixstring否——
onebot12.endpoints[].idstring是—OneBot12 bot name
onebot12.commandPrefixstring否""命令前缀(默认 '' 无前缀,任意文本按命令匹配;如 '/' 要求 / 开头)。endpoints[i] 可逐项覆盖

qq ​

plugins/adapters/qq/schema.json

路径类型必填默认值说明
qq.modestring: "websocket", "webhook", "middleware"否"websocket"WebSocket gateway (default). webhook/middleware use httpHostToken POST.
qq.sandboxboolean否false—
qq.botKindstring: "public", "private"否"public"公域/私域:均含 GROUP_AND_C2C_EVENT;频道消息分别为 PUBLIC_GUILD_MESSAGES / GUILD_MESSAGES。未显式配置 intents 时按此展开
qq.masterstring | number否—框架 master(endpoint 管理命令、AI/工具权限);openid。endpoints[i].master 可逐项覆盖
qq.trustedarray<string | number>否—框架 trusted 用户列表(弱于 master)。endpoints[i].trusted 可逐项追加
qq.intentsarray<string>否—WebSocket Identify intents;省略时按 botKind 自动生成(public→含 PUBLIC_GUILD_MESSAGES)
qq.accessTokenUrlstring否——
qq.gatewayUrlstring否——
qq.webhookPathstring否"/qq/webhook"POST path on httpHostToken for webhook/middleware modes.
qq.endpointsarray<object>是—多账号:每项定义一个 endpoint,id/appid/secret 必填,其余字段覆盖实例默认值
qq.endpoints[].appidstring是—QQ official bot app ID
qq.endpoints[].secretstring是—QQ official bot secret
qq.endpoints[].modestring: "websocket", "webhook", "middleware"否——
qq.endpoints[].sandboxboolean否——
qq.endpoints[].masterstring | number否—本 endpoint 的框架 master(openid);覆盖顶层 master
qq.endpoints[].trustedarray<string | number>否—本 endpoint 的 trusted 列表
qq.endpoints[].botKindstring: "public", "private"否—覆盖顶层 botKind(公域/私域),用于按 endpoint 生成 intents
qq.endpoints[].intentsarray<string>否—覆盖顶层 intents
qq.endpoints[].accessTokenUrlstring否——
qq.endpoints[].gatewayUrlstring否——
qq.endpoints[].webhookPathstring否——
qq.endpoints[].commandPrefixstring否——
qq.endpoints[].idstring是—QQ bot name
qq.endpoints[].streamProxyobject否—Optional fixed loopback TCP fault proxy for WSS only; original gateway TLS identity must match serverName.
qq.endpoints[].streamProxy.portinteger是——
qq.endpoints[].streamProxy.serverNamestring是——
qq.commandPrefixstring否""命令前缀(默认 '' 无前缀,任意文本按命令匹配;如 '/' 要求 / 开头)。endpoints[i] 可逐项覆盖
qq.streamProxyobject否—Optional fixed loopback TCP fault proxy for WSS only; original gateway TLS identity must match serverName.
qq.streamProxy.portinteger是——
qq.streamProxy.serverNamestring是——

sandbox ​

plugins/adapters/sandbox/schema.json

路径类型必填默认值说明
sandbox.masterstring | number否—框架 master(sandbox client id (distinct from endpoints[].owner);AI/工具权限、endpoint 管理)。endpoints[i].master 可逐项覆盖
sandbox.trustedarray<string | number>否—框架 trusted 用户列表(弱于 master)。endpoints[i].trusted 可逐项追加
sandbox.endpointsarray<object>是—多账号:一个插件实例挂多个 endpoint。每项与顶层字段同构(id 必填,其余覆盖顶层)
sandbox.endpoints[].masterstring | number否—本 endpoint 的框架 master(sandbox client id (distinct from endpoints[].owner));覆盖顶层 master
sandbox.endpoints[].trustedarray<string | number>否—本 endpoint 的 trusted 列表
sandbox.endpoints[].ownerstring否—Sandbox owner user ID
sandbox.endpoints[].commandPrefixstring否——
sandbox.endpoints[].idstring是—Sandbox bot name
sandbox.commandPrefixstring否""命令前缀(默认 '' 无前缀,任意文本按命令匹配;如 '/' 要求 / 开头)。endpoints[i] 可逐项覆盖

satori ​

plugins/adapters/satori/schema.json

路径类型必填默认值说明
satori.connectionstring: "ws", "webhook"否"ws"ws (default) or webhook (httpHostToken POST route)
satori.heartbeat_intervalnumber否10000WS PING interval in milliseconds
satori.masterstring | number否—框架 master(platform user id;AI/工具权限、endpoint 管理)。endpoints[i].master 可逐项覆盖
satori.trustedarray<string | number>否—框架 trusted 用户列表(弱于 master)。endpoints[i].trusted 可逐项追加
satori.endpointsarray<object>是—多账号:每项定义一个 endpoint,id/baseUrl 必填,其余字段覆盖实例默认值
satori.endpoints[].masterstring | number否—本 endpoint 的框架 master(platform user id);覆盖顶层 master
satori.endpoints[].trustedarray<string | number>否—本 endpoint 的 trusted 列表
satori.endpoints[].baseUrlstring是—Satori SDK HTTP/WS base URL (e.g. http://127.0.0.1:5140)
satori.endpoints[].connectionstring: "ws", "webhook"否——
satori.endpoints[].tokenstring否—Bearer token for API and WS IDENTIFY
satori.endpoints[].pathstring否—Webhook POST path (connection: webhook)
satori.endpoints[].heartbeat_intervalnumber否——
satori.endpoints[].commandPrefixstring否——
satori.endpoints[].idstring是—Satori bot name
satori.commandPrefixstring否""命令前缀(默认 '' 无前缀,任意文本按命令匹配;如 '/' 要求 / 开头)。endpoints[i] 可逐项覆盖

slack ​

plugins/adapters/slack/schema.json

路径类型必填默认值说明
slack.socketModeboolean否truePrefer Socket Mode (default). Set false for HTTP Events via httpHostToken.
slack.webhookPathstring否"/slack/events"—
slack.clientPingTimeoutnumber否15000Socket Mode client ping timeout (ms)
slack.masterstring | number否—框架 master(Slack user id;AI/工具权限、endpoint 管理)。endpoints[i].master 可逐项覆盖
slack.trustedarray<string | number>否—框架 trusted 用户列表(弱于 master)。endpoints[i].trusted 可逐项追加
slack.endpointsarray<object>是—多账号:一个插件实例挂多个 endpoint。每项与顶层字段同构(id 必填,其余覆盖顶层)
slack.endpoints[].masterstring | number否—本 endpoint 的框架 master(Slack user id);覆盖顶层 master
slack.endpoints[].trustedarray<string | number>否—本 endpoint 的 trusted 列表
slack.endpoints[].tokenstring是—Bot User OAuth Token (xoxb-...)
slack.endpoints[].signingSecretstring否—Required for HTTP Events API (socketMode: false)
slack.endpoints[].appTokenstring否—App-Level Token (xapp-...) for Socket Mode
slack.endpoints[].socketModeboolean否——
slack.endpoints[].webhookPathstring否——
slack.endpoints[].clientPingTimeoutnumber否——
slack.endpoints[].commandPrefixstring否——
slack.endpoints[].idstring是—Slack bot name
slack.endpoints[].streamProxyobject否—Socket故障验收:WSS固定loopback TCP,API仍标准TLS直连
slack.endpoints[].streamProxy.portinteger是——
slack.endpoints[].streamProxy.serverNamestring是——
slack.endpoints[].webApiProxyobject否—出站JSON Web API专用故障代理:仅slack.com:443,固定loopbackTCP,保留SNI和证书校验,与Socket代理独立;上传域名不适用
slack.endpoints[].webApiProxy.portinteger是——
slack.commandPrefixstring否""命令前缀(默认 '' 无前缀,任意文本按命令匹配;如 '/' 要求 / 开头)。endpoints[i] 可逐项覆盖

telegram ​

plugins/adapters/telegram/schema.json

路径类型必填默认值说明
telegram.pollingboolean否trueLong-poll getUpdates (default). Set false for webhook via httpHostToken.
telegram.webhookobject否—Webhook settings when polling is false.
telegram.webhook.domainstring否——
telegram.webhook.pathstring否"/telegram/webhook"—
telegram.webhook.secretTokenstring否—Verified via X-Telegram-Bot-Api-Secret-Token.
telegram.allowedUpdatesarray<string>否["message","callback_query"]—
telegram.apiBaseUrlstring否"https://api.telegram.org"—
telegram.masterstring | number否—框架 master(Telegram user id;AI/工具权限、endpoint 管理)。endpoints[i].master 可逐项覆盖
telegram.trustedarray<string | number>否—框架 trusted 用户列表(弱于 master)。endpoints[i].trusted 可逐项追加
telegram.endpointsarray<object>是—多账号:一个插件实例挂多个 endpoint。每项与顶层字段同构(id 必填,其余覆盖顶层)
telegram.endpoints[].masterstring | number否—本 endpoint 的框架 master(Telegram user id);覆盖顶层 master
telegram.endpoints[].trustedarray<string | number>否—本 endpoint 的 trusted 列表
telegram.endpoints[].tokenstring是—Telegram bot token
telegram.endpoints[].pollingboolean否——
telegram.endpoints[].webhookobject否——
telegram.endpoints[].webhook.domainstring否——
telegram.endpoints[].webhook.pathstring否——
telegram.endpoints[].webhook.secretTokenstring否——
telegram.endpoints[].allowedUpdatesarray<string>否——
telegram.endpoints[].apiBaseUrlstring否——
telegram.endpoints[].commandPrefixstring否——
telegram.endpoints[].idstring是—Telegram bot name
telegram.commandPrefixstring否""命令前缀(默认 '' 无前缀,任意文本按命令匹配;如 '/' 要求 / 开头)。endpoints[i] 可逐项覆盖

wechat-mp ​

plugins/adapters/wechat-mp/schema.json

路径类型必填默认值说明
wechat-mp.pathstring否"/wechat/webhook"—
wechat-mp.encryptboolean否false—
wechat-mp.encryptModestring: "plain", "compatible", "secure"否—Default follows encrypt: 'plain' when encrypt=false, 'compatible' when encrypt=true
wechat-mp.replyModestring: "passive", "customer_service"否"passive"—
wechat-mp.passiveReplyTimeoutMsnumber否4500—
wechat-mp.masterstring | number否—框架 master(WeChat OpenID;AI/工具权限、endpoint 管理)。endpoints[i].master 可逐项覆盖
wechat-mp.trustedarray<string | number>否—框架 trusted 用户列表(弱于 master)。endpoints[i].trusted 可逐项追加
wechat-mp.endpointsarray<object>是—多账号:一个插件实例挂多个 endpoint。每项与顶层字段同构(id 必填,其余覆盖顶层)
wechat-mp.endpoints[].masterstring | number否—本 endpoint 的框架 master(WeChat OpenID);覆盖顶层 master
wechat-mp.endpoints[].trustedarray<string | number>否—本 endpoint 的 trusted 列表
wechat-mp.endpoints[].appIdstring是—WeChat MP app ID
wechat-mp.endpoints[].appSecretstring是—WeChat MP app secret
wechat-mp.endpoints[].tokenstring是—WeChat MP callback token
wechat-mp.endpoints[].encodingAESKeystring否—WeChat MP encoding AES key
wechat-mp.endpoints[].pathstring否——
wechat-mp.endpoints[].encryptboolean否——
wechat-mp.endpoints[].encryptModestring: "plain", "compatible", "secure"否——
wechat-mp.endpoints[].replyModestring: "passive", "customer_service"否——
wechat-mp.endpoints[].passiveReplyTimeoutMsnumber否——
wechat-mp.endpoints[].commandPrefixstring否——
wechat-mp.endpoints[].idstring是—WeChat MP bot name
wechat-mp.commandPrefixstring否""命令前缀(默认 '' 无前缀,任意文本按命令匹配;如 '/' 要求 / 开头)。endpoints[i] 可逐项覆盖

wecom ​

plugins/adapters/wecom/schema.json

路径类型必填默认值说明
wecom.webhookPathstring否"/wecom/callback"—
wecom.apiBaseUrlstring否"https://qyapi.weixin.qq.com"—
wecom.masterstring | number否—框架 master(WeCom userid;AI/工具权限、endpoint 管理)。endpoints[i].master 可逐项覆盖
wecom.trustedarray<string | number>否—框架 trusted 用户列表(弱于 master)。endpoints[i].trusted 可逐项追加
wecom.endpointsarray<object>是—多账号:一个插件实例挂多个 endpoint。每项与顶层字段同构(id 必填,其余覆盖顶层)
wecom.endpoints[].masterstring | number否—本 endpoint 的框架 master(WeCom userid);覆盖顶层 master
wecom.endpoints[].trustedarray<string | number>否—本 endpoint 的 trusted 列表
wecom.endpoints[].corpIdstring是—WeCom corp ID
wecom.endpoints[].agentSecretstring是—WeCom agent secret
wecom.endpoints[].tokenstring是—WeCom callback token
wecom.endpoints[].encodingAESKeystring是—WeCom encoding AES key
wecom.endpoints[].webhookPathstring否——
wecom.endpoints[].apiBaseUrlstring否——
wecom.endpoints[].commandPrefixstring否——
wecom.endpoints[].idstring是—WeCom bot name
wecom.commandPrefixstring否""命令前缀(默认 '' 无前缀,任意文本按命令匹配;如 '/' 要求 / 开头)。endpoints[i] 可逐项覆盖

plugins/adapters/weixin-ilink/schema.json

路径类型必填默认值说明
weixin-ilink.botAgentstring否——
weixin-ilink.baseUrlstring否"https://ilinkai.weixin.qq.com"—
weixin-ilink.cdnBaseUrlstring否"https://novac2c.cdn.weixin.qq.com/c2c"—
weixin-ilink.longPollTimeoutMsnumber否35000—
weixin-ilink.dataDirstring否"data/weixin-ilink"Endpoint state root for credentials, cursors, context tokens, and media
weixin-ilink.masterstring | number否—框架 master(Weixin user id;AI/工具权限、endpoint 管理)。endpoints[i].master 可逐项覆盖
weixin-ilink.trustedarray<string | number>否—框架 trusted 用户列表(弱于 master)。endpoints[i].trusted 可逐项追加
weixin-ilink.endpointsarray<object>是—多账号:一个插件实例挂多个 endpoint。每项与顶层字段同构(id 必填,其余覆盖顶层)
weixin-ilink.endpoints[].masterstring | number否—本 endpoint 的框架 master(Weixin user id);覆盖顶层 master
weixin-ilink.endpoints[].trustedarray<string | number>否—本 endpoint 的 trusted 列表
weixin-ilink.endpoints[].botTokenstring否—iLink bot token; omit to load endpoint state or start QR login
weixin-ilink.endpoints[].idstring是—Weixin iLink bot name
weixin-ilink.endpoints[].botAgentstring否——
weixin-ilink.endpoints[].baseUrlstring否——
weixin-ilink.endpoints[].cdnBaseUrlstring否——
weixin-ilink.endpoints[].longPollTimeoutMsnumber否——
weixin-ilink.endpoints[].dataDirstring否—Endpoint state root
weixin-ilink.endpoints[].commandPrefixstring否—本 endpoint 的命令前缀
weixin-ilink.commandPrefixstring否""命令前缀(默认 '' 无前缀,任意文本按命令匹配;如 '/' 要求 / 开头)。endpoints[i] 可逐项覆盖

process-monitor ​

plugins/features/process-monitor/schema.json

路径类型必填默认值说明
process-monitor.enabledboolean否true是否启用进程监控
process-monitor.notifyOnStartboolean否true首次启动时通知
process-monitor.notifyOnRestartboolean否true正常重启时通知
process-monitor.notifyOnCrashboolean否true异常崩溃重启时通知
process-monitor.notifyChannelsarray<object>否[]通知渠道(slice-1 仅 webhook 生效)
process-monitor.notifyChannels[].typestring: "webhook"是——
process-monitor.notifyChannels[].targetstring是——

blackjack ​

plugins/games/blackjack/schema.json

该 Schema 没有声明字段。

dice-duel ​

plugins/games/dice-duel/schema.json

该 Schema 没有声明字段。

dungeon-expedition ​

plugins/games/dungeon-expedition/schema.json

该 Schema 没有声明字段。

guess-number ​

plugins/games/guess-number/schema.json

该 Schema 没有声明字段。

hub ​

plugins/games/hub/schema.json

该 Schema 没有声明字段。

idiom-chain ​

plugins/games/idiom-chain/schema.json

该 Schema 没有声明字段。

roulette ​

plugins/games/roulette/schema.json

路径类型必填默认值说明
roulette.chambersinteger否6弹巢数量,其中一发是实弹
roulette.maxPlayersinteger否6单局最多玩家数
roulette.turnTimeoutSecondsinteger否60轮到的玩家超过这个秒数不开枪,判负
roulette.lobbyTimeoutSecondsinteger否300开局后超过这个秒数仍未开始,自动解散
roulette.muteSecondsinteger否60开启禁言惩罚的群里,输家被禁言的秒数(每个群默认关闭)

rps ​

plugins/games/rps/schema.json

该 Schema 没有声明字段。

text-adventure ​

plugins/games/text-adventure/schema.json

该 Schema 没有声明字段。

tic-tac-toe ​

plugins/games/tic-tac-toe/schema.json

该 Schema 没有声明字段。

word-riddle ​

plugins/games/word-riddle/schema.json

该 Schema 没有声明字段。

activity-feedback ​

plugins/services/activity-feedback/schema.json

路径类型必填默认值说明
activity-feedback.enabledboolean否true是否启用当前活动反馈插件实例。
activity-feedback.defaultsobject否—所有平台与 Endpoint 的默认策略。
activity-feedback.defaults.enabledboolean否true是否启用当前策略层。
activity-feedback.defaults.phasesobject否—按生命周期 phase 配置反馈策略。
activity-feedback.defaults.phases.queuedobject否——
activity-feedback.defaults.phases.queued.privateobject否——
activity-feedback.defaults.phases.queued.private.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.defaults.phases.queued.private.emojistring否—type=reaction 时使用的回应值。
activity-feedback.defaults.phases.queued.private.messagestring否—type=message 时使用的状态文本。
activity-feedback.defaults.phases.queued.private.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.defaults.phases.queued.private.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.defaults.phases.queued.private.platformConfigobject否—平台特定选项。
activity-feedback.defaults.phases.queued.groupobject否——
activity-feedback.defaults.phases.queued.group.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.defaults.phases.queued.group.emojistring否—type=reaction 时使用的回应值。
activity-feedback.defaults.phases.queued.group.messagestring否—type=message 时使用的状态文本。
activity-feedback.defaults.phases.queued.group.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.defaults.phases.queued.group.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.defaults.phases.queued.group.platformConfigobject否—平台特定选项。
activity-feedback.defaults.phases.queued.channelobject否——
activity-feedback.defaults.phases.queued.channel.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.defaults.phases.queued.channel.emojistring否—type=reaction 时使用的回应值。
activity-feedback.defaults.phases.queued.channel.messagestring否—type=message 时使用的状态文本。
activity-feedback.defaults.phases.queued.channel.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.defaults.phases.queued.channel.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.defaults.phases.queued.channel.platformConfigobject否—平台特定选项。
activity-feedback.defaults.phases.activeobject否——
activity-feedback.defaults.phases.active.privateobject否——
activity-feedback.defaults.phases.active.private.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.defaults.phases.active.private.emojistring否—type=reaction 时使用的回应值。
activity-feedback.defaults.phases.active.private.messagestring否—type=message 时使用的状态文本。
activity-feedback.defaults.phases.active.private.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.defaults.phases.active.private.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.defaults.phases.active.private.platformConfigobject否—平台特定选项。
activity-feedback.defaults.phases.active.groupobject否——
activity-feedback.defaults.phases.active.group.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.defaults.phases.active.group.emojistring否—type=reaction 时使用的回应值。
activity-feedback.defaults.phases.active.group.messagestring否—type=message 时使用的状态文本。
activity-feedback.defaults.phases.active.group.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.defaults.phases.active.group.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.defaults.phases.active.group.platformConfigobject否—平台特定选项。
activity-feedback.defaults.phases.active.channelobject否——
activity-feedback.defaults.phases.active.channel.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.defaults.phases.active.channel.emojistring否—type=reaction 时使用的回应值。
activity-feedback.defaults.phases.active.channel.messagestring否—type=message 时使用的状态文本。
activity-feedback.defaults.phases.active.channel.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.defaults.phases.active.channel.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.defaults.phases.active.channel.platformConfigobject否—平台特定选项。
activity-feedback.defaults.phases.thinkingobject否——
activity-feedback.defaults.phases.thinking.privateobject否——
activity-feedback.defaults.phases.thinking.private.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.defaults.phases.thinking.private.emojistring否—type=reaction 时使用的回应值。
activity-feedback.defaults.phases.thinking.private.messagestring否—type=message 时使用的状态文本。
activity-feedback.defaults.phases.thinking.private.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.defaults.phases.thinking.private.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.defaults.phases.thinking.private.platformConfigobject否—平台特定选项。
activity-feedback.defaults.phases.thinking.groupobject否——
activity-feedback.defaults.phases.thinking.group.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.defaults.phases.thinking.group.emojistring否—type=reaction 时使用的回应值。
activity-feedback.defaults.phases.thinking.group.messagestring否—type=message 时使用的状态文本。
activity-feedback.defaults.phases.thinking.group.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.defaults.phases.thinking.group.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.defaults.phases.thinking.group.platformConfigobject否—平台特定选项。
activity-feedback.defaults.phases.thinking.channelobject否——
activity-feedback.defaults.phases.thinking.channel.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.defaults.phases.thinking.channel.emojistring否—type=reaction 时使用的回应值。
activity-feedback.defaults.phases.thinking.channel.messagestring否—type=message 时使用的状态文本。
activity-feedback.defaults.phases.thinking.channel.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.defaults.phases.thinking.channel.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.defaults.phases.thinking.channel.platformConfigobject否—平台特定选项。
activity-feedback.defaults.phases.schedule_startobject否——
activity-feedback.defaults.phases.schedule_start.privateobject否——
activity-feedback.defaults.phases.schedule_start.private.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.defaults.phases.schedule_start.private.emojistring否—type=reaction 时使用的回应值。
activity-feedback.defaults.phases.schedule_start.private.messagestring否—type=message 时使用的状态文本。
activity-feedback.defaults.phases.schedule_start.private.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.defaults.phases.schedule_start.private.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.defaults.phases.schedule_start.private.platformConfigobject否—平台特定选项。
activity-feedback.defaults.phases.schedule_start.groupobject否——
activity-feedback.defaults.phases.schedule_start.group.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.defaults.phases.schedule_start.group.emojistring否—type=reaction 时使用的回应值。
activity-feedback.defaults.phases.schedule_start.group.messagestring否—type=message 时使用的状态文本。
activity-feedback.defaults.phases.schedule_start.group.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.defaults.phases.schedule_start.group.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.defaults.phases.schedule_start.group.platformConfigobject否—平台特定选项。
activity-feedback.defaults.phases.schedule_start.channelobject否——
activity-feedback.defaults.phases.schedule_start.channel.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.defaults.phases.schedule_start.channel.emojistring否—type=reaction 时使用的回应值。
activity-feedback.defaults.phases.schedule_start.channel.messagestring否—type=message 时使用的状态文本。
activity-feedback.defaults.phases.schedule_start.channel.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.defaults.phases.schedule_start.channel.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.defaults.phases.schedule_start.channel.platformConfigobject否—平台特定选项。
activity-feedback.defaults.phases.schedule_finishobject否——
activity-feedback.defaults.phases.schedule_finish.privateobject否——
activity-feedback.defaults.phases.schedule_finish.private.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.defaults.phases.schedule_finish.private.emojistring否—type=reaction 时使用的回应值。
activity-feedback.defaults.phases.schedule_finish.private.messagestring否—type=message 时使用的状态文本。
activity-feedback.defaults.phases.schedule_finish.private.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.defaults.phases.schedule_finish.private.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.defaults.phases.schedule_finish.private.platformConfigobject否—平台特定选项。
activity-feedback.defaults.phases.schedule_finish.groupobject否——
activity-feedback.defaults.phases.schedule_finish.group.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.defaults.phases.schedule_finish.group.emojistring否—type=reaction 时使用的回应值。
activity-feedback.defaults.phases.schedule_finish.group.messagestring否—type=message 时使用的状态文本。
activity-feedback.defaults.phases.schedule_finish.group.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.defaults.phases.schedule_finish.group.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.defaults.phases.schedule_finish.group.platformConfigobject否—平台特定选项。
activity-feedback.defaults.phases.schedule_finish.channelobject否——
activity-feedback.defaults.phases.schedule_finish.channel.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.defaults.phases.schedule_finish.channel.emojistring否—type=reaction 时使用的回应值。
activity-feedback.defaults.phases.schedule_finish.channel.messagestring否—type=message 时使用的状态文本。
activity-feedback.defaults.phases.schedule_finish.channel.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.defaults.phases.schedule_finish.channel.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.defaults.phases.schedule_finish.channel.platformConfigobject否—平台特定选项。
activity-feedback.defaults.phases.schedule_errorobject否——
activity-feedback.defaults.phases.schedule_error.privateobject否——
activity-feedback.defaults.phases.schedule_error.private.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.defaults.phases.schedule_error.private.emojistring否—type=reaction 时使用的回应值。
activity-feedback.defaults.phases.schedule_error.private.messagestring否—type=message 时使用的状态文本。
activity-feedback.defaults.phases.schedule_error.private.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.defaults.phases.schedule_error.private.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.defaults.phases.schedule_error.private.platformConfigobject否—平台特定选项。
activity-feedback.defaults.phases.schedule_error.groupobject否——
activity-feedback.defaults.phases.schedule_error.group.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.defaults.phases.schedule_error.group.emojistring否—type=reaction 时使用的回应值。
activity-feedback.defaults.phases.schedule_error.group.messagestring否—type=message 时使用的状态文本。
activity-feedback.defaults.phases.schedule_error.group.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.defaults.phases.schedule_error.group.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.defaults.phases.schedule_error.group.platformConfigobject否—平台特定选项。
activity-feedback.defaults.phases.schedule_error.channelobject否——
activity-feedback.defaults.phases.schedule_error.channel.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.defaults.phases.schedule_error.channel.emojistring否—type=reaction 时使用的回应值。
activity-feedback.defaults.phases.schedule_error.channel.messagestring否—type=message 时使用的状态文本。
activity-feedback.defaults.phases.schedule_error.channel.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.defaults.phases.schedule_error.channel.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.defaults.phases.schedule_error.channel.platformConfigobject否—平台特定选项。
activity-feedback.platformsobject否—按平台名覆盖;值的结构与 defaults 相同。
activity-feedback.platforms.<platform>.enabledboolean否true是否启用当前策略层。
activity-feedback.platforms.<platform>.phasesobject否—按生命周期 phase 配置反馈策略。
activity-feedback.platforms.<platform>.phases.queuedobject否——
activity-feedback.platforms.<platform>.phases.queued.privateobject否——
activity-feedback.platforms.<platform>.phases.queued.private.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.platforms.<platform>.phases.queued.private.emojistring否—type=reaction 时使用的回应值。
activity-feedback.platforms.<platform>.phases.queued.private.messagestring否—type=message 时使用的状态文本。
activity-feedback.platforms.<platform>.phases.queued.private.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.platforms.<platform>.phases.queued.private.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.platforms.<platform>.phases.queued.private.platformConfigobject否—平台特定选项。
activity-feedback.platforms.<platform>.phases.queued.groupobject否——
activity-feedback.platforms.<platform>.phases.queued.group.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.platforms.<platform>.phases.queued.group.emojistring否—type=reaction 时使用的回应值。
activity-feedback.platforms.<platform>.phases.queued.group.messagestring否—type=message 时使用的状态文本。
activity-feedback.platforms.<platform>.phases.queued.group.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.platforms.<platform>.phases.queued.group.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.platforms.<platform>.phases.queued.group.platformConfigobject否—平台特定选项。
activity-feedback.platforms.<platform>.phases.queued.channelobject否——
activity-feedback.platforms.<platform>.phases.queued.channel.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.platforms.<platform>.phases.queued.channel.emojistring否—type=reaction 时使用的回应值。
activity-feedback.platforms.<platform>.phases.queued.channel.messagestring否—type=message 时使用的状态文本。
activity-feedback.platforms.<platform>.phases.queued.channel.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.platforms.<platform>.phases.queued.channel.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.platforms.<platform>.phases.queued.channel.platformConfigobject否—平台特定选项。
activity-feedback.platforms.<platform>.phases.activeobject否——
activity-feedback.platforms.<platform>.phases.active.privateobject否——
activity-feedback.platforms.<platform>.phases.active.private.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.platforms.<platform>.phases.active.private.emojistring否—type=reaction 时使用的回应值。
activity-feedback.platforms.<platform>.phases.active.private.messagestring否—type=message 时使用的状态文本。
activity-feedback.platforms.<platform>.phases.active.private.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.platforms.<platform>.phases.active.private.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.platforms.<platform>.phases.active.private.platformConfigobject否—平台特定选项。
activity-feedback.platforms.<platform>.phases.active.groupobject否——
activity-feedback.platforms.<platform>.phases.active.group.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.platforms.<platform>.phases.active.group.emojistring否—type=reaction 时使用的回应值。
activity-feedback.platforms.<platform>.phases.active.group.messagestring否—type=message 时使用的状态文本。
activity-feedback.platforms.<platform>.phases.active.group.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.platforms.<platform>.phases.active.group.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.platforms.<platform>.phases.active.group.platformConfigobject否—平台特定选项。
activity-feedback.platforms.<platform>.phases.active.channelobject否——
activity-feedback.platforms.<platform>.phases.active.channel.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.platforms.<platform>.phases.active.channel.emojistring否—type=reaction 时使用的回应值。
activity-feedback.platforms.<platform>.phases.active.channel.messagestring否—type=message 时使用的状态文本。
activity-feedback.platforms.<platform>.phases.active.channel.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.platforms.<platform>.phases.active.channel.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.platforms.<platform>.phases.active.channel.platformConfigobject否—平台特定选项。
activity-feedback.platforms.<platform>.phases.thinkingobject否——
activity-feedback.platforms.<platform>.phases.thinking.privateobject否——
activity-feedback.platforms.<platform>.phases.thinking.private.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.platforms.<platform>.phases.thinking.private.emojistring否—type=reaction 时使用的回应值。
activity-feedback.platforms.<platform>.phases.thinking.private.messagestring否—type=message 时使用的状态文本。
activity-feedback.platforms.<platform>.phases.thinking.private.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.platforms.<platform>.phases.thinking.private.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.platforms.<platform>.phases.thinking.private.platformConfigobject否—平台特定选项。
activity-feedback.platforms.<platform>.phases.thinking.groupobject否——
activity-feedback.platforms.<platform>.phases.thinking.group.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.platforms.<platform>.phases.thinking.group.emojistring否—type=reaction 时使用的回应值。
activity-feedback.platforms.<platform>.phases.thinking.group.messagestring否—type=message 时使用的状态文本。
activity-feedback.platforms.<platform>.phases.thinking.group.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.platforms.<platform>.phases.thinking.group.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.platforms.<platform>.phases.thinking.group.platformConfigobject否—平台特定选项。
activity-feedback.platforms.<platform>.phases.thinking.channelobject否——
activity-feedback.platforms.<platform>.phases.thinking.channel.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.platforms.<platform>.phases.thinking.channel.emojistring否—type=reaction 时使用的回应值。
activity-feedback.platforms.<platform>.phases.thinking.channel.messagestring否—type=message 时使用的状态文本。
activity-feedback.platforms.<platform>.phases.thinking.channel.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.platforms.<platform>.phases.thinking.channel.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.platforms.<platform>.phases.thinking.channel.platformConfigobject否—平台特定选项。
activity-feedback.platforms.<platform>.phases.schedule_startobject否——
activity-feedback.platforms.<platform>.phases.schedule_start.privateobject否——
activity-feedback.platforms.<platform>.phases.schedule_start.private.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.platforms.<platform>.phases.schedule_start.private.emojistring否—type=reaction 时使用的回应值。
activity-feedback.platforms.<platform>.phases.schedule_start.private.messagestring否—type=message 时使用的状态文本。
activity-feedback.platforms.<platform>.phases.schedule_start.private.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.platforms.<platform>.phases.schedule_start.private.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.platforms.<platform>.phases.schedule_start.private.platformConfigobject否—平台特定选项。
activity-feedback.platforms.<platform>.phases.schedule_start.groupobject否——
activity-feedback.platforms.<platform>.phases.schedule_start.group.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.platforms.<platform>.phases.schedule_start.group.emojistring否—type=reaction 时使用的回应值。
activity-feedback.platforms.<platform>.phases.schedule_start.group.messagestring否—type=message 时使用的状态文本。
activity-feedback.platforms.<platform>.phases.schedule_start.group.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.platforms.<platform>.phases.schedule_start.group.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.platforms.<platform>.phases.schedule_start.group.platformConfigobject否—平台特定选项。
activity-feedback.platforms.<platform>.phases.schedule_start.channelobject否——
activity-feedback.platforms.<platform>.phases.schedule_start.channel.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.platforms.<platform>.phases.schedule_start.channel.emojistring否—type=reaction 时使用的回应值。
activity-feedback.platforms.<platform>.phases.schedule_start.channel.messagestring否—type=message 时使用的状态文本。
activity-feedback.platforms.<platform>.phases.schedule_start.channel.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.platforms.<platform>.phases.schedule_start.channel.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.platforms.<platform>.phases.schedule_start.channel.platformConfigobject否—平台特定选项。
activity-feedback.platforms.<platform>.phases.schedule_finishobject否——
activity-feedback.platforms.<platform>.phases.schedule_finish.privateobject否——
activity-feedback.platforms.<platform>.phases.schedule_finish.private.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.platforms.<platform>.phases.schedule_finish.private.emojistring否—type=reaction 时使用的回应值。
activity-feedback.platforms.<platform>.phases.schedule_finish.private.messagestring否—type=message 时使用的状态文本。
activity-feedback.platforms.<platform>.phases.schedule_finish.private.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.platforms.<platform>.phases.schedule_finish.private.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.platforms.<platform>.phases.schedule_finish.private.platformConfigobject否—平台特定选项。
activity-feedback.platforms.<platform>.phases.schedule_finish.groupobject否——
activity-feedback.platforms.<platform>.phases.schedule_finish.group.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.platforms.<platform>.phases.schedule_finish.group.emojistring否—type=reaction 时使用的回应值。
activity-feedback.platforms.<platform>.phases.schedule_finish.group.messagestring否—type=message 时使用的状态文本。
activity-feedback.platforms.<platform>.phases.schedule_finish.group.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.platforms.<platform>.phases.schedule_finish.group.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.platforms.<platform>.phases.schedule_finish.group.platformConfigobject否—平台特定选项。
activity-feedback.platforms.<platform>.phases.schedule_finish.channelobject否——
activity-feedback.platforms.<platform>.phases.schedule_finish.channel.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.platforms.<platform>.phases.schedule_finish.channel.emojistring否—type=reaction 时使用的回应值。
activity-feedback.platforms.<platform>.phases.schedule_finish.channel.messagestring否—type=message 时使用的状态文本。
activity-feedback.platforms.<platform>.phases.schedule_finish.channel.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.platforms.<platform>.phases.schedule_finish.channel.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.platforms.<platform>.phases.schedule_finish.channel.platformConfigobject否—平台特定选项。
activity-feedback.platforms.<platform>.phases.schedule_errorobject否——
activity-feedback.platforms.<platform>.phases.schedule_error.privateobject否——
activity-feedback.platforms.<platform>.phases.schedule_error.private.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.platforms.<platform>.phases.schedule_error.private.emojistring否—type=reaction 时使用的回应值。
activity-feedback.platforms.<platform>.phases.schedule_error.private.messagestring否—type=message 时使用的状态文本。
activity-feedback.platforms.<platform>.phases.schedule_error.private.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.platforms.<platform>.phases.schedule_error.private.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.platforms.<platform>.phases.schedule_error.private.platformConfigobject否—平台特定选项。
activity-feedback.platforms.<platform>.phases.schedule_error.groupobject否——
activity-feedback.platforms.<platform>.phases.schedule_error.group.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.platforms.<platform>.phases.schedule_error.group.emojistring否—type=reaction 时使用的回应值。
activity-feedback.platforms.<platform>.phases.schedule_error.group.messagestring否—type=message 时使用的状态文本。
activity-feedback.platforms.<platform>.phases.schedule_error.group.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.platforms.<platform>.phases.schedule_error.group.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.platforms.<platform>.phases.schedule_error.group.platformConfigobject否—平台特定选项。
activity-feedback.platforms.<platform>.phases.schedule_error.channelobject否——
activity-feedback.platforms.<platform>.phases.schedule_error.channel.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.platforms.<platform>.phases.schedule_error.channel.emojistring否—type=reaction 时使用的回应值。
activity-feedback.platforms.<platform>.phases.schedule_error.channel.messagestring否—type=message 时使用的状态文本。
activity-feedback.platforms.<platform>.phases.schedule_error.channel.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.platforms.<platform>.phases.schedule_error.channel.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.platforms.<platform>.phases.schedule_error.channel.platformConfigobject否—平台特定选项。
activity-feedback.endpointsobject否—按 platform:endpointKey 覆盖;值的结构与 defaults 相同。
activity-feedback.endpoints.<platform:endpointKey>.enabledboolean否true是否启用当前策略层。
activity-feedback.endpoints.<platform:endpointKey>.phasesobject否—按生命周期 phase 配置反馈策略。
activity-feedback.endpoints.<platform:endpointKey>.phases.queuedobject否——
activity-feedback.endpoints.<platform:endpointKey>.phases.queued.privateobject否——
activity-feedback.endpoints.<platform:endpointKey>.phases.queued.private.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.endpoints.<platform:endpointKey>.phases.queued.private.emojistring否—type=reaction 时使用的回应值。
activity-feedback.endpoints.<platform:endpointKey>.phases.queued.private.messagestring否—type=message 时使用的状态文本。
activity-feedback.endpoints.<platform:endpointKey>.phases.queued.private.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.endpoints.<platform:endpointKey>.phases.queued.private.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.endpoints.<platform:endpointKey>.phases.queued.private.platformConfigobject否—平台特定选项。
activity-feedback.endpoints.<platform:endpointKey>.phases.queued.groupobject否——
activity-feedback.endpoints.<platform:endpointKey>.phases.queued.group.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.endpoints.<platform:endpointKey>.phases.queued.group.emojistring否—type=reaction 时使用的回应值。
activity-feedback.endpoints.<platform:endpointKey>.phases.queued.group.messagestring否—type=message 时使用的状态文本。
activity-feedback.endpoints.<platform:endpointKey>.phases.queued.group.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.endpoints.<platform:endpointKey>.phases.queued.group.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.endpoints.<platform:endpointKey>.phases.queued.group.platformConfigobject否—平台特定选项。
activity-feedback.endpoints.<platform:endpointKey>.phases.queued.channelobject否——
activity-feedback.endpoints.<platform:endpointKey>.phases.queued.channel.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.endpoints.<platform:endpointKey>.phases.queued.channel.emojistring否—type=reaction 时使用的回应值。
activity-feedback.endpoints.<platform:endpointKey>.phases.queued.channel.messagestring否—type=message 时使用的状态文本。
activity-feedback.endpoints.<platform:endpointKey>.phases.queued.channel.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.endpoints.<platform:endpointKey>.phases.queued.channel.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.endpoints.<platform:endpointKey>.phases.queued.channel.platformConfigobject否—平台特定选项。
activity-feedback.endpoints.<platform:endpointKey>.phases.activeobject否——
activity-feedback.endpoints.<platform:endpointKey>.phases.active.privateobject否——
activity-feedback.endpoints.<platform:endpointKey>.phases.active.private.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.endpoints.<platform:endpointKey>.phases.active.private.emojistring否—type=reaction 时使用的回应值。
activity-feedback.endpoints.<platform:endpointKey>.phases.active.private.messagestring否—type=message 时使用的状态文本。
activity-feedback.endpoints.<platform:endpointKey>.phases.active.private.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.endpoints.<platform:endpointKey>.phases.active.private.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.endpoints.<platform:endpointKey>.phases.active.private.platformConfigobject否—平台特定选项。
activity-feedback.endpoints.<platform:endpointKey>.phases.active.groupobject否——
activity-feedback.endpoints.<platform:endpointKey>.phases.active.group.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.endpoints.<platform:endpointKey>.phases.active.group.emojistring否—type=reaction 时使用的回应值。
activity-feedback.endpoints.<platform:endpointKey>.phases.active.group.messagestring否—type=message 时使用的状态文本。
activity-feedback.endpoints.<platform:endpointKey>.phases.active.group.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.endpoints.<platform:endpointKey>.phases.active.group.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.endpoints.<platform:endpointKey>.phases.active.group.platformConfigobject否—平台特定选项。
activity-feedback.endpoints.<platform:endpointKey>.phases.active.channelobject否——
activity-feedback.endpoints.<platform:endpointKey>.phases.active.channel.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.endpoints.<platform:endpointKey>.phases.active.channel.emojistring否—type=reaction 时使用的回应值。
activity-feedback.endpoints.<platform:endpointKey>.phases.active.channel.messagestring否—type=message 时使用的状态文本。
activity-feedback.endpoints.<platform:endpointKey>.phases.active.channel.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.endpoints.<platform:endpointKey>.phases.active.channel.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.endpoints.<platform:endpointKey>.phases.active.channel.platformConfigobject否—平台特定选项。
activity-feedback.endpoints.<platform:endpointKey>.phases.thinkingobject否——
activity-feedback.endpoints.<platform:endpointKey>.phases.thinking.privateobject否——
activity-feedback.endpoints.<platform:endpointKey>.phases.thinking.private.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.endpoints.<platform:endpointKey>.phases.thinking.private.emojistring否—type=reaction 时使用的回应值。
activity-feedback.endpoints.<platform:endpointKey>.phases.thinking.private.messagestring否—type=message 时使用的状态文本。
activity-feedback.endpoints.<platform:endpointKey>.phases.thinking.private.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.endpoints.<platform:endpointKey>.phases.thinking.private.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.endpoints.<platform:endpointKey>.phases.thinking.private.platformConfigobject否—平台特定选项。
activity-feedback.endpoints.<platform:endpointKey>.phases.thinking.groupobject否——
activity-feedback.endpoints.<platform:endpointKey>.phases.thinking.group.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.endpoints.<platform:endpointKey>.phases.thinking.group.emojistring否—type=reaction 时使用的回应值。
activity-feedback.endpoints.<platform:endpointKey>.phases.thinking.group.messagestring否—type=message 时使用的状态文本。
activity-feedback.endpoints.<platform:endpointKey>.phases.thinking.group.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.endpoints.<platform:endpointKey>.phases.thinking.group.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.endpoints.<platform:endpointKey>.phases.thinking.group.platformConfigobject否—平台特定选项。
activity-feedback.endpoints.<platform:endpointKey>.phases.thinking.channelobject否——
activity-feedback.endpoints.<platform:endpointKey>.phases.thinking.channel.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.endpoints.<platform:endpointKey>.phases.thinking.channel.emojistring否—type=reaction 时使用的回应值。
activity-feedback.endpoints.<platform:endpointKey>.phases.thinking.channel.messagestring否—type=message 时使用的状态文本。
activity-feedback.endpoints.<platform:endpointKey>.phases.thinking.channel.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.endpoints.<platform:endpointKey>.phases.thinking.channel.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.endpoints.<platform:endpointKey>.phases.thinking.channel.platformConfigobject否—平台特定选项。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_startobject否——
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_start.privateobject否——
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_start.private.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_start.private.emojistring否—type=reaction 时使用的回应值。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_start.private.messagestring否—type=message 时使用的状态文本。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_start.private.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_start.private.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_start.private.platformConfigobject否—平台特定选项。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_start.groupobject否——
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_start.group.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_start.group.emojistring否—type=reaction 时使用的回应值。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_start.group.messagestring否—type=message 时使用的状态文本。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_start.group.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_start.group.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_start.group.platformConfigobject否—平台特定选项。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_start.channelobject否——
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_start.channel.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_start.channel.emojistring否—type=reaction 时使用的回应值。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_start.channel.messagestring否—type=message 时使用的状态文本。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_start.channel.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_start.channel.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_start.channel.platformConfigobject否—平台特定选项。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_finishobject否——
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_finish.privateobject否——
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_finish.private.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_finish.private.emojistring否—type=reaction 时使用的回应值。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_finish.private.messagestring否—type=message 时使用的状态文本。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_finish.private.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_finish.private.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_finish.private.platformConfigobject否—平台特定选项。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_finish.groupobject否——
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_finish.group.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_finish.group.emojistring否—type=reaction 时使用的回应值。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_finish.group.messagestring否—type=message 时使用的状态文本。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_finish.group.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_finish.group.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_finish.group.platformConfigobject否—平台特定选项。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_finish.channelobject否——
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_finish.channel.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_finish.channel.emojistring否—type=reaction 时使用的回应值。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_finish.channel.messagestring否—type=message 时使用的状态文本。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_finish.channel.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_finish.channel.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_finish.channel.platformConfigobject否—平台特定选项。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_errorobject否——
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_error.privateobject否——
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_error.private.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_error.private.emojistring否—type=reaction 时使用的回应值。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_error.private.messagestring否—type=message 时使用的状态文本。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_error.private.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_error.private.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_error.private.platformConfigobject否—平台特定选项。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_error.groupobject否——
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_error.group.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_error.group.emojistring否—type=reaction 时使用的回应值。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_error.group.messagestring否—type=message 时使用的状态文本。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_error.group.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_error.group.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_error.group.platformConfigobject否—平台特定选项。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_error.channelobject否——
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_error.channel.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_error.channel.emojistring否—type=reaction 时使用的回应值。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_error.channel.messagestring否—type=message 时使用的状态文本。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_error.channel.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_error.channel.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.endpoints.<platform:endpointKey>.phases.schedule_error.channel.platformConfigobject否—平台特定选项。
activity-feedback.scheduleobject否—仅用于 Schedule 的开始、完成与失败反馈。
activity-feedback.schedule.phasesobject否——
activity-feedback.schedule.phases.startobject否——
activity-feedback.schedule.phases.start.privateobject否——
activity-feedback.schedule.phases.start.private.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.schedule.phases.start.private.emojistring否—type=reaction 时使用的回应值。
activity-feedback.schedule.phases.start.private.messagestring否—type=message 时使用的状态文本。
activity-feedback.schedule.phases.start.private.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.schedule.phases.start.private.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.schedule.phases.start.private.platformConfigobject否—平台特定选项。
activity-feedback.schedule.phases.start.groupobject否——
activity-feedback.schedule.phases.start.group.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.schedule.phases.start.group.emojistring否—type=reaction 时使用的回应值。
activity-feedback.schedule.phases.start.group.messagestring否—type=message 时使用的状态文本。
activity-feedback.schedule.phases.start.group.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.schedule.phases.start.group.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.schedule.phases.start.group.platformConfigobject否—平台特定选项。
activity-feedback.schedule.phases.start.channelobject否——
activity-feedback.schedule.phases.start.channel.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.schedule.phases.start.channel.emojistring否—type=reaction 时使用的回应值。
activity-feedback.schedule.phases.start.channel.messagestring否—type=message 时使用的状态文本。
activity-feedback.schedule.phases.start.channel.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.schedule.phases.start.channel.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.schedule.phases.start.channel.platformConfigobject否—平台特定选项。
activity-feedback.schedule.phases.finishobject否——
activity-feedback.schedule.phases.finish.privateobject否——
activity-feedback.schedule.phases.finish.private.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.schedule.phases.finish.private.emojistring否—type=reaction 时使用的回应值。
activity-feedback.schedule.phases.finish.private.messagestring否—type=message 时使用的状态文本。
activity-feedback.schedule.phases.finish.private.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.schedule.phases.finish.private.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.schedule.phases.finish.private.platformConfigobject否—平台特定选项。
activity-feedback.schedule.phases.finish.groupobject否——
activity-feedback.schedule.phases.finish.group.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.schedule.phases.finish.group.emojistring否—type=reaction 时使用的回应值。
activity-feedback.schedule.phases.finish.group.messagestring否—type=message 时使用的状态文本。
activity-feedback.schedule.phases.finish.group.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.schedule.phases.finish.group.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.schedule.phases.finish.group.platformConfigobject否—平台特定选项。
activity-feedback.schedule.phases.finish.channelobject否——
activity-feedback.schedule.phases.finish.channel.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.schedule.phases.finish.channel.emojistring否—type=reaction 时使用的回应值。
activity-feedback.schedule.phases.finish.channel.messagestring否—type=message 时使用的状态文本。
activity-feedback.schedule.phases.finish.channel.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.schedule.phases.finish.channel.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.schedule.phases.finish.channel.platformConfigobject否—平台特定选项。
activity-feedback.schedule.phases.errorobject否——
activity-feedback.schedule.phases.error.privateobject否——
activity-feedback.schedule.phases.error.private.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.schedule.phases.error.private.emojistring否—type=reaction 时使用的回应值。
activity-feedback.schedule.phases.error.private.messagestring否—type=message 时使用的状态文本。
activity-feedback.schedule.phases.error.private.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.schedule.phases.error.private.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.schedule.phases.error.private.platformConfigobject否—平台特定选项。
activity-feedback.schedule.phases.error.groupobject否——
activity-feedback.schedule.phases.error.group.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.schedule.phases.error.group.emojistring否—type=reaction 时使用的回应值。
activity-feedback.schedule.phases.error.group.messagestring否—type=message 时使用的状态文本。
activity-feedback.schedule.phases.error.group.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.schedule.phases.error.group.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.schedule.phases.error.group.platformConfigobject否—平台特定选项。
activity-feedback.schedule.phases.error.channelobject否——
activity-feedback.schedule.phases.error.channel.typestring: "reaction", "message", "typing", "none"否—该 phase 的呈现方式。
activity-feedback.schedule.phases.error.channel.emojistring否—type=reaction 时使用的回应值。
activity-feedback.schedule.phases.error.channel.messagestring否—type=message 时使用的状态文本。
activity-feedback.schedule.phases.error.channel.autoRemoveboolean否truephase 停止后是否自动移除反馈。
activity-feedback.schedule.phases.error.channel.removeDelaynumber否—自动移除前等待的毫秒数;负值会在运行时归一化为 0。
activity-feedback.schedule.phases.error.channel.platformConfigobject否—平台特定选项。

typesafe ​

plugins/services/typesafe/schema.json

路径类型必填默认值说明
typesafe.enabledboolean否true启用该决策服务。
typesafe.apiKeystring否—通过环境变量 TYPESAFE_API_KEY 引用密钥。
typesafe.modelstring否"jev-latest"模型名称;校准后的策略应固定模型版本。
typesafe.baseUrlstring否"https://api.typesafe.ai"API 根地址,不包含凭据、查询或片段。
typesafe.timeoutMsinteger否10000包含全部请求与重试等待的总超时。
typesafe.maxRetriesinteger否2首次请求后的最大重试次数。

60s ​

plugins/utils/60s/schema.json

路径类型必填默认值说明
60s.apiBasestring否"https://60s.viki.moe"60s API base URL

answers ​

plugins/utils/answers/schema.json

路径类型必填默认值说明
answers.dailyStableboolean否false同一用户同一天问同一个问题时,答案之书给出相同答案
answers.timezonestring否"Asia/Shanghai"dailyStable 判断「同一天」所用的 IANA 时区
answers.quizTimeoutSecondsnumber否120出题后等待作答的秒数,超时题目作废
answers.enableDrivingQuizboolean否true启用「科目一」交规小测(原创题面,仅供娱乐参考)

bilibili ​

plugins/utils/bilibili/schema.json

路径类型必填默认值说明
bilibili.pollCronstring否"0 * * * * *"轮询频率(6 段 Cron,默认每 60 秒) / Poll schedule (6-field cron, default every 60s)
bilibili.jitterMsnumber否15000每轮轮询前的随机延迟上限(毫秒) / Max random delay before each poll (ms)
bilibili.requestGapMsnumber否1500同一轮内相邻动态请求的间隔(毫秒) / Gap between dynamic requests within one poll (ms)
bilibili.maxBackoffMinutesnumber否30接口失败或风控时指数退避的上限(分钟) / Upper bound of exponential backoff (minutes)
bilibili.maxPerChannelnumber否20每个会话最多订阅的 UP 主数量 / Max UP subscriptions per conversation
bilibili.timeoutnumber否10000单次 HTTP 请求超时(毫秒) / HTTP timeout (ms)
bilibili.liveboolean否true是否轮询开播状态 / Poll live status
bilibili.dynamicboolean否true是否轮询 UP 主动态 / Poll UP dynamics
bilibili.cookiestring否""可选的 B 站 Cookie(如 SESSDATA=...),风控严格时使用,请写成 ${BILIBILI_COOKIE} / Optional cookie, reference it as $

calendar ​

plugins/utils/calendar/schema.json

路径类型必填默认值说明
calendar.provider"none" | "caldav" | "google" | "microsoft"否"none"日历后端;none 时工具返回未启用提示
calendar.timezonestring否"Asia/Manila"解释无偏移时间与展示用的 IANA 时区
calendar.work_day_startstring否"09:00"—
calendar.work_day_endstring否"18:00"—
calendar.oauth_redirect_base_urlstring否""聊天授权回调的外部基础地址(如 https://bot.example.com);留空时使用 zhin HTTP Host 的本机地址
calendar.oauth_callback_pathstring否"/calendar/oauth/callback"聊天授权回调路由,挂在 zhin HTTP Host 上;反向代理/隧道只转发部分路径时可调整
calendar.caldavobject否——
calendar.caldav.enabledboolean否false—
calendar.caldav.calendar_urlstring否""日历 collection URL
calendar.caldav.usernamestring否""—
calendar.caldav.passwordstring否""—
calendar.googleobject否——
calendar.google.enabledboolean否false—
calendar.google.client_idstring否""$
calendar.google.client_secretstring否""$
calendar.google.refresh_tokenstring否""${GOOGLE_CALENDAR_REFRESH_TOKEN};用 auth google 获取
calendar.google.calendar_idstring否"primary"日历 ID,默认 primary;可换成其它日历的 id
calendar.google.token_filestring否""可选:持久化轮换后的 refresh_token 的 JSON 路径(如 data/calendar-google-token.json)
calendar.microsoftobject否——
calendar.microsoft.enabledboolean否false—
calendar.microsoft.client_idstring否""$
calendar.microsoft.client_secretstring否""可选;公共客户端可留空。$
calendar.microsoft.refresh_tokenstring否""${MS_GRAPH_REFRESH_TOKEN};用 auth microsoft 获取
calendar.microsoft.tenantstring否"common"Azure tenant,默认 common
calendar.microsoft.calendar_idstring否""留空或 primary/me = 默认日历;否则为 Graph calendar id
calendar.microsoft.token_filestring否""可选:持久化轮换后的 refresh_token 的 JSON 路径(如 data/calendar-ms-token.json)

code-runner ​

plugins/utils/code-runner/schema.json

该 Schema 没有声明字段。

content-moderation ​

plugins/utils/content-moderation/schema.json

路径类型必填默认值说明
content-moderation.groupModerationarray<object>否[]自动广告/辱骂审核的精确范围;未配置时关闭。需要 AI、原子持久状态和适配器群管支持。
content-moderation.groupModeration[].adapterstring是——
content-moderation.groupModeration[].endpointstring是——
content-moderation.groupModeration[].accountstring是——
content-moderation.groupModeration[].groupstring是——
content-moderation.enabledboolean否true总开关
content-moderation.onErrorstring: "open", "closed"否"open"审查源失败时的全局默认策略:open=视为通过,closed=视为 critical
content-moderation.maskCharstring否"*"文本打码字符
content-moderation.replyTemplatestring否"消息含不当内容,已拦截。"reply 动作时的提示文案
content-moderation.mastersarray<string>否[]额外视为 master 的 userId(兜底,与 endpoint master 合并)
content-moderation.inboundobject否——
content-moderation.inbound.enabledboolean否true—
content-moderation.inbound.bypassMastersboolean否truemaster 跳过入站审查
content-moderation.inbound.whitelistobject否——
content-moderation.inbound.whitelist.userIdsarray<string>否[]—
content-moderation.inbound.whitelist.conversationIdsarray<string>否[]—
content-moderation.outboundobject否——
content-moderation.outbound.enabledboolean否true—
content-moderation.outbound.bypassboolean否false为 true 时跳过出站审查
content-moderation.actionsobject否—severity → 动作(字符串或数组);缺省用偏严默认表
content-moderation.actions.passstring: "allow", "log", "reply", "redact", "drop", "recall" | array<string: "allow", "log", "reply", "redact", "drop", "recall">否——
content-moderation.actions.lowstring: "allow", "log", "reply", "redact", "drop", "recall" | array<string: "allow", "log", "reply", "redact", "drop", "recall">否——
content-moderation.actions.mediumstring: "allow", "log", "reply", "redact", "drop", "recall" | array<string: "allow", "log", "reply", "redact", "drop", "recall">否——
content-moderation.actions.highstring: "allow", "log", "reply", "redact", "drop", "recall" | array<string: "allow", "log", "reply", "redact", "drop", "recall">否——
content-moderation.actions.criticalstring: "allow", "log", "reply", "redact", "drop", "recall" | array<string: "allow", "log", "reply", "redact", "drop", "recall">否——
content-moderation.sourcesarray<object>否[]—
content-moderation.sources[].idstring是——
content-moderation.sources[].typestring: "local", "http"是——
content-moderation.sources[].enabledboolean否true—
content-moderation.sources[].onErrorstring: "open", "closed"否——
content-moderation.sources[].includeBuiltinboolean否true是否合并内置分级违禁词词库
content-moderation.sources[].wordsarray<string | object>否[]自定义词:字符串(用 defaultSeverity)或
content-moderation.sources[].wordFilesarray<string>否[]词库文件;行格式 word / severity:word / word|severity
content-moderation.sources[].defaultSeveritystring: "low", "medium", "high", "critical"否"high"未标注分级的自定义词默认 severity
content-moderation.sources[].severitystring: "low", "medium", "high", "critical"否"high"兼容旧字段,等同 defaultSeverity
content-moderation.sources[].urlstring否——
content-moderation.sources[].headersobject否——
content-moderation.sources[].timeoutMsnumber否5000—
content-moderation.sources[].forceUploadboolean否false强制下载图片后上传,不传 URL

earthquake ​

plugins/utils/earthquake/schema.json

路径类型必填默认值说明
earthquake.sourcesarray<string: "cenc", "usgs">否["cenc","usgs"]启用的数据源及优先顺序;合并同一地震时排在前面的数据源提供地点文字,某个数据源失败时由其余数据源兜底
earthquake.cencUrlsarray<string>否["https://api.wolfx.jp/cenc_eqlist.json","https://ceic.ac.cn/data/data.json"]CENC 地震目录地址,按顺序尝试(首个为主源,其余为备用镜像);仅支持 HTTPS,最多 5 个
earthquake.usgsFeedstring: "significant_hour", "significant_day", "4.5_hour", "4.5_day", "2.5_hour", "2.5_day", "1.0_hour", "1.0_day"否"2.5_day"USGS GeoJSON 汇总源名称(震级下限_时间范围)
earthquake.pollCronstring否"0 */2 * * * *"订阅轮询频率(6 段 Cron:秒 分 时 日 月 周)
earthquake.timezonestring否"Asia/Shanghai"显示发震时刻使用的 IANA 时区
earthquake.requestTimeoutMsnumber否10000单次 HTTP 请求超时(毫秒)
earthquake.maxRetriesnumber否2网络错误、超时、429 与 5xx 的重试次数(不含首次请求)
earthquake.retryBaseDelayMsnumber否1000指数退避的首次等待(毫秒),每次重试翻倍并加入随机抖动
earthquake.retryMaxDelayMsnumber否30000单次退避或 Retry-After 等待上限(毫秒);服务端要求更久时本轮放弃并冷却该数据源
earthquake.defaultMinMagnitudenumber否5订阅未指定震级时使用的最小震级
earthquake.queryMinMagnitudenumber否3「地震」查询未指定震级时使用的最小震级
earthquake.queryLimitnumber否5「地震」查询默认列出的条数
earthquake.maxEventAgeMinutesnumber否60只推送发震时间在此分钟数以内的地震,避免推送迟到或重放的旧事件
earthquake.pushLimitnumber否3每个会话在一个限流窗口内最多推送的消息数
earthquake.pushWindowMinutesnumber否10推送限流窗口长度(分钟)
earthquake.maxEventsPerMessagenumber否5单条推送消息最多列出的地震数,其余以数量概括
earthquake.maxSubscriptionsnumber否100本实例所有会话的订阅总数上限(每个会话最多一个订阅)

group-suite ​

plugins/utils/group-suite/schema.json

路径类型必填默认值说明
group-suite.keywordReplyboolean否false—
group-suite.basePointsMinnumber否10—
group-suite.basePointsMaxnumber否30—
group-suite.streakBonusnumber否5—
group-suite.streakCapnumber否50—
group-suite.rankSizenumber否10—
group-suite.teachMaxPerGroupnumber否200—
group-suite.teachCooldownMsnumber否3000—
group-suite.teachAllowRegexboolean否true—
group-suite.teachPageSizenumber否10—
group-suite.welcomeMessagestring否""Group welcome text. Empty disables; {name}/{id} refer to the joined member.
group-suite.welcomeConversationsarray<object>否—Exact welcome conversations. Omitted welcomes all groups; [] welcomes none. Missing parent/thread requires their absence; no wildcards.
group-suite.welcomeConversations[].endpointobject是——
group-suite.welcomeConversations[].endpoint.adapterstring是——
group-suite.welcomeConversations[].endpoint.idstring是——
group-suite.welcomeConversations[].kindstring: "group"是——
group-suite.welcomeConversations[].idstring是——
group-suite.welcomeConversations[].parentobject否——
group-suite.welcomeConversations[].parent.kindstring: "private", "group", "channel"是——
group-suite.welcomeConversations[].parent.idstring是——
group-suite.welcomeConversations[].threadIdstring否——
group-suite.ephemeralKeywordsboolean否falseExplicit volatile keywords. With false, automatic replies require Database Host at startup and keyword management requires its persistent state service when invoked.

ledger ​

plugins/utils/ledger/schema.json

路径类型必填默认值说明
ledger.timezonestring否"Asia/Shanghai"计算今日、本周(周一开始)、本月与日报日期所用的 IANA 时区
ledger.reportTimestring否"22:00"记账日报的发送时间(HH:MM,按 timezone);只发给用「记账日报 开启」订阅的用户
ledger.reportWhenEmptyboolean否false当天没有记账时是否仍发送日报

plugins/utils/link-poster/schema.json

该 Schema 没有声明字段。

lottery ​

plugins/utils/lottery/schema.json

路径类型必填默认值说明
lottery.pickCountnumber否5—
lottery.scheduleCronstring否"0 0 18 * * *"—
lottery.historyLimitnumber否500—
lottery.scheduleEnabledboolean否true—
lottery.backtestEnabledboolean否true—
lottery.backtestWindownumber否50—
lottery.backtestRandomTrialsnumber否64—
lottery.backtestMinHistorynumber否30—
lottery.backtestAdaptiveboolean否true—
lottery.weightPersistEnabledboolean否true—
lottery.weightHoldoutFallbackboolean否true—
lottery.gamesarray<string>否["kl8","ssq","dlt","fc3d","pl3","pl5"]—
lottery.pushTargetsarray<object>否[]OutboundHost push destinations for cron/publish reports
lottery.pushTargets[].adapterstring是——
lottery.pushTargets[].endpointIdstring否——
lottery.pushTargets[].channelTypestring否"private"—
lottery.pushTargets[].channelIdstring是——
lottery.kl8object否——
lottery.kl8.pickCountnumber否5—
lottery.kl8.recommendGroupsnumber否3—
lottery.kl8.groupStrategiesarray<string>否["balanced","hot","cold"]—

music ​

plugins/utils/music/schema.json

该 Schema 没有声明字段。

nettools ​

plugins/utils/nettools/schema.json

路径类型必填默认值说明
nettools.cooldownSecondsinteger否10Per-user cooldown in seconds, shared by all nettools commands and tools (0 disables)
nettools.requestTimeoutMsinteger否8000Per-attempt timeout for each external HTTP request, in milliseconds
nettools.maxRetriesinteger否2Retries for transient failures (network errors, timeouts, 429, 5xx) with exponential backoff and jitter
nettools.pingMaxNodesinteger否4Number of check-host.net probe nodes used by ping
nettools.pingPollIntervalMsinteger否2000Wait between ping result polls, in milliseconds
nettools.pingMaxPollsinteger否5Maximum number of ping result polls before reporting partial results
nettools.dohProvidersarray<string: "cloudflare", "alidns", "google">否["cloudflare","alidns","google"]DNS-over-HTTPS providers in fallback order
nettools.priceListLimitinteger否8Number of registrars shown in a domain price comparison

qrcode ​

plugins/utils/qrcode/schema.json

该 Schema 没有声明字段。

reminder ​

plugins/utils/reminder/schema.json

路径类型必填默认值说明
reminder.timezonestring否"UTC"解释 create 自然时间并显示提醒的 IANA 时区;ISO 绝对时间仍须显式 offset
reminder.maxTasksnumber否20每实例聊天个人提醒池的活跃任务上限;与管理员池独立,降低上限不删除既有任务
reminder.adminMaxTasksnumber否20每实例管理员提醒池的活跃任务上限(待执行、暂停或未确认);与聊天池独立,两池总量可达上限之和
reminder.maxTasksPerSendernumber否10同一发送者在同一会话的任务上限
reminder.batchSizenumber否5每次扫描最多投递的任务数
reminder.missedGraceSecondsnumber否15周期轮次超过此延迟后跳过;停机期间不补历史轮次

repeater ​

plugins/utils/repeater/schema.json

路径类型必填默认值说明
repeater.thresholdnumber否3触发复读的最少人数
repeater.cooldownnumber否30000同一群冷却时间 (ms)
repeater.maxLengthnumber否200消息长度上限

rss ​

plugins/utils/rss/schema.json

路径类型必填默认值说明
rss.pollCronstring否"0 */5 * * * *"轮询频率 (6 段 Cron 表达式)
rss.maxPerGroupnumber否30—
rss.maxItemsnumber否5—
rss.timeoutnumber否15000—

short-url ​

plugins/utils/short-url/schema.json

该 Schema 没有声明字段。