logo
0
0
WeChat Login
accbot<accbot@cnb.cool>
v2.9.103

起源(Qiyuan)部署文档

起源是一个 AI 助手框架,底层封装 Claude Code,提供持久记忆、人格注入、定时器、Web UI 等能力。基于 ruoyiGo 框架,单二进制部署,前端已编译内嵌。

系统要求

  • Linux amd64/arm64、macOS arm64 或 Windows amd64
  • Node.js 22+(Claude Code 依赖)
  • 需要 root 权限运行
  • 网络能访问 Anthropic API(或配置代理)

部署步骤

1. 下载二进制

根据目标平台选择对应文件:

文件平台
qiyuan-linux-amd64Linux x86_64
qiyuan-linux-arm64Linux ARM64
qiyuan-darwin-arm64macOS Apple Silicon
qiyuan-windows-amd64.exeWindows x86_64
cp qiyuan-linux-amd64 /usr/local/bin/qiyuan chmod +x /usr/local/bin/qiyuan

2. 安装 Node.js 和 Claude Code

# Ubuntu/Debian curl -fsSL https://deb.nodesource.com/setup_22.x | bash - apt-get install -y nodejs # 安装 Claude Code npm install -g @anthropic-ai/claude-code # 验证 node --version # v22.x claude --version # 2.x

3. 初始化

qiyuan init

创建的目录:

  • ~/.qiyuan/ — 大脑(配置、记忆、数据库)
  • ~/qiyuan/ — 工作台(项目文件)

4. 配置 systemd 服务

创建 /etc/systemd/system/qiyuan.service

[Unit] Description=Qiyuan AI Assistant After=network.target [Service] Type=simple ExecStart=/usr/local/bin/qiyuan serve --port 20101 WorkingDirectory=/root/qiyuan Restart=on-failure RestartSec=5 Environment=HOME=/root Environment=PATH=/usr/local/bin:/usr/bin:/bin Environment=IS_SANDBOX=1 DeviceAllow=/dev/ptmx rw DeviceAllow=/dev/pts/* rw [Install] WantedBy=multi-user.target

启动:

systemctl daemon-reload systemctl enable qiyuan systemctl start qiyuan

5. 访问 Web UI

浏览器打开 http://服务器IP:20101/

  • / — ruoyi 后台管理(登录、用户、角色、菜单等)
  • /qiyuan.html — 起源独立 SPA(对话、记忆、定时器、设置)

默认管理员账号:admin / 123456,首次使用请修改密码。

在起源 SPA 的「设置」页面配置 API Key、Base URL 和模型,保存即可开始使用。

架构

  • 基于 ruoyiGo 框架(Go + Gin + Gorm)
  • 通信协议:WebSocket(@accbot/muxws 多路复用)
  • 数据库:SQLite(内嵌,无需额外安装)
  • 前端:Vue3 + Element Plus,编译后 embed 进二进制

目录结构

~/.qiyuan/ # 大脑 ├── config.toml # 主配置 ├── soul.md # AI 人格定义 ├── user.md # 用户信息 ├── CLAUDE.md # Claude Code 规则模板 ├── sessions.db # SQLite 数据库 ├── timers.json # 定时器文件 ├── knowledge/ # 分类知识库 │ ├── preferences.md │ ├── facts.md │ ├── projects.md │ └── lessons.md ├── memory/ # 每日笔记 ├── inbox/ # 待整理 ├── archive/ # 归档 └── backup/ # 自动备份 ~/qiyuan/ # 工作台 └── projects/ # 项目目录

后端接口(WebSocket)

v2 使用 WebSocket 通信,所有接口通过 SendInterface.sendFun() 调用。主要模块:

模块接口说明
chatCtlsend / history / cancel / status对话管理
sessionCtladd / list / info / edit / del / clear会话管理
memoryCtllistFiles / readFile / writeFile / notes / today / summary / compress记忆管理
timerCtladd / list / cancel / cancelAll定时器管理
systemCtlinfo / health / getConfig / setConfig / listBackups / restoreBackup / feedback / upgrade系统管理
notificationCtllist / markRead通知管理

推送事件:

  • chatPush:chunk(流式输出)/ status(状态变更)/ title(自动标题)
  • timerPush:fired(定时器触发)
  • notifyPush:notify(通知推送)

从源码编译

# 需要 Go 1.24+、Node.js 22+ # 编译前端 cd ruoyi_go_vue npm install npm run build:prod cd .. # 编译(前端已 embed 进二进制) CGO_ENABLED=0 go build -o qiyuan . # 交叉编译 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o qiyuan-linux-amd64 . CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -o qiyuan-linux-arm64 . CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -o qiyuan-darwin-arm64 . CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o qiyuan-windows-amd64.exe .