开源 · 自托管 · 单租户

您的支持台与知识库 — 运行在您自己的基础设施上。

SmartTicket 是一款自托管的工单与知识协作平台。单一静态二进制文件,内嵌 SQLite,支持 RBAC、SLA 追踪与携带自有 LLM 的 RAG 检索。五分钟完成部署,数据完全自主可控。

$ git clone https://github.com/liliang-cn/smartticket && cd smartticket && docker compose up -d
1
静态二进制文件
<512MB
内存占用
0
外部依赖服务
SQLite
内嵌数据库
100%
数据归您所有
https://support.your-company.com
仪表盘
工单
知识库
客户
访问控制
AI 提供商
工作区概览
128
待处理工单
96%
SLA 达标率
2.4h
平均首次回复
312
知识库文章
升级后邮件通知停止发送紧急SLA 内
如何为我们的身份提供商配置 SSO?高优先级SLA 内
将客户工单导出为 CSV普通已回复
// 概览

一屏读懂 SmartTicket。

简明扼要地呈现核心要素 — 面向用户,也面向汇总本页的 AI 引擎。

定位开源、自托管的工单系统与知识库
部署模式单租户 — 每个组织独立部署一套实例
许可证MIT — 自托管免费
技术栈Go 1.25 · React + TypeScript · SQLite
部署方式单一静态二进制,或 docker compose up
外部依赖无 — 内嵌 SQLite,无需独立数据库、Redis 或反向代理
AI 集成携带自有 OpenAI 兼容 LLM + RAG 检索(可选)
资源占用< 512 MB 内存;支持离线/隔离网络运行
// 一个二进制,功能齐全

完整的支持工具链,无需任何拼装。

工单、SLA、带版本控制的知识库、基于角色的访问控制、客户隔离与 AI 辅助 — 全部内置,运行于您独立拥有的单一进程中。

完整工单生命周期

优先级与严重程度、指派、线程式对话、附件、状态流转与审计追踪 — 从接单到结单,全程覆盖。

SLA 追踪

按层级设定响应与解决时限,可配置支持等级,支持按节点与年度订阅进行追踪管理。

知识库

带版本控制的文章,支持公开与内部可见性,具备全文检索与语义搜索,阅读体验简洁流畅。

RBAC 与客户隔离

角色体系、细粒度权限,以及服务层 Actor 模型 — 确保每位客户只能访问自己的工单,REST 接口与 MCP 服务器均适用。

携带自有 LLM + RAG

支持任何兼容 OpenAI 接口的提供商进行对话与向量化 — OpenAI、Azure、DeepSeek、Ollama、vLLM。在知识库上进行 RAG 检索,密钥静态加密存储。

应用内通知

回复、指派和状态变更均以实时应用内通知呈现 — 无需搭建邮件服务器即可及时掌握动态。

数据导入导出

将工单、知识库、用户、产品与服务导出为 JSON、CSV、XML 或 Markdown 格式。数据可移植性是内置设计原则。

白标品牌定制

在设置页面自定义产品名称、强调色和 Logo — 统一应用于控制台和登录界面。

内置 MCP 服务器

内置模型上下文协议服务器,将工单与回复暴露为工具接口,让 AI Agent 可以以编程方式进行分类和回复。

// 下载即运行

五分钟部署您自己的实例。

SmartTicket 以单一自包含二进制文件发布,同时提供 Web 控制台和 API 服务。无需数据库服务器、消息队列或反向代理即可启动。

# Recommended — one command, nothing else to install
git clone https://github.com/liliang-cn/smartticket.git
cd smartticket

# (recommended) generate strong secrets
echo "SMARTTICKET_JWT_SECRET=$(openssl rand -hex 32)"  > .env
echo "SMARTTICKET_SECRET_KEY=$(openssl rand -hex 32)" >> .env

docker compose up -d

# → http://localhost:6533
# login: admin@smartticket.local / admin123 (change it!)
# Prerequisites: Go 1.25+, Node 20+, pnpm
git clone https://github.com/liliang-cn/smartticket.git
cd smartticket

# builds the console and embeds it into one static binary
make build-all

./build/smartticket serve --config configs/config.dev.yaml

# → http://localhost:6533
# Build once, install the single binary
make build-all
sudo cp build/smartticket /usr/local/bin/

