﻿# 部署方案

非几可以完整部署在你们公司内部：网页、登录、空间、文件、会话和工作流都跑在你们自己运营的主机上，文件和会话记录也留在这台主机上。什么会离开主机，取决于你打开了哪些服务，首先是模型服务商。

本页写给决定怎么运行非几的人，讲各部分跑在哪里、一个部署怎样选模型、哪些功能需要联网。日常操作步骤在非几联系人提供的运维手册里。

## 各部分跑在哪里

| 部分 | 跑在 | 需要联网 |
| --- | --- | --- |
| 网页、登录、空间、文件、会话、工作流 | 你们公司的一台主机 | 不需要 |
| 每位登录者一个工作进程，有自己的目录和文件访问范围 | 同一台主机 | 只有下面这些服务需要 |
| 模型 | 你选的服务商，或你们自己运行的模型服务 | 需要，除非模型由你们自己托管 |
| 联网搜索 | 与此人所选模型对应的服务商 | 需要 |
| 飞书登录与连接 | 飞书 | 需要；可选 |
| 语音输入 | 主机 | 只在下载识别模型时需要一次 |
| 会议录音转写 | 云端语音服务 | 需要 |
| 语音通话 | 云端语音服务 | 需要 |
| 读取 Word、Excel、PowerPoint 和文字版 PDF | 主机 | 不需要 |
| 其他电脑访问 | 你们提供的隧道或代理 | 取决于大家在哪里 |

## 非几跑在哪里

非几跑在一台你们自己拥有并运营的主机上，用一个非 root 账号运行。参考部署用一台 Mac mini 服务约 24 个人。文件、会话记录和每个人的设置都存在这台主机上。

每个人的工作进程只能读这个人可以看到的文件夹。主机用自己的沙箱来保证：macOS 上是 Seatbelt，Linux 上是 bubblewrap。服务启动前先检验沙箱是否有效，无效就拒绝运行。让服务常驻的脚本和固定版本的文档读取器，现在是为 Apple 芯片上的 macOS 做的。

服务只监听主机自己的本机回环地址。其他电脑要通过你们提供的隧道或反向代理访问；参考部署用的是一条反向 SSH 隧道，连到一台有公网地址的服务器，那台服务器不存数据，也不判断谁在访问。主机上的登录是唯一的准入检查。

::: info 提示
服务商和凭据的设置只能在主机本机的浏览器里修改，不能通过其他人使用的地址修改。
:::

## 选择模型

非几本身不带模型。一个部署用公司自己的账号调用它配置好的服务商。大家用 /模型 命令为一次会话在已配置的模型里选择。

| 路线 | 服务商 | 账号 |
| --- | --- | --- |
| GPT-6 Sol 和 ChatGPT 订阅里的其他模型 | OpenAI | 一个 ChatGPT 账号，在主机上登录一次，大家共用 |
| GLM-5.3 Flash | 智谱 | 一把 GLM Coding Plan 密钥 |
| DeepSeek | DeepSeek | 一把 DeepSeek 密钥 |

公司默认模型是部署的一项设置 `WEB_DEFAULT_MODEL`，写成「服务商/模型」，例如 `openai-codex/gpt-6-sol` 或 `zai-coding/glm-5.3-flash`。参考部署设的是 GPT-6 Sol。没有设置的部署，大家从 GLM-5.3 Flash 起步。自己换了模型的人保留自己的选择。

默认模型不会自己换成更新的模型。ChatGPT 账号上出现新模型时，它会加进大家可选的列表，默认仍然不变。

ChatGPT 额度或 DeepSeek 余额用完时，如果这个人的目录里有 GLM 密钥，这一轮会在 GLM 上重试一次，并在会话里留一行说明；没有 GLM 密钥，这一轮就结束。部署也可以为同一家服务商准备多个账号，一个用完时让所有人换到另一个。

