文档中心 / 快速开始

快速开始

林语(Linyu)是一套可自托管的开源即时通讯系统。当前主线由 Go 服务端与基于 Tauri 2 + Vue 3 + TypeScript 的桌面客户端组成,提供聊天、通讯录、群组、文件、音视频、AI Work 与插件扩展能力。

这篇指南使用全本地依赖启动一套开发环境。完成后,客户端通过 http://localhost:9088 访问服务端,WebSocket 地址会自动推导为 ws://localhost:9088/api/ws。

准备项目

从 linyu-im GitHub 组织 获取项目。建议把两个仓库放在同一个父目录中:

bash
git clone https://github.com/linyu-im/linyu-server.git
git clone https://github.com/linyu-im/linyu-client.git
text
linyu/
├─ linyu-client/   # 桌面客户端
└─ linyu-server/   # Go 服务端

需要准备:

  • Go:版本以 linyu-server/go.mod 为准,当前为 Go 1.26.5。
  • Node.js:建议使用当前 LTS 版本。
  • pnpm:客户端包管理器。
  • Rust 与 Tauri 2 的系统依赖:只有运行桌面壳和打安装包时需要。
bash
go version
node --version
pnpm --version
rustc --version

启动服务端

进入服务端仓库,打开 assets/config/config.yml,将核心依赖切换为本地实现:

yaml
server:
  port: 9088
  route-prefix: /api
  node-id: 1

cache:
  type: otter
  otter:
    capacity: 10000

rdb:
  type: sqlite
  sqlite:
    db-path: ./linyu/db
    db-name: linyu

storage:
  type: local
  local:
    base-url: http://localhost:9088
    file-path: ./linyu/storage

event-bus:
  type: local

vector:
  type: chromem
  chromem:
    path: ./linyu/chromem

同时替换 jwt.secret,关闭不使用的 LDAP,并检查邮件、LiveKit、Gitee OAuth 与 AI Embedding 配置。仓库中的示例值只能用于理解字段,不能直接用于生产环境。

在服务端仓库根目录运行:

powershell
cd linyu-server
go mod download
go run .

首次启动会创建 linyu/ 数据目录并自动迁移数据库表。看到服务监听 9088 端口后,再启动客户端。

启动客户端

客户端的 .env 只需要配置 HTTP 服务根地址:

dotenv
VITE_SERVICE_URL=http://localhost:9088

当前客户端会由该地址自动推导 WebSocket 地址;无需单独配置 WebSocket。

powershell
cd linyu-client
pnpm install
pnpm tauri dev

如果只开发 Vue 页面、不需要 Tauri 原生能力,可以使用 pnpm dev,再访问终端输出的本地地址;涉及托盘、通知、截图、文件系统、插件或多窗口时必须使用 pnpm tauri dev。

验证与下一步

  1. 客户端能够打开登录页。
  2. 注册或登录请求指向 http://localhost:9088/api。
  3. 登录后 WebSocket 连接为 ws://localhost:9088/api/ws。
  4. 服务端根目录出现 SQLite、文件和向量数据目录。

需要安装给用户使用,请继续阅读“部署指南”;需要修改代码,请进入“客户端开发”或“服务端开发”;需要扩展应用中心,请阅读“插件开发”。