Files
beaver_project/app-instance/backend/guide.md
steven_li 4e45f8b717 feat: 重命名项目为Boardware Genius并添加运行时环境同步功能
- 将项目品牌从nanobot重命名为Boardware Genius,更新所有相关文档、注释和日志输出
- 在web服务器中添加运行时环境变量同步功能,支持授权和后端身份配置
- 更新create-instance脚本以生成运行时环境文件
- 添加实例后端绑定功能到部署控制服务
- 修改入口脚本以加载运行时环境变量
- 更新前端和认证门户的相关描述文本
2026-03-18 15:45:42 +08:00

144 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Boardware Genius 前后端分离启动指南(单用户直连)
本指南对应当前仓库:
`/home/ivan/xuan/steven_project/nanobot`
## 1. 环境准备
- Python: `>=3.11`
- Node.js: `>=18`
- 包管理工具: `uv``npm`
在项目根目录执行:
```bash
cd /home/ivan/xuan/steven_project/nanobot
uv sync
```
如果你第一次使用 Boardware Genius需要先初始化
```bash
./.venv/bin/python -m nanobot onboard
```
然后编辑配置文件(至少配置一个可用模型):
- `~/.nanobot/config.json`
## 2. 启动后端Web API
在项目根目录执行:
```bash
cd /home/ivan/xuan/steven_project/nanobot
./.venv/bin/python -m nanobot web --host 127.0.0.1 --port 10000
```
启动成功后会看到类似日志:
- `Uvicorn running on http://127.0.0.1:10000`
可用接口示例:
- `GET http://127.0.0.1:10000/api/status`
### 2.1 准备登录账号 JSON必需
Web 登录会读取本地账号文件,默认路径:
- `/home/ivan/xuan/steven_project/nanobot/web_auth_users.json`
示例内容(任选一种格式):
```json
{
"users": [
{ "username": "admin", "password": "123456" }
]
}
```
```json
{
"admin": "123456",
"alice": "alice_pwd"
}
```
也可通过环境变量指定自定义路径:
```bash
export NANOBOT_AUTH_FILE=/your/path/users.json
```
## 3. 启动前端Next.js
新开一个终端,执行:
```bash
cd /home/ivan/xuan/steven_project/nanobot/frontend
cp env_template .env.local
npm install
npm run dev
```
前端默认地址:
- `http://127.0.0.1:3080`
前端默认会请求:
- `NEXT_PUBLIC_API_URL=http://127.0.0.1:10000`
注意:如果你之前已经有 `frontend/.env.local`,请确认里面不是旧地址(例如 `localhost:8080`)。
如果你要改后端地址,修改:
- `frontend/.env.local`
## 4. 访问与验证
1. 打开 `http://127.0.0.1:3080`
2. 首屏应进入登录页
3. 使用 `web_auth_users.json` 中正确的账号密码登录
4. 登录成功后进入对话页并可正常收发消息
## 5. 常见问题
### 5.1 前端显示“未连接/服务离线”
按顺序检查:
1. 后端是否在运行(终端是否有 `Uvicorn running ...`
2. 前端 `NEXT_PUBLIC_API_URL` 是否指向正确地址
3. 端口是否被占用(`10000` / `3080`
### 5.2 后端启动报 `No module named fastapi`
在项目根目录重新执行:
### 5.3 反向代理下登录后跳错前端域名
如果 API 域名和主前端域名不同,启动 backend 前显式设置主前端公开地址:
```bash
export NANOBOT_FRONTEND_PUBLIC_BASE_URL=https://nanobot.bwgdi.com
```
这样登录/注册成功后backend 返回的 `frontend_base_url` 会固定为这个公开域名,而不是按 API 域名去拼 `:3080`
```bash
uv sync
```
### 5.3 需要开发测试工具pytest/ruff
```bash
uv sync --extra dev
```
## 6. 停止服务
- 在各自终端按 `Ctrl + C` 即可停止。