Bi

配置总览

了解配置文件的组成、位置与各个开关的作用。

Markdown 原文

Bi 的配置不是一张大表,而是按职责拆成几个小文件,都放在启动目录的 .bi/ 下。下面是它们的对照:

文件 管什么
config.json 运行参数:端口、工作区、模型缺省、循环上限、各类阈值
llm.json 多服务商 / 多模型配置,以及每个提供商的密钥
permissions.json 工具权限规则与自动放行规则
intercept_rules.json 拦截规则(命中即拒绝)
bi.db SQLite 会话数据库(消息、工具调用、用量统计)
history.json 跨会话的明文对话历史日志
checkpoints/ 「退回到这一步」用的工作区影子 Git 仓库
skills/、plugins/ 技能与插件目录
logs/ 运行日志与网络活动记录

config.json 的关键字段

字段 默认 含义
base_url https://api.deepseek.com/v1 模型端点
model deepseek-chat 缺省模型
port 8080 本地服务端口
workspace 启动目录 智能体的工作区根
max_loops 200 单轮对话最大工具循环次数
max_sub_agents / max_sub_depth 5 / 2 子智能体数量与深度上限
turn_timeout 30(分钟) 单轮对话总时长上限
recent_turns_full 6 上下文打包时完整注入的最近轮数
tool_result_keep 4 工具循环内保留全文的工具结果条数
read_cache_enabled true 读文件结果缓存(mtime+size 校验)
network_log_enabled false 网络活动记录(默认关,隐私优先)
auto_search true 新对话默认开启智能搜索
disabled_tools — 关掉的工具 id 列表

两个需要留意的字段:

  • network_log_enabled 默认关闭。开启后每轮 LLM 调用与 exec 命令全文会以 JSONL 追加到 .bi/logs/network/,属于敏感数据,明确需要时才开。
  • link_schemes 是 Markdown 渲染时允许变成可点链接的协议白名单,默认只有 http、https、mailto。javascript: 这类可执行协议永不渲染成链接。

字段缺席的规则

config.json 里缺席的字段会回落到上表的默认值;显式写 0 / false 通常表示「关闭」并被尊重(少数字段如 recent_turns_full 的 0 没有意义,也会兜回默认)。编辑时拿不准就整字段删掉,让它回到默认,别猜。

版本与发布

模型服务商与密钥的配置独立成 llm.json,迁移自旧版 config.json 时会自动搬一次。密钥只发往你配置的端点,Bi 没有自己的服务器。详见模型提供商。

界面 vs 文件

设置界面改的就是上面这些文件,两者实时一致。想批量编辑或版本化配置时直接改文件即可,改完保存即可生效,无需重启。