# Set persistent secrets + point at the prod config
# (edit storage.data_path in configs/config.prod.yaml first)
export SMARTTICKET_JWT_SECRET=$(openssl rand -hex 32)
export SMARTTICKET_SECRET_KEY=$(openssl rand -hex 32)

smartticket serve --config configs/config.prod.yaml

# Put TLS in front with Caddy/Nginx, or use the
# systemd unit in deployments/systemd/.
1克隆并运行。 一条 docker compose up 命令即可在 6533 端口启动完整应用。
2登录系统。 使用预设管理员账号登录,然后立即修改密码。
3品牌定制。 Settings 中设置您的名称、颜色和 Logo。
4接入 AI(可选)。 AI Providers 下添加兼容 OpenAI 接口的对话与向量化提供商。
数据与备份

所有数据 — 工单、知识库、RAG 向量存储和配置 — 均存储在 smartticket-data 卷中(一个 SQLite 文件加上附件上传目录)。复制该卷即可完成备份,放回原位即可恢复。

// 数据主权

您的数据永远不会离开您的服务器。

SmartTicket 在设计上即为单租户:一个组织,一套实例。没有向外回传数据的 SaaS 后端,没有共享的多租户数据库,也没有任何必需的第三方服务。

  • 内嵌 SQLite — 支持完全离线、隔离网络运行。
  • LLM API 密钥以 AES-256-GCM 加密存储于本地。
  • 完整导出为开放格式 — 永不锁定,随时迁移。
single-tenant topology
┌─ your server ──────────────┐
│  smartticket (1 binary)    │
│   ├─ web console  :6533    │
│   ├─ REST API     :6533    │
│   ├─ MCP server   (stdio)  │
│   └─ SQLite + RAG (vol)    │
└────────────┬───────────────┘
             │ optional, you choose
        your LLM provider
// 携带您自己的智能

AI 辅助,由您做主。

对话与向量化提供商可独立配置 — 各有自己的 Base URL、模型和密钥。知识库文章会被索引到内置向量存储中,用于检索增强式回答。

OpenAI Azure OpenAI DeepSeek Aliyun Bailian Ollama vLLM LocalAI …任意 OpenAI 兼容接口
检索增强式回答
Q: 如何为团队启用单点登录?
ANSWER · cited from 3 KB articles

打开 Settings → Access,添加身份提供商的元数据 URL,映射 email 声明,然后为团队启用 SSO 强制认证……

// 为运维而生

构建于成熟可靠的技术栈之上。

后端用 Go,前端用 React,底层是 SQLite。没有冷僻的运行时,没有按席位收费,没有意外的隐藏依赖。

Go 1.25· 后端
GIN + GORM· API & ORM
SQLite· 内嵌(无 CGO)
React + TypeScript· 控制台
Vite + Tailwind· 构建与样式
JWT + RBAC· 认证授权
CortexDB· RAG 向量存储
Docker· 一键部署
// 常见问题

常见问题解答。

我需要单独安装数据库服务器或 Redis 吗?+

不需要。SQLite 已直接内嵌在二进制文件中,无需任何其他外部服务。整个应用就是一个进程 — 这正是其设计初衷。

如何升级到新版本?+

使用 Docker 时:git pull && docker compose up -d --build。数据存储在命名卷中,重建不会影响数据。从源码构建时:git pull && make build-all,然后重启二进制文件。数据库结构迁移会在启动时自动执行。

使用时必须配置 AI 吗?+

不需要 — 工单、SLA、知识库和 RBAC 无需配置任何 LLM 即可正常使用。AI 功能为可选项:仅在需要语义搜索和 RAG 检索答案时才需要添加提供商。

客户能看到彼此的工单吗?+

不能。客户角色用户在服务层被严格限定为只能访问自己所属组织的工单 — 同样的隔离策略适用于 REST API 和 MCP 服务器。

如何备份我的实例?+

复制数据卷(SQLite 文件、RAG 向量存储和上传的附件)即可。恢复时将其放回原位并启动二进制文件。您也可以从数据页面将所有内容导出为 JSON/CSV/XML/Markdown 格式。

使用费用是多少?+

软件本身开源免费,可自行托管。您唯一的成本是运行服务器的费用,以及启用 AI 时所选 LLM 提供商收取的费用。

// 五分钟即可就绪

掌控您自己的支持工具链。

克隆仓库,运行一条命令,即可在您自己的基础设施上拥有完整的工单与知识库平台。