起源是一个 AI 助手框架,底层封装 Claude Code,提供持久记忆、人格注入、定时器、Web UI 等能力。基于 ruoyiGo 框架,单二进制部署,前端已编译内嵌。
根据目标平台选择对应文件:
| 文件 | 平台 |
|---|---|
qiyuan-linux-amd64 | Linux x86_64 |
qiyuan-linux-arm64 | Linux ARM64 |
qiyuan-darwin-arm64 | macOS Apple Silicon |
qiyuan-windows-amd64.exe | Windows x86_64 |
cp qiyuan-linux-amd64 /usr/local/bin/qiyuan
chmod +x /usr/local/bin/qiyuan
# 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
qiyuan init
创建的目录:
~/.qiyuan/ — 大脑(配置、记忆、数据库)~/qiyuan/ — 工作台(项目文件)创建 /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
浏览器打开 http://服务器IP:20101/
/ — ruoyi 后台管理(登录、用户、角色、菜单等)/qiyuan.html — 起源独立 SPA(对话、记忆、定时器、设置)默认管理员账号:admin / 123456,首次使用请修改密码。
在起源 SPA 的「设置」页面配置 API Key、Base URL 和模型,保存即可开始使用。
@accbot/muxws 多路复用)~/.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/ # 项目目录
v2 使用 WebSocket 通信,所有接口通过 SendInterface.sendFun() 调用。主要模块:
| 模块 | 接口 | 说明 |
|---|---|---|
| chatCtl | send / history / cancel / status | 对话管理 |
| sessionCtl | add / list / info / edit / del / clear | 会话管理 |
| memoryCtl | listFiles / readFile / writeFile / notes / today / summary / compress | 记忆管理 |
| timerCtl | add / list / cancel / cancelAll | 定时器管理 |
| systemCtl | info / health / getConfig / setConfig / listBackups / restoreBackup / feedback / upgrade | 系统管理 |
| notificationCtl | list / 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 .