配置总览
了解配置文件的组成、位置与各个开关的作用。
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 文件
设置界面改的就是上面这些文件,两者实时一致。想批量编辑或版本化配置时直接改文件即可,改完保存即可生效,无需重启。