{
  "ai_group": {
    "name": "AI 配置",
    "agent_runner": {
      "description": "Agent 执行方式",
      "hint": "选择 AI 对话的执行器,默认为 AstrBot 内置 Agent 执行器,可使用 AstrBot 内的知识库、人格、工具调用功能。如果不打算接入 Dify 或 Coze 等第三方 Agent 执行器,不需要修改此节。",
      "provider_settings": {
        "enable": {
          "description": "启用",
          "hint": "AI 对话总开关"
        },
        "agent_runner_type": {
          "description": "执行器",
          "labels": [
            "内置 Agent",
            "Dify",
            "Coze",
            "阿里云百炼应用"
          ]
        },
        "coze_agent_runner_provider_id": {
          "description": "Coze Agent 执行器提供商 ID"
        },
        "dify_agent_runner_provider_id": {
          "description": "Dify Agent 执行器提供商 ID"
        },
        "dashscope_agent_runner_provider_id": {
          "description": "阿里云百炼应用 Agent 执行器提供商 ID"
        }
      }
    },
    "ai": {
      "description": "模型",
      "hint": "当使用非内置 Agent 执行器时,默认聊天模型和默认图片转述模型可能会无效,但某些插件会依赖此配置项来调用 AI 能力。",
      "provider_settings": {
        "default_provider_id": {
          "description": "默认聊天模型",
          "hint": "留空时使用第一个模型"
        },
        "default_image_caption_provider_id": {
          "description": "默认图片转述模型",
          "hint": "留空代表不使用,可用于非多模态模型"
        },
        "image_caption_prompt": {
          "description": "图片转述提示词"
        }
      },
      "provider_stt_settings": {
        "enable": {
          "description": "启用语音转文本",
          "hint": "STT 总开关"
        },
        "provider_id": {
          "description": "默认语音转文本模型",
          "hint": "用户也可使用 /provider 指令单独选择会话的 STT 模型。"
        }
      },
      "provider_tts_settings": {
        "enable": {
          "description": "启用文本转语音",
          "hint": "TTS 总开关"
        },
        "provider_id": {
          "description": "默认文本转语音模型"
        },
        "trigger_probability": {
          "description": "TTS 触发概率"
        }
      }
    },
    "persona": {
      "description": "人格",
      "provider_settings": {
        "default_personality": {
          "description": "默认采用的人格"
        }
      }
    },
    "knowledgebase": {
      "description": "知识库",
      "kb_names": {
        "description": "知识库列表",
        "hint": "支持多选"
      },
      "kb_fusion_top_k": {
        "description": "融合检索结果数",
        "hint": "多个知识库检索结果融合后的返回结果数量"
      },
      "kb_final_top_k": {
        "description": "最终返回结果数",
        "hint": "从知识库中检索到的结果数量,越大可能获得越多相关信息,但也可能引入噪音。建议根据实际需求调整"
      },
      "kb_agentic_mode": {
        "description": "Agentic 知识库检索",
        "hint": "启用后,知识库检索将作为 LLM Tool,由模型自主决定何时调用知识库进行查询。需要模型支持函数调用能力。"
      }
    },
    "websearch": {
      "description": "网页搜索",
      "provider_settings": {
        "web_search": {
          "description": "启用网页搜索"
        },
        "websearch_provider": {
          "description": "网页搜索提供商"
        },
        "websearch_tavily_key": {
          "description": "Tavily API Key",
          "hint": "可添加多个 Key 进行轮询。"
        },
        "websearch_baidu_app_builder_key": {
          "description": "百度千帆智能云 APP Builder API Key",
          "hint": "参考:https://console.bce.baidu.com/iam/#/iam/apikey/list"
        },
        "web_search_link": {
          "description": "显示来源引用"
        }
      }
    },
    "file_extract": {
      "description": "文档解析能力",
      "provider_settings": {
        "file_extract": {
          "enable": {
            "description": "启用文档解析能力"
          },
          "provider": {
            "description": "文档解析提供商"
          },
          "moonshotai_api_key": {
            "description": "Moonshot AI API Key"
          }
        }
      }
    },
    "sandbox": {
      "description": "Agent 沙箱环境(Beta)",
      "hint": "https://docs.astrbot.app/use/astrbot-agent-sandbox.html",
      "provider_settings": {
        "sandbox": {
          "enable": {
            "description": "启用沙箱环境",
            "hint": "启用后，Agent 可以使用沙箱环境中的工具和资源，如 Python 代码执行、Shell 等。"
          },
          "booter": {
            "description": "沙箱环境驱动器"
          },
          "shipyard_endpoint": {
            "description": "Shipyard API Endpoint",
            "hint": "Shipyard 服务的 API 访问地址。"
          },
          "shipyard_access_token": {
            "description": "Shipyard 访问令牌",
            "hint": "用于访问 Shipyard 服务的访问令牌。"
          },
          "shipyard_ttl": {
            "description": "Shipyard Ship 存活时间(秒)",
            "hint": "Shipyard 会话的生存时间（秒）。"
          },
          "shipyard_max_sessions": {
            "description": "Shipyard Ship 会话复用上限",
            "hint": "决定了一个实例承载的最大会话数量。"
          }
        }
      }
    },
    "skills": {
      "description": "Skills",
      "provider_settings": {
        "skills": {
          "runtime": {
            "description": "Skill Runtime",
            "hint": "选择 Skills 运行环境。使用 sandbox 前需启用沙箱；local 模式下 Agent 可通过 Shell 和 Python 功能完全访问运行环境，非管理员将被自动禁止使用以保证安全。"
          }
        }
      }
    },
    "truncate_and_compress": {
      "description": "上下文管理策略",
      "provider_settings": {
        "max_context_length": {
          "description": "最多携带对话轮数",
          "hint": "超出这个数量时丢弃最旧的部分，一轮聊天记为 1 条，-1 为不限制"
        },
        "dequeue_context_length": {
          "description": "丢弃对话轮数",
          "hint": "超出最多携带对话轮数时, 一次丢弃的聊天轮数"
        },
        "context_limit_reached_strategy": {
          "description": "超出模型上下文窗口时的处理方式",
          "labels": ["按对话轮数截断", "由 LLM 压缩上下文"],
          "hint": "当按对话轮数截断时，会根据上面\"丢弃对话轮数\"的配置丢弃最旧的 N 轮对话。当由 LLM 压缩上下文时，会使用指定的模型进行上下文压缩。"
        },
        "llm_compress_instruction": {
          "description": "上下文压缩提示词",
          "hint": "如果为空则使用默认提示词。"
        },
        "llm_compress_keep_recent": {
          "description": "压缩时保留最近对话轮数",
          "hint": "始终保留的最近 N 轮对话。"
        },
        "llm_compress_provider_id": {
          "description": "用于上下文压缩的模型提供商 ID",
          "hint": "留空时将降级为\"按对话轮数截断\"的策略。"
        }
      }
    },
    "others": {
      "description": "其他配置",
      "provider_settings": {
        "display_reasoning_text": {
          "description": "显示思考内容"
        },
        "llm_safety_mode": {
          "description": "健康模式",
          "hint": "引导模型输出健康、安全、积极的内容，避免有害或敏感话题。"
        },
        "safety_mode_strategy": {
          "description": "健康模式策略",
          "hint": "选择健康模式的实现方式。"
        },
        "identifier": {
          "description": "用户识别",
          "hint": "启用后,会在提示词前包含用户 ID 信息。"
        },
        "group_name_display": {
          "description": "显示群名称",
          "hint": "启用后,在支持的平台(OneBot v11)上会在提示词前包含群名称信息。"
        },
        "datetime_system_prompt": {
          "description": "现实世界时间感知",
          "hint": "启用后,会在系统提示词中附带当前时间信息。"
        },
        "show_tool_use_status": {
          "description": "输出函数调用状态"
        },
        "sanitize_context_by_modalities": {
          "description": "按模型能力清理历史上下文",
          "hint": "开启后，在每次请求 LLM 前会按当前模型提供商中所选择的模型能力删除对话中不支持的图片/工具调用结构（会改变模型看到的历史）"
        },
        "max_agent_step": {
          "description": "工具调用轮数上限"
        },
        "tool_call_timeout": {
          "description": "工具调用超时时间(秒)"
        },
        "tool_schema_mode": {
          "description": "工具调用模式",
          "hint": "skills-like 先下发工具名称与描述，再下发参数；full 一次性下发完整参数。",
          "labels": [
            "Skills-like（两阶段）",
            "Full（完整参数）"
          ]
        },
        "streaming_response": {
          "description": "流式输出"
        },
        "unsupported_streaming_strategy": {
          "description": "不支持流式回复的平台",
          "hint": "选择在不支持流式回复的平台上的处理方式。实时分段回复会在系统接收流式响应检测到诸如标点符号等分段点时,立即发送当前已接收的内容",
          "labels": [
            "实时分段回复",
            "关闭流式回复"
          ]
        },

        "wake_prefix": {
          "description": "LLM 聊天额外唤醒前缀",
          "hint": "如果唤醒前缀为 /, 额外聊天唤醒前缀为 chat,则需要 /chat 才会触发 LLM 请求"
        },
        "prompt_prefix": {
          "description": "用户提示词",
          "hint": "可使用 {{prompt}} 作为用户输入的占位符。如果不输入占位符则代表添加在用户输入的前面。"
        },
        "reachability_check": {
          "description": "提供商可达性检测",
          "hint": "/provider 命令列出模型时并发检测连通性。开启后会主动调用模型测试连通性,可能产生额外 token 消耗。"
        }
      },
      "provider_tts_settings": {
        "dual_output": {
          "description": "开启 TTS 时同时输出语音和文字内容"
        }
      }
    }
  },
  "platform_group": {
    "name": "平台配置",
    "general": {
      "description": "基本",
      "admins_id": {
        "description": "管理员 ID"
      },
      "platform_settings": {
        "unique_session": {
          "description": "隔离会话",
          "hint": "启用后,群成员的上下文独立。"
        },
        "friend_message_needs_wake_prefix": {
          "description": "私聊消息需要唤醒词"
        },
        "reply_prefix": {
          "description": "回复时的文本前缀"
        },
        "reply_with_mention": {
          "description": "回复时 @ 发送人"
        },
        "reply_with_quote": {
          "description": "回复时引用发送人消息"
        },
        "forward_threshold": {
          "description": "转发消息的字数阈值"
        },
        "empty_mention_waiting": {
          "description": "只 @ 机器人是否触发等待"
        }
      },
      "wake_prefix": {
        "description": "唤醒词"
      },
      "disable_builtin_commands": {
        "description": "禁用自带指令",
        "hint": "禁用所有 AstrBot 自带指令,如 help, provider, model 等"
      }
    },
    "whitelist": {
      "description": "白名单",
      "platform_settings": {
        "enable_id_white_list": {
          "description": "启用白名单",
          "hint": "启用后,只有在白名单内的会话会被响应。"
        },
        "id_whitelist": {
          "description": "白名单 ID 列表",
          "hint": "使用 /sid 获取 ID。"
        },
        "id_whitelist_log": {
          "description": "输出日志",
          "hint": "启用后,当一条消息没通过白名单时,会输出 INFO 级别的日志。"
        },
        "wl_ignore_admin_on_group": {
          "description": "管理员群组消息无视 ID 白名单"
        },
        "wl_ignore_admin_on_friend": {
          "description": "管理员私聊消息无视 ID 白名单"
        }
      }
    },
    "rate_limit": {
      "description": "速率限制",
      "platform_settings": {
        "rate_limit": {
          "time": {
            "description": "消息速率限制时间(秒)"
          },
          "count": {
            "description": "消息速率限制计数"
          },
          "strategy": {
            "description": "速率限制策略"
          }
        }
      }
    },
    "content_safety": {
      "description": "内容安全",
      "content_safety": {
        "also_use_in_response": {
          "description": "同时检查模型的响应内容"
        },
        "baidu_aip": {
          "enable": {
            "description": "使用百度内容安全审核",
            "hint": "您需要手动安装 baidu-aip 库。"
          },
          "app_id": {
            "description": "App ID"
          },
          "api_key": {
            "description": "API Key"
          },
          "secret_key": {
            "description": "Secret Key"
          }
        },
        "internal_keywords": {
          "enable": {
            "description": "关键词检查"
          },
          "extra_keywords": {
            "description": "额外关键词",
            "hint": "额外的屏蔽关键词列表,支持正则表达式。"
          }
        }
      }
    },
    "t2i": {
      "description": "文本转图像",
      "t2i": {
        "description": "文本转图像输出"
      },
      "t2i_word_threshold": {
        "description": "文本转图像字数阈值"
      }
    },
    "others": {
      "description": "其他配置",
      "platform_settings": {
        "ignore_bot_self_message": {
          "description": "是否忽略机器人自身的消息"
        },
        "ignore_at_all": {
          "description": "是否忽略 @ 全体成员事件"
        },
        "no_permission_reply": {
          "description": "用户权限不足时是否回复"
        }
      },
      "platform_specific": {
        "lark": {
          "pre_ack_emoji": {
            "enable": {
              "description": "[飞书] 启用预回应表情"
            },
            "emojis": {
              "description": "表情列表(飞书表情枚举名)",
              "hint": "表情枚举名参考:https://open.feishu.cn/document/server-docs/im-v1/message-reaction/emojis-introduce"
            }
          }
        },
        "telegram": {
          "pre_ack_emoji": {
            "enable": {
              "description": "[Telegram] 启用预回应表情"
            },
            "emojis": {
              "description": "表情列表(Unicode)",
              "hint": "Telegram 仅支持固定反应集合,参考:https://gist.github.com/Soulter/3f22c8e5f9c7e152e967e8bc28c97fc9"
            }
          }
        }
      }
    }
  },
  "plugin_group": {
    "name": "插件配置",
    "plugin": {
      "description": "插件",
      "plugin_set": {
        "description": "可用插件",
        "hint": "默认启用全部未被禁用的插件。若插件在插件页面被禁用,则此处的选择不会生效。"
      }
    }
  },
  "ext_group": {
    "name": "扩展功能",
    "segmented_reply": {
      "description": "分段回复",
      "platform_settings": {
        "segmented_reply": {
          "enable": {
            "description": "启用分段回复"
          },
          "only_llm_result": {
            "description": "仅对 LLM 结果分段"
          },
          "interval_method": {
            "description": "间隔方法",
            "hint": "random 为随机时间，log 为根据消息长度计算，$y=log_<log_base>(x)$，x为字数，y的单位为秒。"
          },
          "interval": {
            "description": "随机间隔时间",
            "hint": "格式:最小值,最大值(如:1.5,3.5)"
          },
          "log_base": {
            "description": "对数底数",
            "hint": "对数间隔的底数,默认为 2.6。取值范围为 1.0-10.0。"
          },
          "words_count_threshold": {
            "description": "分段回复字数阈值",
            "hint": "分段回复的字数上限。只有字数小于此值的消息才会被分段，超过此值的长消息将直接发送（不分段），默认为 150。"
          },
          "split_mode": {
            "description": "分段模式",
            "hint": "用于分隔一段消息。默认情况下会根据句号、问号等标点符号分隔。如填写 `[。？！]` 将移除所有的句号、问号、感叹号。re.findall(r'<regex>', text)",
            "labels": [
              "正则表达式",
              "分段词列表"
            ]
          },
          "regex": {
            "description": "分段正则表达式"
          },
          "split_words": {
            "description": "分段词列表",
            "hint": "检测到列表中的任意词时进行分段"
          },
          "content_cleanup_rule": {
            "description": "内容过滤正则表达式",
            "hint": "移除分段后内容中的指定内容。如填写 `[。?!]` 将移除所有的句号、问号、感叹号。"
          }
        }
      }
    },
    "ltm": {
      "description": "群聊上下文感知(原聊天记忆增强)",
      "provider_ltm_settings": {
        "group_icl_enable": {
          "description": "启用群聊上下文感知"
        },
        "group_message_max_cnt": {
          "description": "最大消息数量"
        },
        "image_caption": {
          "description": "自动理解图片",
          "hint": "需要设置群聊图片转述模型。"
        },
        "image_caption_provider_id": {
          "description": "群聊图片转述模型",
          "hint": "用于群聊上下文感知的图片理解，与默认图片转述模型分开配置。"
        },
        "active_reply": {
          "enable": {
            "description": "主动回复"
          },
          "method": {
            "description": "主动回复方法"
          },
          "possibility_reply": {
            "description": "回复概率",
            "hint": "0.0-1.0 之间的数值"
          },
          "whitelist": {
            "description": "主动回复白名单",
            "hint": "为空时不启用白名单过滤。使用 /sid 获取 ID。"
          }
        }
      }
    }
  },
  "system_group": {
    "name": "系统配置",
    "system": {
      "description": "系统配置",
      "t2i_strategy": {
        "description": "文本转图像策略",
        "hint": "文本转图像策略。`remote` 为使用远程基于 HTML 的渲染服务,`local` 为使用 PIL 本地渲染。当使用 local 时,将 ttf 字体命名为 'font.ttf' 放在 data/ 目录下可自定义字体。"
      },
      "t2i_endpoint": {
        "description": "文本转图像服务 API 地址",
        "hint": "为空时使用 AstrBot API 服务"
      },
      "t2i_template": {
        "description": "文本转图像自定义模版",
        "hint": "启用后可自定义 HTML 模板用于文转图渲染。"
      },
      "t2i_active_template": {
        "description": "当前应用的文转图渲染模板",
        "hint": "此处的值由文转图模板管理页面进行维护。"
      },
      "log_level": {
        "description": "控制台日志级别",
        "hint": "控制台输出日志的级别。"
      },
      "pip_install_arg": {
        "description": "pip 安装额外参数",
        "hint": "安装插件依赖时,会使用 Python 的 pip 工具。这里可以填写额外的参数,如 `--break-system-package` 等。"
      },
      "pypi_index_url": {
        "description": "PyPI 软件仓库地址",
        "hint": "安装 Python 依赖时请求的 PyPI 软件仓库地址。默认为 https://mirrors.aliyun.com/pypi/simple/"
      },
      "callback_api_base": {
        "description": "对外可达的回调接口地址",
        "hint": "外部服务可能会通过 AstrBot 生成的回调链接(如文件下载链接)访问 AstrBot 后端。由于 AstrBot 无法自动判断部署环境中对外可达的主机地址(host),因此需要通过此配置项显式指定外部服务如何访问 AstrBot 的地址。如 http://localhost:6185,https://example.com 等。"
      },
      "timezone": {
        "description": "时区",
        "hint": "时区设置。请填写 IANA 时区名称, 如 Asia/Shanghai, 为空时使用系统默认时区。所有时区请查看: https://data.iana.org/time-zones/tzdb-2021a/zone1970.tab"
      },
      "http_proxy": {
        "description": "HTTP 代理",
        "hint": "启用后,会以添加环境变量的方式设置代理。格式为 `http://ip:port`"
      },
      "no_proxy": {
        "description": "直连地址列表"
      }
    }
  },
  "help": {
    "documentation": "官方文档",
    "support": "加群询问",
    "helpText": "不了解配置？请见 {documentation} 或 {support}。",
    "helpPrefix": "不了解配置？请见",
    "helpMiddle": "或",
    "helpSuffix": "。"
  }
}
