# 网站（Beta）

> 让 Agent 构建并发布网站，上线、回滚和删除都由人确认。

Source: https://docs.syfo.ai/zh/docs/hosted-websites

## 网站是什么

网站是由 Syfo 托管的站点：Agent 在频道里负责搭建、部署和检查，你决定什么时候上线、谁能打开。网站在组织导航里叫「网站」；部署时出现的审批卡片上写的是「Hosted App」，指的也是网站。

:::note
网站目前处于 Beta，未必对所有组织开放。打开「网站」后如果看到「此处暂不可用网站」，说明你没有访问权限，或者组织还没开启这项功能。
:::

## 适合做什么

- 落地页、营销网站、活动页
- 文档站、作品集、博客、展示站
- 内部工具或小应用：需要保存数据时，可以给网站加一个云数据库，例如表单收集、简单的后台管理

网站有三种模板：静态站点、Next.js 和全栈网站。新网站默认不带数据库。当网站需要保存数据时，Agent 会先问你是否同意为它开启云数据库，不会自己直接开。数据库会在首次部署成功后创建，之后可以在网站详情的「数据库」标签里浏览数据表、修改记录、导出 CSV。

## 发布一个网站

1. **提需求。** 在频道里告诉 Agent 网站给谁看、要哪些页面和内容、谁能打开，以及要不要保存数据。

   ```text
   @研究助手 给下个月的线下活动做一个报名页：活动介绍、日程、报名表单，报名信息要能保存下来，只给本组织的人看。
   ```

2. **先看效果。** Agent 构建和验证期间，先检查它给出的本地效果或预览。
3. **批准上线。** Agent 准备好部署后，频道里会出现一张「部署 Hosted App」审批卡片，上面写着部署后谁能打开网站。核对无误后点「批准部署」；不同意就拒绝。卡片过期或被拒绝时，这次部署会取消。
4. **检查线上效果。** 部署成功后，卡片上会显示「打开网站」和「查看网站详情」。打开线上地址，检查导航、手机端布局、图片资源和 404 页面。

上线需要网站 Owner 或组织管理员批准。审批卡片的通用说明见[审批](https://docs.syfo.ai/zh/docs/approvals)。

:::note
本地构建成功不等于网站已经上线。以「部署」记录里的状态为准。
:::

## 在哪里找到网站

点组织导航里的「网站」，可以看到你拥有、参与或被分享的网站，并按「我拥有」「我开发」「与我共享」筛选。点开一个网站后，有这些标签：

- **基本信息**：预览、线上地址、当前版本
- **部署**：每次部署的状态、日志和回滚入口
- **数据库**：仅限带数据库的网站
- **账单**：这个网站消耗的积分
- **设置**：访问范围、域名、成员权限、环境变量

## 网站上的角色

| 角色 | 能做什么 |
| --- | --- |
| Owner | 完全控制：确认部署、回滚和删除，管理访问范围和成员，负责这个网站的费用 |
| 组织管理员 | 和 Owner 一样可以部署、回滚、删除，以及管理访问范围和开发者 |
| Developer | 开发和维护网站，不能部署、回滚或删除。来源频道里的 Agent 会自动成为开发者 |
| Viewer | 能在「网站」列表里看到这个网站；能不能打开，仍由访问范围决定 |

Owner 可以在设置里把网站移交给其他成员。完整的权限对照见[权限说明](https://docs.syfo.ai/zh/docs/permissions)。

## 谁可以打开

网站 Owner 或组织管理员可以在「设置 → 基本信息 → 网站访问范围」里设置谁能通过链接打开网站。这个设置不影响网站在列表里对谁可见。修改后最多需要 15 分钟生效。

![网站 → 设置 → 基本信息：在「网站访问范围」里选择谁能打开网站（可选项因网站类型而异）](https://docs.syfo.ai/zh/docs/images/website-access-scope.png)

- 任何人（无需登录）
- 任何已登录的 Syfo 用户（包括组织外）
- 本组织
- 本组织某些人
- 仅自己
- 指定 Syfo 用户

:::note
访问范围只控制谁能打开网站，不会自动给网站加上「使用 Syfo 账号登录」功能。Basic Auth（密码保护）是早期版本的能力：使用早期静态运行时、并且已经开启 Basic Auth 的网站会保留它，但不能再新开启。
:::

对外分享地址之前，要再确认一次当前的部署状态和访问范围。

## 回滚、暂停和删除

这些操作同样由网站 Owner 或组织管理员确认，可以在网站详情里直接操作，也可以由 Agent 发起审批卡片：

- **回滚**：在「部署」里选一个历史版本，点「回滚到此次」。只回滚网站版本，**数据库不会跟着回滚**。
- **暂停对外访问**：访客暂时打不开网站，版本、数据库和文件都会保留，之后可以「恢复对外访问」。
- **删除网站**：网站会立即从列表中移除，运行资源和数据库（连同里面的全部数据）会在后台永久销毁，Git 仓库保留。删除无法撤销。

## 费用

网站托管按实际用量扣组织积分，分为两部分：

- **云服务**：请求、函数执行和计算时长。
- **数据库**：存储、查询和写入。

网站详情的「账单」标签显示这个网站的每日消耗。组织层面的汇总在「用量 → 网站」。

组织积分不足时：

- 不能新建或部署网站，部署会显示「积分不足」。
- 已经在线的网站会先继续运行到宽限期结束，之后暂停访问。
- 充值后网站会自动恢复，不需要重新部署。

不能管理组织账单的成员，会看到「请联系组织 Owner 或管理员充值」。积分的来源和管理见[用量与计费](https://docs.syfo.ai/zh/docs/usage-billing)。

## 分工

你不需要操作部署命令行。Agent 负责构建、验证、准备源码、跟踪部署状态和检查线上效果；你负责确认上线、访问范围和是否开启数据库。

需要服务端密钥时，由网站 Owner 或组织管理员在「设置 → 环境变量」里配置，不要把密钥发到频道里。
