安装

方式 A:Docker(推荐快速试用)

git clone git@github.com:pipihosting/themis.git
cd themis
cp .env.example .env   # 填写 RAILS_MASTER_KEY 和 ANTHROPIC_API_KEY
docker compose up

访问 http://localhost:3000 并使用已种子化的管理员帐号 admin@themis.local / password123 登录。

docker compose up 启动两个服务 —— db(Postgres 16)和 app(Rails 开发镜像)。app 容器通过绑定挂载代码目录,因此代码修改会实时重新加载;gem 和 Postgres 数据保存在命名卷中,重启后依然保留。MCP 服务器(GitHub、Sentry、Google Workspace)不包含在镜像内 —— 不使用 MCP 的流程智能体仍可工作,如需使用请按下方步骤单独安装。

方式 B:原生

前置条件

  • Ruby 3.4.7(使用 mise 或 rbenv)
  • PostgreSQL 14+
  • Node.js 20+(用于 MCP 服务器和资产管道)
  • Go(用于 GitHub MCP 服务器)

克隆和设置

git clone git@github.com:pipihosting/themis.git
cd themis
bin/setup

bin/setup 会自动安装 gem、创建数据库、运行迁移并启动开发服务器。

环境变量

.env.example 复制为 .env(或 .env.local)并填入:

POSTGRES_HOST=localhost
POSTGRES_USERNAME=postgres
POSTGRES_PASSWORD=your_password

完整变量列表(包括可选的机器人身份覆盖和 Anthropic 代理设置)请参考 .env.example

Rails 凭据

Themis 将 API 密钥存储在 Rails 加密凭据中:

bin/rails credentials:edit

添加您的 Anthropic API 密钥(必需)和可选集成:

themis:
  anthropic_api_key: sk-ant-xxx

  # 可选 — 用于 Google OAuth 登录
  google_oauth:
    client_id: xxx
    client_secret: xxx

  # 可选 — 用于一级轻量智能体
  openai_api_key: sk-xxx

安装 MCP 服务器

Themis 使用 MCP(模型上下文协议)服务器将智能体连接到外部服务:

# Sentry(可选)
npm install -g @sentry/mcp-server

# Google Workspace(可选)
pip install workspace-mcp

GitHub 通过专用的 GitHub App 接入,不使用 MCP 服务器 —— 注册与安装步骤见 admin/github-app.md

Linear MCP 由 Linear 托管在 https://mcp.linear.app/mcp —— 无需本地安装。

启动服务器

bin/dev

这将启动:

进程端口描述
Rails3000Web 应用
TailwindCSS 监视器
Solid Queue后台任务
Google Workspace MCP10299Drive + Calendar + Gmail 集成(如已安装)
Jekyll docs4000文档网站

访问 http://localhost:3000 开始使用。

种子数据(开发环境)

bin/setupdocker compose up 都会在首次启动时执行 db:prepare,并创建一个管理员用户:

邮箱密码角色
admin@themis.localpassword123管理员,共享”Default”空间的所有者

ALLOW_PASSWORD_LOGIN=true(docker-compose.yml 默认值)时,登录页会显示邮箱/密码登录表单。在原生开发环境中,如果你希望无需配置 Google OAuth 就能登录,请在 .env 中启用该变量。种子源码参见 db/seeds/default.rb