每次模型请求都会把这一轮的文字，包括 AI 为这一轮读到的文件摘录，发给你选的服务商。选哪个模型，就决定这些文字去哪里。

## 哪些功能会联网

调用外部服务的功能，以及各自的要求：

| 功能 | 服务 | 没有它会怎样 |
| --- | --- | --- |
| 会话 | 上面的模型服务商 | 什么都用不了；至少需要一条模型路线 |
| 联网搜索 | GLM 用智谱，ChatGPT 路线用 OpenAI，DeepSeek 用 DeepSeek | 没有搜索服务商的模型路线会返回一条点名该路线的错误 |
| 打开网址 | 此人工作进程发出的普通请求 | 主机够不到的地址会失败 |
| 飞书登录、飞书文档、飞书机器人、连接飞书账号 | 飞书 | 关掉飞书，改用本机账号登录，见下文 |
| 语音输入 | 准备好之后不需要 | 识别模型到主机之前，麦克风保持灰色 |
| 会议录音转写 | 火山引擎语音识别，需要它自己的密钥 | 录音不会被转写 |
| 语音通话 | OpenAI，需要它自己的密钥 | 页面不提供通话 |
| 读取文档 | 无 | 不适用 |
| 安装与更新 | 软件包仓库，以及你们部署所安装的源码仓库 | 使用你们能访问的镜像 |

联网搜索跟着模型走：用 GLM 的人通过智谱搜索，用 ChatGPT 路线的人通过 OpenAI 搜索，用 DeepSeek 的人通过 DeepSeek 搜索。所以搜索与模型服务商绑在一起，此人换模型时搜索服务商也跟着换。

语音输入由主机内部的一个识别器完成。录音在内存里识别，不保存。识别器的模型文件约 241 MB，从 huggingface.co 或 hf-mirror.com 下载一次；主机连不上这两个地址时，把文件复制到运维手册指明的文件夹，对照固定哈希检查通过即可使用。

## 不用飞书登录

飞书是可选的。没有飞书应用，部署照样启动，照样提供网页、让人登录，并运行文件夹、文档、会话和例行任务。在两处把飞书关掉，两处必须一致，然后把人员列进一份本机账号表；每个人用名字和口令登录，只保存口令的哈希。增加一个人不需要重启。

关掉飞书之后：

- 登录页没有飞书按钮。
- 云文档预览显示为链接，不再嵌入文档。
- 发给机器人的文件会被拒绝，聊天入口也关闭。
- 飞书命令行工具不会为任何人安装。

## 完全在公司内部运行

没有任何外部调用的部署是一种配置，不是另一个产品。需要考虑这几部分：

1. **自己托管的模型。** 部署可以加一条路线，指向你们内网里的模型服务，例如一个兼容 OpenAI 协议的服务；路线需要地址和模型列表，没有密钥的服务要填一个占位密钥。非几不带这样的路线，所以模型服务由你们选，路线由你们加，并设为默认。
2. **本机账号**，替代飞书，见上文。
3. **搜索的决定。** 搜索只接了上面三家云端服务商。用本地模型路线时，联网搜索会返回点名该路线的错误，直到你把这条路线对应到你们能访问的搜索服务商。
4. **语音。** 手工放好语音输入的模型文件。会议转写和语音通话需要云端密钥，所以保持关闭。
5. **安装来源。** 提供软件包仓库的镜像和源码仓库的副本。
6. **你们自己的验收。** 非几随附并实际运营的是上面的云端路线；自己托管的模型是一种配置，需要你们在自己的工作上先测试，再让大家依赖。

::: warning 注意
回答质量、速度和工具使用都取决于你们托管的模型。请用大家实际会用的模型来测试。
:::

## 接下来

- [成员与权限](./permissions.md) 谁能看到什么，AI 可以改什么。
- [「/」命令](./slash-commands.md) 用 /模型 为一次会话选择模型。
- [空间管理](./space-admin.md) 部署好之后创建空间、添加成员。
