BAI code 简介
BAI code 是一个基于命令行的 AI 编程工具,支持多模型切换、会话管理与上下文压缩。
平台支持
| 操作系统 | 架构 |
|---|---|
| macOS | x86_64、arm64(Apple Silicon) |
| Linux | x86_64 |
| Windows | x86_64(AMD64) |
系统要求
- Python 3.10 ~ 3.13
- macOS / Linux:需要
curl - Windows:需要 PowerShell 5.1+
安装方法
- macOS / Linux
- Windows
在终端中运行以下命令:
# 下载安装脚本
curl -fsSL https://raw.githubusercontent.com/BAI-labs/BAI-tools/refs/heads/main/scripts/baicode_install.sh -o baicode_install.sh
# 运行安装脚本
bash baicode_install.sh
安装过程会询问是否创建虚拟环境(.venv),输入 y 确认,或直接回车跳过。
在 PowerShell 中运行以下命令:
# 下载安装脚本
iwr -useb https://raw.githubusercontent.com/BAI-labs/BAI-tools/refs/heads/main/scripts/baicode_install.ps1 -OutFile baicode_install.ps1
# 运行安装脚本
.\baicode_install.ps1
安装过程会询问是否创建虚拟环境(.venv),输入 y 确认,或直接回车跳过。
提示
如果遇到执行策略限制,请先运行以下命令解除限制,然后重试:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
配置
BAI code 通过环境变量配置,支持从 .env 文件自动加载(向上查找至 $HOME)。
环境变量一览
| 变量名 | 默认值 | 必填 | 说明 |
|---|---|---|---|
BAI_API_KEY | — | 是 | API Key(兼容 OpenAI 协议的任意服务均使用此变量) |
BAI_MODEL | claude-sonnet-4.6 | 否 | 使用的模型名称 |
BAI_BASE_URL | https://api.b.ai/v1 | 否 | 自定义 API Base URL(接入第三方服务时使用,不填则用 OpenAI 默认端点) |
BAICODE_MAX_TOKENS | 4096 | 否 | 单次最大生成 Token 数 |
BAICODE_TEMPERATURE | 0 | 否 | 采样温度,0 为确定性输出 |
BAICODE_MAX_CONTEXT | 128000 | 否 | 上下文窗口大小(Token),超出后自动压缩 |
创建 .env 文件
在项目根目录创建 .env(程序启动时自动加载,不会覆盖已存在的系统环境变量):
BAI_API_KEY=sk-...
BAI_MODEL=claude-sonnet-4.6
# BAI_BASE_URL=https://api.b.ai/v1
# BAICODE_MAX_TOKENS=4096
# BAICODE_TEMPERATURE=0
# BAICODE_MAX_CONTEXT=128000
数据目录
BAI code 在用户主目录下写入以下文件,不需要手动创建,首次使用时自动生成:
| 路径 | 内容 | 说明 |
|---|---|---|
~/.baicode/sessions/ | session_<timestamp>.json | 保存的会话文件,每个文件包含完整对话历史与所用模型名 |
~/.baicode_history | 纯文本 | REPL 输入历史,支持上下箭头翻查历史命令 |
会话文件格式:
{
"id": "session_1712345678",
"model": "claude-sonnet-4.6",
"saved_at": "2026-04-10 12:00:00",
"messages": [...]
}
危险
数据目录由程序自动管理,请勿手动修改其中的 JSON 文件,以免导致会话恢复失败。
清理数据
# 删除所有会话
rm -rf ~/.baicode/sessions/
# 清空 REPL 历史
rm ~/.baicode_history
CLI 参考
基本用法
baicode [-h] [-m MODEL] [--base-url URL] [--api-key KEY] [-p PROMPT] [-r ID] [-v]
选项
| 选项 | 说明 |
|---|---|
-m, --model | 模型名称(默认:$BAICODE_MODEL 或 gpt-4o) |
--base-url | API Base URL(默认:$BAI_BASE_URL) |
--api-key | API Key(默认:$BAI_API_KEY) |
-p, --prompt | 一次性 Prompt,非交互模式运行后退出 |
-r, --resume | 恢复指定 ID 的已保存会话 |
-v, --version | 显示版本号 |
内置命令
| 命令 | 说明 |
|---|---|
/help | 显示帮助 |
/reset | 清除对话历史 |
/model | 查看当前模型 |
/model <name> | 切换模型 |
/tokens | 查看 Token 用量和估算费用 |
/compact | 手动压缩上下文 |
/diff | 查看本次会话修改的文件 |
/save | 保存会话到磁盘 |
/sessions | 列出所有已保存会话 |
quit / exit | 退出 |
输入快捷键
| 快捷键 | 说明 |
|---|---|
Enter | 提交消息 |
Esc + Enter | 插入换行(适合粘贴多行代码) |
Ctrl+C | 中断当前生成 |