AiKey Server Edition

服务端快速开始

本文档面向服务端管理员(部署控制面、接入 Provider、批量签发 Key)及开发者用户(安装 CLI、使用虚拟 Key)。

前置条件

  • 操作系统:Linux (amd64 / arm64)。已验证:Rocky Linux 9, CentOS Stream 9, Ubuntu 22.04
  • 权限:root 或 sudo 权限
  • Docker + Compose plugin:必须是 docker compose (plugin 形态)
  • GitHub 认证:需先执行 gh auth login 获取私有仓库访问权限

服务端管理员:安装流程

固定版本号安装 (v1.0.0-rc.3):

# 1. GitHub 认证
gh auth login
export GITHUB_TOKEN=$(gh auth token)

# 2. 下载并安装特定版本
gh release download v1.0.0-rc.3 -R aikeylabs/launch-master -p 'server-install.sh' -D /tmp
bash /tmp/server-install.sh --version v1.0.0-rc.3 --yes

登录 Control Panel

访问地址:http://SERVER_IP:3000

初始管理员凭证由 server-install.sh 在安装结束时一次性打印到终端,**请妥善保存** (一次性显示,服务端不存明文)。

忘记密码或需轮换 → ssh 登录服务端运行 aikey-admin reset-password 重新生成。Control Panel 首次登录会强制提示修改为更强的密码。

管理动作:

Provider Accounts

添加上游 Provider 凭证(Claude/Codex 等)。

Seats

按开发者邮箱批量邀请席位。

Virtual Keys

为席位批量签发虚拟 Key (aikey_vk_*)。

开发者用户:安装与登录

1. 在开发机一键安装 CLI:

curl -fsSL https://github.com/aikeylabs/releases/latest/download/local-install.sh | bash
source ~/.zshrc  # 或 source ~/.bashrc

2. 启动本地 Vault 控制台:

aikey web

3. 登录到企业服务端:

aikey login --email your-email@example.com --control-url http://SERVER_IP:3000

使用虚拟 Key

登录成功后,在 aikey web 浏览器页面的 Vault 中可看到管理员签发的虚拟 Key。

关键步骤:

  • 点击 Vault 页面顶部的 "install hook" 横幅确认安装。
  • 打开 新的 Terminal 以使 hook 生效。
  • 直接运行 claude 进入交互界面。

验证与维护

服务端健康检查:

curl http://SERVER_IP:3000/health

数据留存与员工告知(部署前必读)

AiKey 里有两条独立的数据通道,两条都会把原文送到你自己的服务器上,区别在「送多少、归哪个开关管、留多久」。🔴 2026-08-11 更正:本段曾经写作「只看「合规检测」容易得出「AiKey 不留原文」的整体印象——那是不完整的」,当时的前提是合规检测不留原文;该前提已作废——合规检测现在也会留一小段命中原文,且团队版 / 集群版全新安装默认开启。

① 合规检测:留「命中处的一小段原文」(全新安装默认开)

🔴 2026-08-11 更正:本节曾经写作「① 合规检测:不留原文 —— 只上报「命中了什么类别」的元数据,对话正文不上传,事后谁也调不出原话」。该说法已作废,请勿再据此对外承诺。

没变的两件事:检测仍在员工自己的电脑上完成,把敏感信息在发给大模型之前打码或拦截;个人版命中的原文只留在员工本机、不上传。

变了的事:团队版 / 集群版在组织的合规隐私策略开到最高档时,命中处前后各约 24 个字符、最多 512 字节的原文片段会随合规事件上传到你自己部署的这台服务器,能登录该控制台的管理员看得到,保留 90 天后系统自动清空该列(合规事件本身保留)。

🔴 默认值必须两半一起看:全新安装的团队版 / 集群版出厂就是开的——跑完一键部署,员工命中的敏感内容原文从第一天起就在往你的服务器上传;升级既有部署则维持原状(关闭),需要管理员显式打开。不要理解成「所有部署都会采集」。

开关是服务端下发的组织策略:员工电脑上没有任何文件、环境变量或命令能把它打开或关掉。

② 对话审计(Conversation Audit):留完整正文

一条独立开关。开启后会把完整对话正文(提问全文 + AI 回复全文 + system prompt + 席位/会话归属)上传到你自己部署的这台服务器,写入 PostgreSQL,能登录该控制台的人都能回看。

默认状态:个人版无此功能 · 单机生产版默认关 · 集群版安装时默认开。

四件必须一起知道的事

  • 🔴 两种「原文」别讲混,两条开关也互不依赖:① 留的是每条命中一小段(≤512 字节),归组织的合规隐私策略管,保留 90 天;② 留的是整轮全文,归对话审计采集开关管。把对话审计关掉,① 的命中片段照样在传。
  • 采集在打码之前:被合规检测 [redacted] 掉的敏感内容,在对话审计里仍然是明文可读的。
  • 员工端没有任何提示:两条通道都是静默旁路,员工在 CLI 和个人控制台都看不到「正在采集」。对员工的告知义务在你(数据控制者)这一侧,AiKey 只提供开关和默认值。
  • 数据不出你的公司(两条通道都成立,这一条没变):服务端是你自己部署的机器,命中片段和完整正文都永远不进 AiKey 的云,AiKey(厂商)不运营也无法访问。「厂商采集」和「你自己的服务器留存」是两回事。

存储形态

正文与命中片段在服务端数据库里都是明文存储(当前版本未做应用层加密),上传前也会先明文落到员工本机的中转文件(WAL)。两处的安全性都依赖基础设施层(磁盘加密、库权限、内网隔离)——请把 PostgreSQL 备份文件也按敏感数据管理。

隐私政策 · 你的数据在哪 →

高级用法

OAuth 登录

使用 aikey auth login <provider> 添加个人 OAuth 账号。

配置查看

使用 aikey list 查看 Key,或 aikey route 查看路由配置。

临时激活

使用 aikey activate <key-name> 在当前终端临时切换 Key,aikey deactivate 恢复。