Bike4Mind/bike4mind · 上手攻略
- 仓库:Bike4Mind/bike4mind
- 链接:https://github.com/Bike4Mind/bike4mind
- 分类:ai / agent / rag / llm-infra
- 作者:spark
- 更新:2026-10-27
一、是什么
Bike4Mind 是一个开核心(open-core)AI 工作台,把「Notebook(笔记本)+ 自主 Agent + RAG 知识引擎 + 图像/语音模型」打包进同一个工作空间,宣称"任何模型都能接入、数据留在自己手里"。
技术栈是 TypeScript,pnpm + Turborepo 单体仓(要求 Node 24),主应用是 apps/client(Next.js SPA + pages API 后端),核心引擎在 b4m-core/*(对外发布为 @bike4mind/* 系列包),packages/cli 是带 ReAct Agent 的交互式命令行,packages/database 是 Mongoose 模型与迁移。实时 WebSocket 扇出走独立的 @bike4mind/subscriber-fanout 镜像。
仓库的自我定位是"Your bicycle for the mind in the age of AI"——把它理解成"AI 时代的自行车":不是汽车(不是全自动托管平台),而是让你自己蹬、但省力的个人工具。
二、解决什么问题
它想解决的是多模型工作流的碎片化:很多人同时用 Claude / GPT / Gemini / xAI / 本地 Ollama,每换一个模型就要换一套 Notebook、换一套 Agent、换一套知识库。Bike4Mind 把这些做成一个工作空间内的可切换能力:
- Notebooks — 核心工作区:聊天、文档、上下文放在一起,跨模型复用。
- Multi-LLM by design — 在 Anthropic、OpenAI、Google Gemini、xAI、Ollama(本地)之间自由切换;图像侧支持 GPT-Image-2、Nano Banana、FLUX。
- Quest Master — 自主多步任务规划:文本与图像生成、视觉复核、Web 搜索、数学、代码、人在环(human-in-the-loop)步骤,并行执行。
- AI Agents — ReAct 风格 Agent,对你的工具和知识库动手干活。
- Knowledge Engine — 对自有文档做 RAG:智能分块、向量检索、collections、标签。
- Artifacts — Agent 产出的可复用片段、文档、可视化,带内置的发布/分享层。
一句话:给个人和小团队一个"自托管的 ChatGPT + Notebook + Agent 编排台"。
三、快速安装
路径 A:托管服务(最快,零安装)
直接到 https://app.bike4mind.com 登录即可,无需安装任何东西。
路径 B:自托管(Docker Compose,无需云账号)
前置条件:Docker + Docker Compose,约 4 GB 可用内存;还需要你打算使用的模型厂商 API Key(Anthropic / OpenAI / Gemini / xAI / DeepSeek / Moonshot(Kimi) / 或本地 Ollama)。
git clone https://github.com/bike4mind/bike4mind.git
cd bike4mind
# 复制环境变量模板
cp .env.selfhost.example .env.selfhost
# 生成三个必需密钥(各为 32 字节随机 hex)
openssl rand -hex 32 # -> JWT_SECRET
openssl rand -hex 32 # -> SESSION_SECRET
openssl rand -hex 32 # -> SECRET_ENCRYPTION_KEY
# 把上面三个值和你的模型 Key 写进 .env.selfhost
# 同时设置管理员邮箱(首次启动前设置,仅对邮箱验证码登录生效)
B4M_BOOTSTRAP_ADMIN_EMAIL=you@example.com
# 拉起整套栈(app + MongoDB + MinIO 对象存储 + ElasticMQ 队列 + Mailpit 邮件捕获)
docker compose -f compose.selfhost.yaml --env-file .env.selfhost up -d
起来之后访问 http://localhost:3000,登录验证码会进到内置的 Mailpit http://localhost:8025。镜像发布在 ghcr.io/bike4mind/bike4mind-selfhost(amd64 + arm64 多架构,由 CI 从 main 构建),不需要 Node / pnpm / 本地构建。
路径 C:只要 CLI
npm install -g @bike4mind/cli # 或 npx @bike4mind/cli
b4m # 首次运行会引导你认证
路径 D:从源码开发
pnpm i -r # 安装
pnpm turbo:core:build # 构建 @bike4mind/* 核心包
pnpm turbo:typecheck # 类型检查
pnpm turbo:test # 跑测试
四、核心用法
CLI 交互与一次性执行
b4m # 交互式会话
b4m "summarize the git log" # 播种并提交首轮,随后保持交互界面
b4m -p "What is 2+2?" --output-format json # 无头单次查询,输出 JSON
b4m -p "..." --output-format stream-json # NDJSON,输出思维链/动作/观察
指向不同后端(含自托管实例)
b4m --dev # 本地开发服务器 http://localhost:3001
b4m --prod # 官方生产环境
b4m --api-url http://localhost:3000 # 任意实例(自托管 / AWS / 本地),会清掉绑定旧源的认证缓存
b4m --reset-api # 恢复默认 API URL 并清除认证
环境选择持久化在 ~/.bike4mind/config.json,认证 token 按环境分别缓存,来回切换不需要重复登录。
MCP(模型上下文协议)
b4m mcp list # 列出已配置的 MCP server
b4m mcp add <name> -- <command...> # 添加
b4m mcp enable <name> # 启用/禁用
b4m mcp serve [--http] [--port <n>] # 把 Bike4Mind 自己暴露成一个 MCP server
本地模型(Ollama + Hugging Face GGUF)
b4m models ls --ollama-host http://127.0.0.1:11434
b4m models search qwen2.5 0.5b
b4m models pull Qwen/Qwen2.5-0.5B-Instruct-GGUF:Q4_K_M
b4m models use hf.co/Qwen/Qwen2.5-0.5B-Instruct-GGUF:Q4_K_M
b4m models rm qwen2.5:0.5b
search 默认隐藏 abliterated / uncensored 构建并打印隐藏数量;pull 会先打印体积和许可证再询问,非 Apache-2.0 / MIT / BSD 类宽松许可证需显式 --accept-license。
技能与诊断
b4m skills push ~/.claude/skills/my-skill # 把本地技能推成 Bike4Mind 技能
b4m skills push <path> --update # 脚本/CI 里非交互更新
b4m doctor # 诊断 Node、registry、ripgrep、原生模块
b4m update # 检查并安装 CLI 更新
作为 claude 引擎嵌入宿主应用
CLI 支持一批 Claude Code 兼容的宿主侧参数:--mcp-config、--strict-mcp-config、--append-system-prompt、--allowedTools、--settings、--session-id、--resume。
五、典型适用场景
- 个人知识中枢 — 把读书笔记、项目文档、论文扔进 Knowledge Engine,用 RAG 让 Agent 基于你的私有材料回答,而不是通用模型的泛泛而谈。
- 多模型 A/B 与成本权衡 — 同一任务在 Claude / GPT / Gemini / xAI / 本地 Ollama 之间切换,按任务挑模型、按成本挑档位。
- 数据不出内网 — 自托管 + 本地 Ollama(vLLM),敏感文档不出机器。这是它对比 SaaS 方案的核心卖点。
- 多步任务自动化 — Quest Master 做"生成图 → 视觉复核 → 搜索 → 出报告"这类带人工确认环节的长链路。
- CLI 化 agent 接入 CI —
b4m -p ... --output-format json无头调用,把 agent 塞进脚本和流水线。 - 给自家产品做 AI 能力底座 — 官方提供 "Building an app on Bike4Mind" 文档,做带用户登录和 AI 用量计费的 AI 应用。
六、坑与注意
SECRET_ENCRYPTION_KEY千万别随手换 — 它加密库里存的其他密钥(管理员设置、用户 API Key、OAuth token、社交连接),自托管下轮换不自动化。要轮换必须把旧值设进SECRET_ENCRYPTION_KEY_PREVIOUS并永久保留,否则旧密文不可恢复。APP_URL设错会伪装成权限 bug — 它是 CSRF 来源白名单且 fail-closed。任何改状态请求(保存设置、生成 API Key、上传)都会 403,未设置时报CSRF: APP_URL is not configured on this deployment.,设成你不访问的源则报Invalid request origin...。读取请求两种情况都正常,所以很容易误判成权限问题而非配置问题。用非 localhost 部署(反代 / 局域网 / tailnet)必须设成浏览器实际访问的源。- 升级必须把
ws网关和 app 一起重建 — 浏览器与网关共享连接契约(浏览器把 realtime 凭据放在?ticket=查询参数里由网关转发),版本错配会静默让所有浏览器的实时连接被拒(socket 直接被拒,没有任何报错)。只pull升级会留下旧版ws容器。正确做法:git pull后用--build起来,或显式docker compose -f compose.selfhost.yaml build ws。 .env.selfhost不能在值后面加行内注释 — compose 按字面读取这些值,KEY=value # comment会把注释一起当成值。- 管理员引导只对邮箱验证码登录生效 — 用 GitHub OAuth 首次登录拿不到 bootstrap 管理员身份;
B4M_BOOTSTRAP_ADMIN_EMAIL必须在首次启动前设好,否则第一个用邮箱码注册的账号成为管理员。 - 首次构建 MinIO 需要外网且耗时数分钟 — 要能访问 GitHub 源码、Go modules、Docker Hub 基础镜像和 Debian 包;上游 MinIO 与
mc已归档,这是最后一版 pin,不再有上游更新。从源码构建 Next.js 单体仓需要给 Docker 12–16 GB 内存。热重建(约 1–2 分钟)vs 冷启动(数分钟)差别很大。 - CLI 依赖原生模块 —
better-sqlite3(图像缓存)和sharp(图像处理)需要编译,需要 Python 3 + C++ 编译器。报 "Could not locate the bindings file" 时跑pnpm rebuild better-sqlite3或pnpm rebuild。 - 许可证不是 MIT/Apache,是 BSL 1.1 — 可以读、改、再分发、生产使用、给组织内部自托管、在其上构建商业产品;但不能把软件作为与它竞争的托管/管理服务对外提供。好消息是每个发布版本在公开满两年后自动转为 Apache-2.0,许可证不会收紧。
b4m models use选定的模型不可用时直接失败 — 已保存 host 时b4m -p不会静默切换到别的模型,Ollama 不应答也会失败。这是刻意的行为,但容易让人以为 CLI 坏了。- 仓库卡片字段的版本漂移风险 — 本篇核对的是 2026-10-27 的
main分支状态(仓库pushed_at为 2026-10-27T07:33Z)。README 未标注 CLI 版本号,CLI 版本请用b4m --version现场确认;镜像 tag 跟随 CI 从main构建,同样会漂移,生产部署务必固定到具体 digest 而非latest。
七、与同类对比
| 项目 | 定位 | 与 Bike4Mind 的关键差异 |
|---|---|---|
| Open WebUI | 开源自托管 LLM 聊天 UI | 侧重对话与模型管理;Notebook 式工作区、Agent 编排、Quest Master 这类多步规划不是核心 |
| AnythingLLM | 开源 RAG 桌面/服务器应用 | RAG 是主轴,工作区与 Agent 编排更轻;无内置发布分享层 |
| Dify / Flowise | 可视化 LLM 应用编排平台 | 偏开发者搭建应用(工作流画布),Bike4Mind 偏个人日常知识工作台 + 开箱即用的 Agent |
| Claude Code / Codex CLI | 终端编码 agent | Bike4Mind 的 b4m CLI 定位类似且部分兼容 Claude Code 宿主参数,但多了 Notebook、知识库、多模型与图像生成;且 BSL 1.1 而非 Apache-2.0 |
| 私有 LLM 网关(如 LiteLLM / vLLM) | 基础设施层模型代理 | 只做模型路由/推理,Bike4Mind 是上层完整工作台;不过它自己也能接 Ollama/vLLM |
| Notion AI / NotebookLM | 商业化知识协作 | 闭源 SaaS,数据在厂商侧;Bike4Mind 强项恰是可自托管、数据本地 |
八、一句话推荐结论
推荐给:想自托管、有多模型与私有文档 RAG 需求、且愿意接受早期项目(94 Stars、303 个 open issue)折腾的个人开发者与小团队——特别是本地 Ollama + Docker Compose 这条路径,门槛确实不高。
不推荐给:需要生产级稳定性与明确 SLA 的企业场景;以及依赖纯宽松许可证的商用产品(BSL 1.1 有"不得提供竞品托管服务"的限制,两年后才转 Apache-2.0)。
⚠️ 诚实标注:本篇未做本地构建验证(只读公开内容,未 clone、未跑命令),安装命令与配置项均逐字取自 README 与
SELF_HOST.md/packages/cli/README.md。仓库未在 README 中给出 CLI 的版本号或 release tag,镜像 tag 随 CI 从main漂移,两项均已在坑 10 标注需现场核实。第三方"自托管 AI 工作台"赛道竞品众多,此处对比基于各自公开定位,未做实测对比。