-
Notifications
You must be signed in to change notification settings - Fork 1
开发与构建
zhenhun edited this page Sep 4, 2026
·
2 revisions
中文 | English
前置:Node.js、Rust 工具链、Tauri 系统依赖。
npm install # 安装前端依赖
npm run tauri dev # 开发模式(热更新)
npm run tauri build # 构建 release(NSIS / MSI / dmg / AppImage / deb)src/ React 前端
pages/ 对话 / AI 设置 / 工具 / 技能 / 记忆 / 审计 / 远程
components/ Markdown、工具卡片、标题栏、图标等
src-tauri/ Tauri (Rust) 后端
src/ ai(协议与流式)、agent(编排)、registry(工具注册)、
mcp、http_api(远程 API)、update(自动更新)、audit …
e2e/ E2E 测试(mock-ai、tui、update、remote 等)
.github/workflows/ CI:release / e2e / auto-release / mirror-pages / sync-gitee
packaging/ flatpak、exotic(loongarch64/riscv64)打包脚本
| 套件 | 命令 | 覆盖 |
|---|---|---|
| 单元测试 |
cargo test(src-tauri 下) |
协议解析、模糊识别、SSE 流、MCP 等 70+ 用例 |
| TUI E2E |
node e2e/tui.cjs(先起 node e2e/mock-ai.cjs) |
28 个场景:对话/工具/会话/记忆/非法输入/超长行/多语言/损坏配置/连接失败/风暴输入/变体格式/AI 行为自纠/流式边界 |
| 更新 E2E | node e2e/update.cjs |
mock 更新源:检测/下载/幂等缓存/状态/无更新/启动自动下载 |
| 远程 E2E | node e2e/remote-default.cjs |
默认关闭/开启监听/凭据拦截 |
mock AI 服务器:node e2e/mock-ai.cjs,监听 127.0.0.1:9901,内置几十种场景标记(如 E2E-AI-RETRY、E2E-STREAM-MULTIBYTE),见文件内注释。
CI 在每次 push 时于 Ubuntu(xvfb) / Windows / macOS 三平台运行 E2E。
全自动,无需手工改版本:
- GitHub → Actions → auto-release → Run workflow
- 填
bump(patch/minor/major)或显式version(如0.5.0) - 工作流自动完成:
- 校验新版本号 > 当前且 tag 不存在
- 统一改 4 个版本文件(package.json / tauri.conf.json / Cargo.toml / Cargo.lock)
- 提交并打 tag(
chore(release): vX.Y.Z) - dispatch release(全平台构建:Windows×2 架构、macOS×2、Linux×3 包格式、loongarch64/riscv64 QEMU 交叉编译)
- dispatch e2e(三平台 E2E)
- dispatch sync-gitee(Gitee 全量镜像)
- release 收尾(finalize):生成
latest.json(含 6 平台资产映射)上传 Release,并刷新 GitHub Pages 镜像(yxpil.github.io/bit/) - QEMU 架构构建失败不阻塞发布,成功后自动补传
| 目标 | 机制 |
|---|---|
| GitHub Pages 镜像 | mirror-pages:Release 资产同步到 yxpil.github.io/bit/(Fastly CDN 直链) |
| osbt.space | 官网,引用 Pages 镜像 |
| Gitee 镜像 | sync-gitee:push main / tag 后全量同步(凭据走 GitHub Secrets) |
| APT / DNF / pacman 源 |
yxpil.github.io/apt-repo / dnf-repo / pacman-repo
|
| winget | 手动提交 PR(validation 工作流先本地预检) |
| Homebrew / Scoop / npm | 独立 tap / bucket / bit-agent 包 |
- 模型可见字符串(工具描述、参数 schema、工具报错、结果包装)一律英文,兼容旧模型
- 用户可见 UI 文案为中文
- MCP 集成测试依赖
BIT_FAKE_MCP_URL;更新测试依赖BIT_FAKE_UPDATE_URL(e2e 注入)
中文
- 首页
- 使用:安装指南 · 芯片与操作系统支持 · 快速上手 · 对话功能 · TUI-终端模式 · FAQ
- 进阶:工具系统 · MCP-集成 · 记忆与技能 · 远程访问与-API · 自动更新 · 审计日志
- 参与:开发与构建
English
- Home
- Usage: Installation Guide · Chips & OS Support · Quick Start · Chat Features · TUI Terminal Mode · FAQ
- Advanced: Tool System · MCP Integration · Memory & Skills · Remote Access & API · Auto Update · Audit Log
- Development: Development & Build