Skip to content

zrurf/Katheryne

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Katheryne

一个基于golang开发的IM学习项目。CQUPT蓝山工作室后端GO组2026暑期考核项目AIM选题。

终于写好能交了,很难想象这玩意儿的代码量已经比我的Punklorde还多了。

你说有bug?那叫特性!懒得改了,体谅一下。

技术栈

层级 技术
后端框架 Go + go-zero
服务发现 etcd
数据库 PostgreSQL
缓存 Garnet(Redis 兼容)
消息队列 NATS
对象存储 RustFS
向量数据库 Qdrant
图数据库 HugeGraph
前端 SolidJS + Kobalte UI + Tailwind CSS
桌面端 Tauri v2
认证协议 OPAQUE协议+ OAuth 2.0
可观测性 OpenTelemetry + Prometheus + Grafana + Loki + Tempo + Jaeger

项目结构

katheryne/
├── app/                        # 前端桌面应用 (SolidJS + Tauri)
│   ├── src/
│   │   ├── components/         # UI 组件
│   │   ├── pages/              # 页面
│   │   ├── services/           # API、WebSocket、配置服务
│   │   └── stores/             # 状态管理
│   └── src-tauri/              # Tauri 后端 (Rust)
├── config/                     # 基础设施配置
│   ├── observability/          # Grafana 面板、Prometheus 等配置
│   └── qdrant/                 # Qdrant 配置
├── db/                         # 数据库初始化脚本
│   ├── init/                   # PostgreSQL 初始化
│   └── sql/                    # 各模块 DDL/DML
│       ├── im_message/         # 消息模块
│       ├── im_social/          # 社交模块
│       ├── mod_bot/            # Bot 模块
│       ├── mod_rag/            # RAG 模块
│       ├── oauth2/             # OAuth 2.0 模块
│       └── users/              # 用户模块
├── docs/                       # 项目文档
├── services/                   # 后端微服务 (Go)
│   ├── api/
│   │   ├── gateway/            # REST API 网关
│   │   └── ws-gateway/         # WebSocket 网关
│   ├── internal/
│   │   ├── auth/               # 认证服务
│   │   ├── bot/                # Bot 管理服务
│   │   ├── conversation/       # 会话服务
│   │   ├── mem/                # 记忆管理服务
│   │   ├── message/            # 消息服务
│   │   ├── oss/                # 对象存储服务
│   │   ├── rag/                # RAG 知识库服务
│   │   ├── social/             # 社交服务
│   │   └── user/               # 用户服务
│   └── thirdparty/
│       └── ai-bot/             # 官方 AI Bot
├── docker-compose.yml          # Docker 编排
├── go.work                     # Go Workspace
└── README.md

快速开始

环境要求

  • Go 1.26+
  • Node.js / Bun(前端开发)
  • Docker & Docker Compose(运行基础设施)

1. 配置环境变量

cp .env.template .env

编辑 .env 文件,填写必要配置:

变量 说明
POSTGRES_USER PostgreSQL 用户名
POSTGRES_PASSWORD PostgreSQL 密码
POSTGRES_DB PostgreSQL 数据库名
RUSTFS_ACCESS_KEY RustFS 访问密钥
RUSTFS_SECRET_KEY RustFS 密钥
GF_SECURITY_ADMIN_USER Grafana 管理员用户名
GF_SECURITY_ADMIN_PASSWORD Grafana 管理员密码
AI_BOT_CLIENT_SECRET AI Bot 客户端密钥
OPENAI_API_KEY OpenAI API Key
OPENAI_BASE_URL OpenAI API 基础 URL
LLM_MODEL LLM 模型名称

2. 启动基础设施

docker compose up -d

这将启动所有微服务及基础设施(PostgreSQL、Garnet、NATS、etcd、Qdrant、RustFS 等)。

3. 启动前端开发

cd app
bun install
bun run tauri dev

4. 构建桌面应用

cd app
bun install
bun run tauri build

文档

参见 docs

About

一个基于golang开发的IM学习项目。CQUPT蓝山工作室后端GO组2026暑期考核项目AIM选题。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors