Backend Manager
Backend Manager 让你在手机上用自己的令牌,跟进 33 个服务上已部署、已存储和已监控的内容。它有三个标签页:状态(需要你处理的事)、项目(所有项目汇总在一个列表里)和服务(已连接的服务,以及可以连接的服务)。读取是免费的,只有实时日志和 PostHog 功能开关例外;破坏性更改、回滚、后台监控和 AI 解释属于 Pro。重新部署、取消等可逆操作是免费的。
它是什么,以及如何打开
Backend Manager 以全屏窗口打开,没有关闭按钮,也没有返回箭头。系统返回手势会上一步:在某个标签页的根页面返回欢迎页,在欢迎页则退出该模块。每次调用都由你的手机直接发往服务商的官方 API,使用你自己的令牌:PocketCode 不托管、不计费,也不代理其中任何服务。
打开方式
| 你所在的位置 | 操作 | 进入的页面 |
|---|---|---|
| 导航栏 | 在开发工具面板中依次点工具、后端。该格上的红色数字表示有事需要处理。 | 始终是欢迎页。这是有意为之:欢迎页已经列出需要你处理的事,所以模块不会回到你上次使用的标签页。 |
| 命令面板 | 工具分组中的部署。它的说明仍写着“部署标签页”,但现在只有三个标签页。 | 按托管筛选的项目,不经过欢迎页。 |
| 主页 | 快捷操作部署和监控,或后端卡片上的查看全部。 | 按托管或可观测性筛选的项目,或状态。 |
| 启动器图标 | 长按 PocketCode,然后点状态或重新部署。 | 状态。重新部署(“重新部署最近的项目”)本身从不直接部署:它会打开你最近检查过的项目页面,没有的话打开状态,真正的按钮和确认步骤在那里。 |
| 快速设置与主屏幕 | 后端磁贴,以及后端状态和后端项目小组件(Pro)。 | 状态,或项目页面。它们只打开页面,从不执行操作。 |
| 链接 | pocketcode://backend/{provider}/{project}/{section} 或 pocketcode://backend-status。 | 服务商账户、项目、栏目,或状态。 |
| 文件浏览器或编辑器 | 文件浏览器操作菜单中的部署此项目,或编辑器菜单和命令面板中的部署项目。 | 应用上方的一个面板(见“从编辑器部署”)。 |
窗口的行为
- 每个标签页都会记住你上次所在的位置,所以切换标签页或筛选条件不会丢失位置。标签页只在某个标签页的根页面显示。
- 在平板或宽度达到 600 dp 及以上的窗口中,项目和服务左边是列表、右边是详情;状态的宽度上限为 720 dp。
- AI 助手有自己的后端工具(状态、项目、日志、变量、部署和回滚),并且与按钮遵循相同的 Free 与 Pro 限制。它们在 AI Chat 页中介绍。
做不到的事,以及原因
- 从开发工具面板直接进入某个标签页:它总是从欢迎页开始。命令面板、主页、链接和快捷方式则会跳过欢迎页。有意为之
- 为 13 个以外的服务打开链接、小组件或启动器快捷方式:只有 Render、Vercel、Netlify、Railway、Fly.io、Cloudflare、DigitalOcean、Firebase、Appwrite、Convex、Supabase、Sentry 和 PostHog 这 13 个服务有 Backend Manager 页面。对 Neon、GitHub、Stripe 等其余服务,链接没有任何效果。尚未提供
- 通过小组件、磁贴、启动器快捷方式或链接执行操作:它们只会打开一个只读页面,操作在那里仍然有自己的确认步骤和套餐限制。有意为之
界面一览
模块的每个界面、进入方式,以及在其中可以做什么。
| 界面 | 进入方式 | 可以做什么 |
|---|---|---|
| 欢迎页 | 从工具打开模块;或在某个标签页的根页面使用返回手势。 | 查看已连接的服务数量和最需要你处理的事;进入状态、项目或服务;连接服务。 |
| 顶栏、标签页与角标 | 始终在顶部;标签页只在某个标签页的根页面显示。 | 在状态、项目和服务之间切换;查看状态上的红色数字;服务商出错时,出错了卡片提供重试、复制错误和忽略。 |
| 状态 | 状态标签页;查看需要你处理的内容;启动器快捷方式、磁贴、小组件和主页的后端卡片。 | 查看一句话摘要、待处理卡片、平台状态、即将进行、支出,以及你今天做的改动;点生成今日摘要(Pro)。 |
| 项目 | 项目标签页;打开项目。 | 搜索、筛选、下拉刷新、打开项目或服务商账户,检查从未查询过的服务商。 |
| 服务商账户 | 点列表中服务商的名称;服务中的打开账号。 | 在项目和账户之间切换,打开账户的各个栏目并执行账户操作。 |
| 项目 | 点某个项目(列表、状态、服务商账户、链接、小组件)。 | 查看状态和最近一次提交,执行主操作,打开更多操作,查看关键数据并进入各个栏目。 |
| 时间线 | 项目的第一个活动行(托管服务商上是部署记录)。 | 按全部、部署、错误和配置筛选;把部署和监控事件放在一起查看。 |
| 栏目列表 | 项目或账户的某个栏目行;所有工具;带栏目的链接。 | 搜索、按状态筛选、加载更多、复制 id、在网页上打开,并执行该栏目的操作。 |
| 行详情 | 点列表中的某一行。 | 查看服务商返回的内容、全部复制,查看 CI 作业的步骤或 Sentry 问题的调用栈。 |
| 部署详情 | 点部署记录中的某个部署。 | 重新部署、回滚到这一次、发布到生产环境、取消部署、重试此部署,查看构建日志,打开实时日志,解释此故障(Pro)。 |
| 日志 | 项目的日志栏目;部署中的构建日志。 | 搜索,按级别、来源、路径和时间筛选,暂停、复制和分享。 |
| 实时日志 | 项目中或正在运行的部署中的实时日志(Pro)。 | 跟踪日志流、筛选、暂停、复制、分享和重新连接。 |
| 环境变量 | 项目的变量栏目。 | 按环境查看名称、复制名称、添加变量和删除变量(Pro)。 |
| 确认、Pro 拦截页和结果 | 任何会改变内容的操作。 | 用资源名称确认(风险操作还需要指纹),查看 Pro 门槛的拦截页,查看结果。 |
| 服务 | 服务标签页;连接你的第一个服务。 | 搜索 33 个服务、连接其中一个、管理连接(见“平台服务”)。 |
| 后端管理器通知 | 设置 → 通知 → 后端管理器。 | 为每个服务选择通知、仅监控或关闭,选择通知哪些内容,以及静音哪些项目(Pro)。 |
| 部署此项目 | 文件浏览器的操作菜单或编辑器。 | 一次性设置目标,然后部署 ZIP 或提交并推送。 |
| 小组件、磁贴与快捷方式 | 主屏幕、快速设置、长按启动器图标。 | 一眼看到状态并打开 Backend Manager;它们从不执行操作。 |
欢迎页与三个标签页
从工具打开模块时,先看到的就是欢迎页。之后一切都在三个标签页里,你通过点按逐层深入:服务商、项目、栏目、详情。
三个标签页
| 标签页 | 显示什么 |
|---|---|
| 状态 | 现在需要你处理的事:你的服务商状态页上未解决的故障、失败的项目、本月支出和一句话摘要。计划内维护会列出,但不会算作故障。 |
| 项目 | 所有已连接账户的所有项目放在一个列表里,每个项目都有一个状态:已上线、部署中、部署失败、降级运行、已暂停或未检查。 |
| 服务 | 先列出你已连接的服务,然后是可连接其余服务的 33 项目录,分好组并支持搜索。 |
状态上的数字是红色的,统计需要处理的事项;计划内维护不会计入。项目和服务上是中性色数字:真实项目(不含 UptimeRobot 监控项或 CI 行)和已连接的服务。
你可以
- 没有连接任何服务时,会显示“你所有的部署、数据库和错误报告,都在一处。”和“33 个服务:托管、数据库、监控、支付和消息。”,以及连接你的第一个服务,它会打开服务并让搜索框获得焦点。
- 已连接服务时,会显示已连接的数量、最需要你处理的一件事,以及还有多少件事需要看一眼。然后是查看需要你处理的内容(进入状态)或打开项目(进入项目),以及连接其他服务(进入服务)。
做不到的事,以及原因
- 选择部署、BaaS或监控标签页:只有三个标签页。托管、数据、可观测性和 CI 都是项目里的筛选条件。有意为之
状态
状态只回答一个问题:有什么东西坏了吗?进入后,它会刷新监控项、Expo 构建和服务商的状态页,并查询支出。
你可以
- 阅读顶部的一句话摘要:一切正常,或类似“1 个故障 · 2 个项目需要你 · 4 个项目已上线”这样的组合。
- 点生成今日摘要,为每个需要关注的项目生成一句话(今日摘要)。它属于 Pro,会调用你在 PocketCode 中连接的 AI 服务商;如果没有需要关注的内容,就不会调用 AI,而是显示目前没有需要关注的问题。
- 阅读顶部的待处理卡片(此标签页中没有标题):失败或降级的项目、最近发生的事件(Sentry 新问题、即将到期的证书、已宕机的监控项、因令牌失效而关闭的监控),或你已加载的、用量达到配额 80 % 的计量项。卡片提供打开项目、详情和忽略;如果情况发生变化(新的提交、级别或影响),被忽略的卡片会自动重新出现。
- 阅读平台状态:你所连接服务商的公开状态页上未解决的故障,包括影响程度(轻微、严重或致命)和受影响的项目。状态页会打开官方网站;滑动卡片或点忽略即可隐藏。
- 阅读即将进行:计划内维护,按服务商分组并标为计划内。它从不算作故障。
- 阅读支出(见下方说明)。
- 阅读你今天用手机做的改动,这是今天所做改动的本地记录(显示三条,其余点查看全部)。只有存在逆向操作时才会出现撤销:重新部署与取消、暂停与恢复、发布与回滚。
- 点正常项目那一行进入项目,点已忽略 N 项 · 显示那一行找回你隐藏的内容。
- 没有连接任何服务时,会显示尚未连接任何服务,并提供连接服务。
做不到的事,以及原因
- 查看没有已知公开状态页的服务的平台故障:只有 14 个是已知的(Vercel、Netlify、Render、Railway、Fly.io、Cloudflare、DigitalOcean、Supabase、Sentry、PostHog、GitHub、Appwrite、Convex 和 Neon)。第三方
- 查看 Railway、Cloudflare、Netlify 或 Vercel 的支出:PocketCode 读不到它们已计费的金额,而 Railway 的用量只是估算,无法附带币种。第三方
- 撤销清除缓存、DNS 记录、变量或 SQL 语句:只有重新部署与取消、暂停与恢复、发布与回滚存在逆向操作。有意为之
- 为已暂停的项目生成卡片:那是你有意暂停的,所以不算警报。有意为之
“支出”显示什么
项目
项目是一个列表:你所有已连接服务商的项目,按服务商分组,出问题的排在前面,再按名称排序。托管、数据、可观测性和 CI 是筛选条件,而不是独立的页面。在平板上,列表占左边,详情占右边(“请在左侧选择一个项目。”)。
你可以
- 按名称、域名或分支搜索(名称、域名或分支)。它只筛选已加载的内容,不会向任何服务商发起请求。
- 打开筛选(开启两个筛选条件时会变成筛选 · 2):类别(托管、数据、可观测性、CI)和状态(已上线、部署中、部署失败、已暂停、降级运行、未检查)。数据包含后端服务和数据库。
- 查看每个项目的状态条。CI 仓库显示CI 通过、CI 失败或运行中;监控项显示正常或宕机。
- 点项目即可打开,点服务商的名称(大写,带 logo)则打开账户。
- 下拉刷新。它只查询筛选后仍然可见的服务商,并跳过正在等待速率限制的服务商,这些服务商会显示请等待 N 秒。
- 从未查询过的已连接服务商会显示<Provider> · 尚未查询和一个检查按钮;查询后没有返回任何内容的则显示<Provider> · 没有项目。
- 没有内容可显示时,你会看到暂时没有可显示的内容和连接服务;筛选条件匹配不到任何项目时,显示没有符合条件的项目。
- 点 +(新建)打开一键部署或 Kubernetes。这两个页面都属于托管部分,所以打开其中任何一个,列表也会切换到托管类别。
- 一键部署分三步:选择服务商、输入仓库详情(仓库 URL 和分支,然后点下一步)和确认部署(项目名称、摘要和部署)。只列出能完成这件事的服务商,目前是 Vercel:它会根据该仓库在 Vercel 上创建项目,并以部署已启动!(“你的项目正在部署中”)结束。没有项目名称和仓库(owner/name 或完整 URL)时,会提示“请输入项目名称和 Git 仓库(owner/name 或完整 URL)”。
- Kubernetes 是一个本地的 Kubernetes 部署清单生成器,不涉及任何集群:名称、命名空间、镜像、副本数、端口、CPU 上限和内存上限会填充一份 YAML 预览,你也可以手动编辑。重新生成会根据这些字段重建 YAML,复制和分享图标(复制值、分享清单)会复制或发送它。
做不到的事,以及原因
- 用标签按单个服务商筛选:筛选是按类别和状态进行的。有意为之
- 在服务商中搜索:搜索框只筛选已经加载的内容。有意为之
- 为 CI 仓库或监控项打开账户页面:点它们会打开其网页地址。有意为之
- 打开 PocketCode 没有页面的服务商:你会看到“PocketCode 还没有该服务商的页面。”尚未提供
服务商账户
点列表中服务商的名称,或服务标签页中的打开账号,即可查看账户本身,而不是某个项目。
你可以
- 在项目(带数量)和账户之间切换。
- 在账户中打开账户的各个栏目,它们分为观测、配置、数据、运行、用量和更多(Cloudflare 的 DNS 区域、DigitalOcean 的域名和可用性检查……),并执行账户操作,例如 Vercel 上的切换团队。
- 查看最多三项账户数据。
- 没有令牌时,你会看到连接 <Provider> 和一个连接按钮,它会在模块上方打开连接面板;没有项目时,你会看到未找到项目和在 <Provider> 中查看。
做不到的事,以及原因
—
项目及其时间线
项目页把状态放在按钮之前。顶部是项目名称、状态和上次检查的时间,然后是最近一次提交(“分支 · sha · 作者”)。下面是一个主操作和一个次要操作、关键数据(最多三项)、该项目有待处理事项时的需要处理,以及它的各个栏目,它们分为观测、配置、数据、运行、用量和更多。
你可以
- 执行由项目状态决定的主操作(见下表)和一个次要操作。其余操作都在更多操作里,分在查看、更改和影响生产环境下;你的套餐没有开放的操作会显示Pro 功能和一把锁。
- 根据服务商支持的内容,页头可以提供重新部署(CI 仓库上是重新运行)、回滚、暂停或恢复(Render)、取消部署(仅在部署进行中时)、实时日志和在浏览器中打开。不是 Pages 项目的 Cloudflare 项目只能选择打开。
- 页头的回滚会回到最近一次正常的部署:它跳过最新的部署(刚刚出问题的那个),取更早的第一个已就绪的部署。它适用于 Vercel、Netlify、Render、Cloudflare Pages、Railway(使用为该项目选定的服务)和 DigitalOcean;如果没有,会提示“没有可回滚的成功部署”。在 DigitalOcean 上,它会请 DigitalOcean 把应用回滚到上一个部署,不经过下面的三个阶段,那三个阶段属于回滚到这一次。
- 在 Netlify 上,重新部署在你使用后会立即禁用(请等待 20 秒),因为 Netlify 每分钟只允许三次部署。
- 查看关键数据。在 Cloudflare、UptimeRobot 和 Railway 上,它们在你点按之前会显示加载,以节省你的请求额度。
- 项目的栏目超过八个时,打开所有工具:此时每组显示三行,面板上有搜索框。
- 栏目行会概述它的状态(正在询问提供方…、一个数量、打开以查看日志)。第一个活动行会打开时间线。
- 用忽略隐藏该项目的某一条需要处理。
- 打开项目时只会请求部署记录和最多三项数据(在 Cloudflare 区域上还有安全设置);其余栏目都在你打开时才请求。
做不到的事,以及原因
- 执行不可逆的操作:删除资源、
DROP、恢复备份或会改变账单的更改,在这里和模块的任何地方都不会提供。有意为之 - 没有 Pro 就更改生产环境:每个破坏性操作都需要 Pro 门槛从手机上改动你的后端(见“Free 与 Pro”)。Pro
- 在失败的项目上一键回滚:回滚在更多操作里的更改下。失败项目的主操作是为什么失败(Pro)或打开构建日志。有意为之
- 打开项目时加载所有栏目:你与服务商自家仪表盘共用的请求额度,会在你读到任何内容之前就用完。第三方
各状态的主操作
| 状态 | 主操作 | 次要操作(服务商提供的第一个)及其余操作 |
|---|---|---|
| 部署失败 | 为什么失败(Pro:它会打开部署记录,其中解释此故障会给出原因)。Free 上是打开构建日志。 | 重新部署。更多操作中:打开构建日志、回滚、实时日志。 |
| 部署中 | 实时日志(Pro:在 Free 上点它会打开 Pro 拦截页)。 | 取消部署。更多操作中:打开构建日志和打开站点。 |
| 已上线 | 在浏览器中打开。 | 重新部署。更多操作中:实时日志、打开构建日志。 |
| 已暂停 | 恢复。 | 打开构建日志。更多操作中:实时日志、在 <Provider> 中打开。 |
| 未检查 | 立即检查。 | 打开站点。更多操作中:实时日志、打开构建日志。 |
| 降级运行 | 立即检查。 | 实时日志。更多操作中:打开站点、回滚。 |
每类操作如何先询问
| 操作类型 | 会发生什么 |
|---|---|
| 读取:列表、日志、指标 | 无需确认。 |
| 可逆:重新部署、重新运行、取消部署、恢复、回滚、发布到生产环境 | 一次写明资源名称的确认。不需要指纹。 |
| 破坏性:暂停、添加或删除变量、DNS 记录、域名…… | 同样的确认,外加你的指纹或屏幕锁(如果手机支持);不支持的话就只有确认。需要 Pro。 |
不可逆:删除资源、DROP、恢复备份 | 从不提供。 |
时间线
项目的第一个活动行会打开时间线:一个把项目的部署和运行记录,与后台监控的事件合并在一起的列表,最新的在前。
你可以
- 用标签全部、部署、错误和配置筛选;只有有内容的标签才会出现。
- 阅读按天分组的列表;没有日期的行排在最后。空的时间线显示这里还没有内容。
- 点事件打开它的链接,或点部署打开部署记录列表。
- 使用底栏:工具(项目的各个栏目)和项目的主操作。
做不到的事,以及原因
- 查看比服务商返回的、以及手机已记录的更早的历史。第三方
- 在后台监控从未运行过的情况下查看监控事件:它们由 Pro 监控记录。Pro
部署
点项目的部署记录列表(Vercel、Netlify、Render、Railway、Cloudflare Pages 和 DigitalOcean)中的某个部署,即可查看详情:提交信息、状态、提交、作者、分支、日期、id 和 URL,只显示服务商返回的字段。
你可以
- 在服务商支持的地方重新部署(Netlify、Render、Railway 和 DigitalOcean;Vercel 有自己的重新部署操作,会询问是哪个部署)。在 Free 上,只要项目没有其他进行中的部署,就可以使用。
- 在已就绪的部署上回滚到这一次,以及发布到生产环境(仅 Vercel)。它们属于 Pro,且可逆:一次确认,不需要指纹。在 DigitalOcean 上,回滚到这一次分三个阶段(见下文);页头的回滚不经过这些阶段。
- 在部署进行中时取消部署(Vercel、Netlify、Render 和 Railway)。
- 在失败的 Cloudflare Pages 部署上重试此部署:它会重新构建同一个提交,在成功之前线上内容不会有任何改变。
- 在 Vercel、Render、Cloudflare 和 Railway 上查看构建日志(最多 20 页)。
- 部署运行时打开实时日志(Pro)。
- 在失败的部署上解释此故障(Pro)。它会把构建日志的摘录和项目变量的名称发给你连接的 AI 服务商,并可能给出按钮,例如添加 DATABASE_URL,点它会打开已填好键名的变量表单。不会自动执行任何操作。
- 如果连接了 Sentry 且部署有提交,会出现一张Sentry · 自本次部署以来卡片,显示自该提交以来的错误,并带有打开该版本。
做不到的事,以及原因
- 在 Netlify 或 DigitalOcean 上查看部署的构建日志:Netlify 没有提供对应的接口,DigitalOcean 只在应用日志下列出最新版本的部署日志。部署页会显示“该提供方尚未发布 PocketCode 能读取的构建日志。”第三方
- 保留 Render 的回滚:Render 会保持自动部署开启,所以“自动部署仍然开启:下一次推送到该分支会撤销这次回滚。”第三方
- 在 Free 上为同一个项目在已有部署进行中时再触发一次部署(Netlify、Render、Railway 或 DigitalOcean 上的重新部署、从编辑器部署、AI 助手,或工作流的部署步骤):它会停下并提示“需要升级才能触发另一个活跃部署”,然后打开 Pro 拦截页。Pro
DigitalOcean 上的回滚,分三个阶段
- 1在 DigitalOcean 回滚首先会询问 DigitalOcean:“正在询问 DigitalOcean 此次回滚是否安全…”
- 2在任何内容改变之前,你先阅读 DigitalOcean 的说明(“这是 DigitalOcean 在进行任何更改之前给出的说明。”),然后点继续。
- 3回滚已完成,但应用被固定住了:在你确认永久化或撤销之前,它不会接受新的部署。选择确认为永久或撤销回滚。
- 4结束时会显示“回滚已确认。应用可以再次接受部署。”“已撤销。应用已恢复到先前的配置。”,或者在 DigitalOcean 拒绝时显示“DigitalOcean 拒绝了此次回滚。没有进行任何更改。”整个流程都需要 Pro。
日志
构建日志、运行时日志和实时日志共用同一个查看器。查看构建日志和运行时日志是免费的;实时日志流属于 Pro。
你可以
- 搜索(在日志中搜索),按级别筛选(调试、信息、警告、错误),暂停和恢复,复制整个日志和分享日志。已上线角标表示日志流已打开。看起来像令牌的值会显示为[已隐藏],复制或分享的内容中也是如此。
- 打开筛选,可以设置来源(仅 Render:构建、应用和请求,并带有在服务器端执行的文本或正则表达式筛选)、路径(日志行带有路径时)、时间(任意时间、最近 15 分钟、最近 1 小时、最近 24 小时)、清除筛选和完成。
- 日志栏目最多读取 5 页,部署的构建日志最多读取 20 页。如果还有更多内容,会显示“最近的日志行。使用筛选缩小范围。”;否则显示这就是全部内容。
- 从项目或正在运行的部署中打开实时日志(Pro)。它会从正在连接 <Provider>… 变为来自 <Provider> 的实时日志,统计行数(已接收 N 行),在内存中保留最近 10,000 行,并且只在该页面打开期间保持连接。一分钟没有输出后,它会显示已经一分钟没有新内容和重新连接;数据流已关闭和数据流已断开是另外两种结束状态。
做不到的事,以及原因
- 在 Netlify 或 Fly.io 上查看实时日志流:两者都没有提供受支持的实时流。第三方
- 查看 Render Hobby 工作区的 HTTP 请求日志:它们需要 Render 的 Pro 工作区,否则返回为空(“HTTP 请求日志需要 Render 的 Pro 工作区。Hobby 方案下返回为空。”)第三方
- 按路径筛选实时日志行:它们不带来源信息,所以实时日志中不会显示筛选里的路径一行。有意为之
各服务商推送什么
| 服务商 | 实时日志包含什么 |
|---|---|
| Vercel、Railway | 构建输出,前提是已经部署过内容(“尚未部署任何内容,因此没有可传输的日志”)。 |
| Cloudflare Pages | 仅包含对 Pages Functions 的调用,前提是已经部署过内容:静态站点不会发送任何内容。 |
| Render、DigitalOcean | 运行中的应用写入的内容,而不是构建。页面也会这样说明:“<Provider> 传输的是运行中应用写入的内容,而非构建过程”。 |
| Netlify、Fly.io | 没有内容:两者都没有提供受支持的日志流。 |
栏目、列表与变量
项目或账户的每个栏目(部署、域名、指标、DNS、变量、用户、问题……)都是一个列表,只显示服务商官方 API 允许的内容,不允许时会明确告知。
栏目列表
栏目会从项目、账户、所有工具或带栏目名称的链接中以列表形式打开。
你可以
- 下拉刷新,用加载更多获取下一页。
- 列表有六行或更多时可以搜索(在此列表中搜索),有两种或更多状态时可以用标签按状态筛选(全部和已有的状态)。
- 行带有日期时,按天分组阅读(今天、昨天),行失败时会显示原因。
- 每一行可以:打开详情、复制 id、在浏览器中打开,以及执行栏目声明的操作。整个栏目的操作(例如添加变量或创建 DNS 记录)放在列表上。
- 列表为空时会说明原因:“PocketCode 尚未从 <Provider> 读取此项”(服务商那里有,但 PocketCode 不读取)、<Provider> 不提供此功能,或者一句简单的“暂时没有”。第一种和最后一种附带在 <Provider> 中查看,用来打开服务商的面板,“暂时没有”还会附带重试;“不提供此功能”没有按钮,Fly.io 的日志除外。
- 标有在 Database 中打开的行(Supabase、Neon、Turso、Cloudflare D1 和 PlanetScale)会离开本模块,在该项目上打开数据库,SQL 控制台、表、RLS 策略和结构健康检查都在那里。
做不到的事,以及原因
- 读取 PocketCode 尚未读取的内容:这些栏目会显示“PocketCode 尚未从 <Provider> 读取此项”。尚未提供
- 看到比服务商官方 API 提供的更多内容:每个栏目只显示它允许的内容。第三方
行详情与 CI 步骤
点一行会在列表上方打开一个面板,所以列表会保留它的滚动位置、筛选条件和页码。
你可以
- 查看服务商返回的元数据、全部复制、复制 id,在浏览器或服务商的面板中打开(在 <Provider> 中查看),并执行该行的操作。
- 在属于已连接 Cloudflare 区域的域名上,你的 DNS 托管在 Cloudflare会跳转到它的 DNS。
- 在 GitHub Actions 上,作业会带着作业和失败于 <step>标签打开,显示它的步骤,以及一个只重新运行失败作业的按钮。
做不到的事,以及原因
—
环境变量
项目的变量栏目(Render、Vercel、Netlify、Railway、Cloudflare Pages 和 DigitalOcean)显示的是名称,而不是已存储的机密。
你可以
- 查看分为密钥 · 值不会离开 <Provider>和明文的变量,并按环境(Production、Preview、Development)筛选;服务商有多个环境时会显示数量。
- 用复制名称复制名称。
- 添加变量(键和值;值字段会被遮盖)和删除变量。两者都需要 Pro:一次写明变量名称的确认,加上手机支持时的指纹。
- 在 DigitalOcean 上,更改通过应用的 spec 进行:预览此更改免费,会显示将会发生什么;保存变量需要 Pro,更改变量会触发一次部署。
- 在 Cloudflare Pages 上,点明文变量的眼睛图标即可显示它的值;机密永远不会返回。
- 当解释此故障建议添加缺失的变量时,添加变量表单会打开,并已填好键名。
做不到的事,以及原因
- 在 Render、Vercel、Netlify、Railway 或 DigitalOcean 上查看变量的值:每一行都显示由 <Provider> 隐藏,因为 PocketCode 从不在屏幕上显示生产环境的机密。有意为之
- 以同样的方式在 Fly.io 上添加或删除变量:它有机密(名称和摘要),需要 Pro 才能设置,并在机器重启时生效。第三方
Sentry 与可观测性
Sentry、PostHog、Axiom、Healthchecks.io 和 UptimeRobot 出现在项目的可观测性下,它们报告的内容会汇入状态和后台监控。
你可以
- Sentry:问题、最新事件、各版本的无崩溃率、定时任务监控、日志和配额。一个问题打开后包含事件数、用户数、发布版本、一张事件(24 小时)图表、它的调用栈(你自己代码的帧)和标签,并带有在 Sentry 中打开和复制堆栈。
- Sentry 问题上的四个操作(解决、指派、静音、归档)都是可逆的,所以免费。它们需要令牌具有
event:write权限:创建令牌时授予org:read、project:read、event:read和alerts:read,只有想从这里修改问题时才再加上event:write。 - PostHog:洞察、事件和日活用户、人员及其时间线、问卷、错误跟踪和功能开关。
- UptimeRobot:监控项、事件、响应时间、维护窗口、监控一个新网址和暂时静音(15 分钟到 2 小时的维护窗口)。Healthchecks.io:检查及其状态翻转。Axiom:日志、事件量和查询预算。
做不到的事,以及原因
- 在 Free 上打开 PostHog 的功能开关列表:打开它需要 Pro,关闭和灰度百分比(0 到 100 % 的滑块)也需要 Pro。Pro
- 在应用里暂停监控项:UptimeRobot 和 Healthchecks.io 没有可用的控制方式。暂时静音(UptimeRobot)通过维护窗口让它安静下来。尚未提供
逐个托管服务商
目前在七个托管服务商上各能做什么,取自 PocketCode 为每个服务商实现的内容。Expo EAS 在第二张表中。
| 你想做什么 | 哪些服务商可以 | 哪些不可以 |
|---|---|---|
| 部署历史(部署记录) | Vercel、Netlify、Render、Railway、Cloudflare Pages、DigitalOcean。 | Fly.io 没有部署:它的动态显示正在进行的发布和机器。 |
| 重新部署 | Netlify、Render、Railway、DigitalOcean。Vercel 通过它自己的重新部署操作。 | Cloudflare(只有在失败的部署上可用重试此部署)和 Fly.io。 |
| 回滚(Pro) | Vercel(发布之前的部署)、Netlify、Render、Railway、Cloudflare Pages、DigitalOcean(回滚到这一次分三个阶段)。 | Fly.io。 |
| 取消部署 | Vercel、Netlify、Render、Railway。 | Cloudflare、DigitalOcean 和 Fly.io。 |
| 部署的构建日志 | Vercel、Render、Cloudflare、Railway。 | Netlify 没有提供对应的接口。DigitalOcean 的应用日志只是最新版本的部署日志。Fly.io 没有。 |
| 运行时日志(一个栏目) | Vercel(运行时日志)、Render(日志,带来源筛选)、Railway(日志)、Cloudflare(Workers 日志)。 | Netlify 和 Fly.io(在 Fly.io 中查看)没有;DigitalOcean 只能通过实时日志。 |
| 实时日志(Pro) | Vercel 和 Railway(构建输出)、Render 和 DigitalOcean(运行中的应用)、Cloudflare Pages(仅 Pages Functions)。 | Netlify 和 Fly.io:没有受支持的日志流。 |
| 环境变量 | Render、Vercel、Netlify、Railway:名称,加上添加和删除(Pro)。Cloudflare Pages(生产环境;表单中选择环境)。DigitalOcean 通过应用的 spec。 | Fly.io 改用机密:名称和摘要,需要 Pro 才能设置,重启时生效。 |
| 域名与 DNS | Vercel(项目的和账户的;添加域名需要 Pro)、Netlify、Railway(Railway 域名需要 Pro)、Cloudflare(区域,包含 DNS 记录)、DigitalOcean(域名和 DNS 记录)、Fly.io(证书;检查 DNS 免费,添加域名需要 Pro)。 | Render 没有域名、DNS 或 TLS 栏目。 |
| TLS 与证书 | Fly.io(带剩余天数的证书)和 Cloudflare(区域的证书)。 | Vercel、Netlify、Render、Railway 和 DigitalOcean 没有 TLS 栏目。 |
| 指标 | Vercel(访问量)、Render(CPU、内存、带宽)、Railway、Fly.io(HTTP 响应)、Cloudflare(Worker 指标)、DigitalOcean(应用和 droplet)。 | Netlify 没有:它唯一的数据是当天的部署配额,且是估算值。 |
| 用量与费用 | DigitalOcean:本月支出和账单。Vercel:最近 24 小时的部署。Railway:本周期用量,是不带金额的估算值。 | Render 没有用量或费用。Cloudflare 的暂未读取。Fly.io 没有。 |
各服务商还有什么
| 服务商 | 另外还有 |
|---|---|
| Vercel | 把别名指向这里、切换团队、暂停(Pro)和恢复项目,以及项目和账户的域名。 |
| Netlify | 锁定和解锁自动发布(Pro)。 |
| Render | 事件、构建配置、编辑或扩缩实例(Pro)、暂停(Pro)和恢复。 |
| Railway | 批准待处理的部署,以及创建 Railway 域名(Pro)。 |
| Fly.io | 机器:事件、进程、排空和恢复流量、重启、停止和启动(可逆,免费)。机密、证书和HTTP 响应。 |
| Cloudflare | Workers(流量拆分和将版本降到 0%,Pro)、KV、R2、D1(在数据库中打开)、DNS 区域(创建和删除记录需要 Pro)、证书、WAF、安全事件和清除缓存(免费)。 |
| DigitalOcean | Droplet(其操作需要 Pro)、Kubernetes 集群、托管数据库、卷、防火墙、可用性检查、账单和强制重建。 |
| Expo EAS | 通过 Expo 的内部 API 读取你的构建列表,只读,尽力而为。 |
服务标签页
第三个标签页列出你已连接的服务,以及 33 项的目录。本页只介绍你在这个标签页里看到的内容;如何连接每个服务、令牌权限和目录本身,见“平台服务”。
你可以
- 按名称同时搜索所有服务(搜索 33 个服务)。
- 阅读已连接:每个服务一行,包含它的 logo、名称和项目数量,失败的排在前面。可见五行,另外 N 个会展开其余的。
- 如果你连接了同一服务的多个账户,用行下方的标签切换当前账户。
- 点已连接的服务进行管理连接(有账户页面时是打开账号):检查它、替换密钥或断开连接。
- 浏览连接,即分为八组的目录。点某个服务,会在模块上方打开它的连接面板;如果手机有指纹或屏幕锁,会先要求验证。
- 在宽窗口中,列表在左边,打开账号和管理连接在右边(“在左边选一个服务。”)。
做不到的事,以及原因
- 在 Free 上连接同一服务商的第二个账户:每个服务商的第一个账户免费,第二个需要 Pro(每个服务商多个账号)。Pro
- 为没有账户页面的服务打开账户:不会绘制打开账号按钮。尚未提供
- 在手机有指纹或屏幕锁时,不确认是你本人就打开连接面板:面板会先要求验证。两者都没有的手机会直接打开。设备
目录的八个分组
| 分组 | 服务 |
|---|---|
| 托管(8) | Vercel、Netlify、Render、Railway、Fly.io、Cloudflare、DigitalOcean、Expo EAS。 |
| 后端(6) | Firebase、Supabase、Appwrite、Convex、PocketBase、Clerk。 |
| 数据(5) | Neon、Turso、PlanetScale、MongoDB Atlas、Upstash。 |
| 可观测性(5) | Sentry、PostHog、Axiom、Healthchecks.io、UptimeRobot。 |
| CI(3) | GitHub、GitLab、Bitbucket。 |
| 媒体(1) | Cloudinary。 |
| 支付(2) | Stripe、RevenueCat。 |
| 消息(3) | Resend、OneSignal、Twilio。 |
通知与后台监控
后端监控让手机在后台检查你的服务并通知你,并提供小组件和快速设置磁贴。它属于 Pro,不涵盖其余通知设置。在设置 → 通知 → 后端管理器中打开(该行带有 PRO 角标);在 Free 上,这个页面是一个拦截页,会打开拦截页让手机替你盯着。
你可以
- 用通知、仅监控或关闭选择每个已连接服务的监控方式。仅监控会让它出现在状态中,但不发通知;关闭则不发任何请求。在 Android 13 及更高版本上,选择通知会请求通知权限。
- 选择通知哪些内容:按类型的开关,分在部署、CI、在线状态和错误组(每组都有发送测试),以及其他组(域名即将到期、用量超过 80%、服务商事件和监控已停止)。共有 12 种类型,分为 8 组。故障会按你的 Android 设置发出提示音;恢复则静默送达。
- 用静音项目为单个项目静音:被静音的项目永远不会通知,但仍留在状态中。只列出设为通知的服务。
- 阅读频率卡片:“每 15 分钟检查一次;从应用发起部署后的 10 分钟内,每 45 秒检查一次。”“最多延迟 15 分钟,中间没有服务器”,以及当天的请求数。
- 每天还会做一次检查,涵盖域名、证书和配额。有七个服务商有自己的增量查询(Render、Cloudflare、DigitalOcean、Sentry、Healthchecks.io、GitHub 和 GitLab);其余的则由监控比对上一次已知的状态。
做不到的事,以及原因
- 获得实时通知:这是在手机上轮询,而不是推送。Android 对周期性任务的最小间隔是 15 分钟,所以通知最多可能晚 15 分钟到达,也没有任何 PocketCode 服务器替你轮询。有意为之
- 关闭监控已停止(“令牌已过期 · 始终开启”):令牌失效时,你总会收到提醒。有意为之
该页面的三个分页
服务
频率卡片、请求数,以及每个服务的通知 / 仅监控 / 关闭。如果某次 401 让监控关闭了,会显示“已关闭:此令牌已失效,请重新连接该服务。”
通知哪些内容
8 组共 12 种类型,每种都有自己的开关;发送测试按钮在部署、CI、在线状态和错误这四个组上。
静音项目
为单个项目提供静音和取消静音;被静音的项目会显示已静音 · 仍在“状态”中。
小组件、磁贴与快捷方式
- 后端状态小组件最多显示五个项目,出问题的排在前面。后端项目小组件显示你添加时选定的一个项目:它的状态和最近一次部署,以及一个重新部署按钮(CI 仓库上是重新运行),它会打开应用,从不直接部署。
- 快速设置中的后端磁贴显示一切正常,或出问题的项目数量。
- 没有 Pro 时,小组件和磁贴会显示后端监控是 Pro 功能;小组件还会加上“打开应用以解锁。”
- 启动器快捷方式状态和重新部署不需要任何套餐:它们只打开页面。
从编辑器部署
这是应用上方的一个面板,不需要先打开模块。在文件浏览器的操作菜单中用部署此项目打开它,或在编辑器的菜单和命令面板中用部署项目打开(仅当项目在磁盘上时)。一个简短的向导会把目标保存在项目内的 .pocketcode/deploy.json 中,其中不含任何令牌,然后在摘要页提供部署。
向导,逐步说明
- 1选择服务商。只列出你已连接且有部署历史的服务商(Render、Vercel、Netlify、Railway、Cloudflare 和 DigitalOcean)。一个都没连接时,面板会说明这一点,并提供打开 Backend Manager。
- 2从你的账户中选择站点或项目。
- 3选择方式:上传输出目录(ZIP),配合它的输出目录(只有当
dist、build、out、public、_site和www里有index.html时才会被推荐),或提交并推送,它会暂存所有内容、有改动时提交,并推送当前分支(设置提交信息;默认是从 PocketCode 部署)。 - 4点保存目标。
- 5在摘要页点部署。确认框会提示“这会把 … 上传到生产环境”,并在手机支持时要求你的指纹或屏幕锁。
- 6结束时,查看部署会打开该部署或部署记录列表;如果远程仓库是 GitHub 且已连接,查看 CI 会打开它的运行记录。如果连接了 Sentry,还会为该提交创建一个 Sentry 发布版本。
还需要了解什么
- 更改目标会回到向导。服务商限制部署频率期间,面板会显示服务商限制部署频率:请等待 N 秒。
- ZIP 不包含
.git、.pocketcode、node_modules、符号链接、隐藏文件和密钥文件(id_rsa、*.jks、local.properties……);只有.well-known会被上传,面板会说明有多少文件被排除。 deploy.json不含令牌,可以手动编辑;如果无法读取,面板会要求你重新设置目标。
做不到的事,以及原因
- 把 ZIP 上传到 Netlify 以外的服务商:Vercel 和 Cloudflare Pages 会显示为禁用,并提示PocketCode 尚未支持读取。尚未提供
- 在没有 git 远程仓库时使用提交并推送(需要此项目配置 git 远程仓库),或在存在合并冲突时使用(“请先解决合并冲突再部署。”)。有意为之
- 部署空的输出目录:那会用空内容替换你的站点。有意为之
- 在 ZIP 中上传超过 200 MB 或 20,000 个文件。有意为之
- 部署到 Fly.io:它没有部署历史,所以不提供。第三方
- 在 Free 上,项目已有部署进行中时再次部署:面板会显示错误“需要升级才能触发另一个活跃部署”,以及一个会打开拦截页的查看 Pro按钮。Pro
Free 与 Pro
读取在所有套餐上都是免费的,只有两个例外:实时日志和 PostHog 功能开关列表。Pro 增加了写入、后台监控、AI 解释、每个服务商多个账户,以及不限进行中的部署数量。该模块有八个 Pro 门槛。
| 功能 | Free | Pro |
|---|---|---|
| 读取:列表、状态、构建日志和运行时日志、指标、用量、域名与 DNS、变量名称、部署记录、时间线 | 包含 | 包含 |
连接 33 个服务(MULTI_ACCOUNT) | 全部 33 个,每个服务商一个账户 | 全部 33 个,每个服务商可有多个账户 |
每个项目进行中的部署数(UNLIMITED_DEPLOYS) | 1 | 不限 |
回滚、回滚到这一次和发布到生产环境(DEPLOY_ROLLBACK) | 不包含:按钮会显示,确认后才出现 Pro 拦截页 | 包含 |
实时日志(LIVE_LOGS) | 不包含:点它会打开 Pro 拦截页 | 包含(Vercel、Render、Railway、Cloudflare Pages、DigitalOcean) |
破坏性更改(BACKEND_WRITE):暂停、添加或删除变量、DNS 记录、域名、扩缩容、droplet 操作、Fly.io 机密、Neon 的暂停计算实例和启动计算实例、Convex 的运行 mutation、Cloudflare Worker 的流量拆分和将版本降到 0% | 不包含 | 包含,每项都需要确认,手机支持时还需要你的指纹 |
PostHog 功能开关(FEATURE_FLAGS) | 不包含,连查看也不行 | 包含;关闭某个开关或更改其灰度还需要 BACKEND_WRITE |
后台监控(BACKEND_WATCH):检查、通知、小组件和磁贴 | 不包含 | 包含 |
AI(BACKEND_AI):为什么失败、解释此故障、生成今日摘要 | 不包含 | 包含;使用你自己的 AI 服务商 |
| 所有套餐免费:重新部署(在上限之内)、重新运行、取消部署、恢复、重试此部署、清除 Cloudflare 缓存、Fly.io 机器操作、Sentry 问题操作 | 包含 | 包含 |
隐私与安全
哪些内容留在手机上,哪些会离开手机。
- 每个服务都用你自己的令牌连接。令牌用 Android Keystore(AES-256-GCM)加密存储,每个 PocketCode 账户一个独立的文件,所以同一部手机上的其他账户无法读取它。
- 中间没有任何 PocketCode 服务器:每次调用都由你的手机直接发往服务商的官方 API,服务商按你自己的套餐对你的用量计费。PocketBase 或自托管的 Appwrite 会发往你输入的服务器地址。平台故障来自服务商的公开状态页,不需要令牌。
- 该窗口会阻止截屏和录屏,存放机密的面板也是如此。连接面板还做了防点击劫持(tapjacking)保护。
- 在 Render、Vercel、Netlify、Railway 或 DigitalOcean 上,变量的值从不显示,新变量的值字段在输入时也会被遮盖。
- 看起来像令牌的行在日志查看器中会显示为[已隐藏],所以复制或分享的内容中同样如此。
- 每个更改都会先询问。可逆操作询问一次,并写明资源名称;破坏性操作在手机支持时还会要求指纹或屏幕锁;不可逆操作从不提供。
- 解释此故障会把构建日志的摘录(已掩盖它知道的值)、项目和部署的名称,以及项目变量的名称发给你连接的 AI 服务商。生成今日摘要会发送需要关注的项目。两者都不会自己执行任何操作。
- 断开服务连接只会从手机上移除密钥:在你到服务商那里撤销之前,它在服务商那边仍然有效。
- 监控在手机上运行:没有任何 PocketCode 服务器轮询你的服务商或接收你的令牌。监控事件的记录和你今天所做改动的记录都留在手机上。
限制
模块做不到的事,按原因分组。每一项都会说明原因。
- 一切都需要网络连接和你自己的令牌。离线时,你会看到上次加载的数据(离线 · 显示 … 的数据)或无网络连接。需要网络
- 有些服务商的请求限制(比如 Cloudflare 的)与它们自己的仪表盘共用:PocketCode 只加载你打开的内容,只刷新可见的服务商,并在触及限制时等待(已达到请求上限)。第三方
- Netlify 每分钟允许三次部署,所以重新部署在你使用后会禁用 20 秒。第三方
- Netlify 没有构建日志或实时日志的 API,Fly.io 没有受支持的日志 API、部署历史或回滚:这些部分对它们来说是缺失的,而不是被隐藏了。第三方
- Cloudflare Pages 上的实时日志只包含对 Pages Functions 的调用,Render 的 HTTP 请求日志需要 Render 的 Pro 工作区。第三方
- 故障只来自有已知公开状态页的 14 个服务商。第三方
- 不可逆的操作(删除资源、
DROP、恢复备份)从不提供,也没有可以启用它们的高级模式。有意为之 - 在 Render、Vercel、Netlify、Railway 或 DigitalOcean 上,变量的值从不显示。有意为之
- 监控是在手机上每 15 分钟轮询一次,从应用发起部署后的 10 分钟内以 45 秒为周期,另外每天检查一次域名、证书和配额。有意为之
- 从编辑器进行 ZIP 部署只在 Netlify 上可用;在 Vercel 和 Cloudflare Pages 上会显示PocketCode 尚未支持读取。尚未提供
- 链接、小组件和启动器的重新部署只对 13 个服务商有效,也没有暂停监控项的控制方式。尚未提供
- 如果手机没有指纹或屏幕锁,有风险的操作仍会继续,但会带有它的确认步骤。设备
- 破坏性更改、回滚、实时日志、功能开关、AI 解释、后台监控、每个服务商多个账户,以及每个项目同时进行多个部署,都属于 Pro。可逆操作是免费的。Pro
故障排查
标题就是应用显示的消息。<Provider> 代表服务商的名称,… 代表真实消息中包含的文件夹名称。
<Provider> 拒绝了该令牌
令牌已过期或已被撤销。打开服务,点该服务并替换密钥,或点卡片上的重新连接。
此令牌无法读取此内容
服务商表示令牌缺少某项权限。创建一个带有连接面板所列权限的新令牌,并用它重新连接。
无网络连接
PocketCode 无法连接到服务商。请检查网络后重试。在显示上次加载的数据时,会有一条提示条写着离线 · 显示 … 的数据。
已达到请求上限
PocketCode 会等待,好让你与服务商仪表盘共用的额度重新恢复。按钮会倒计时(N 秒后重试),在项目中处于退避状态的服务商会显示请等待 N 秒。
不在你的 <Provider> 套餐中
服务商只在付费套餐上提供这项功能。PocketCode 这边没有需要修复的地方。
包含在 Pro 中
该栏目属于 PocketCode Pro。目前指的是 PostHog 的功能开关;查看 Pro 会打开付费页面。
“需要升级才能触发另一个活跃部署”
在 Free 上,一个项目同一时间只能有一个部署在进行。等它完成、取消它,或者升级到 Pro。
“没有可回滚的成功部署”
页头的回滚没有找到更早的、成功的部署。请打开你想要的部署,使用回滚到这一次。
“该提供方尚未发布 PocketCode 能读取的构建日志。”
Netlify 和 DigitalOcean 没有按部署划分的构建日志。在 DigitalOcean 上,应用日志里是最新版本的部署日志。
“尚未部署任何内容,因此没有可传输的日志”
Vercel、Cloudflare 和 Railway 上的实时日志,至少需要有一次部署才能传输。
已经一分钟没有新内容
日志流已连接但没有声音。点重新连接。在 Cloudflare 上,静态站点不会发送任何内容;在 Render 上,应用本身必须写出日志行。
“已关闭:此令牌已失效,请重新连接该服务。”
该服务的监控已停止,因为它的令牌被拒绝了。请在服务中重新连接它。监控已停止通知无法关闭。
“PocketCode 尚未从 <Provider> 读取此项”
数据在服务商那里存在,但 PocketCode 还没有对应的页面。在 <Provider> 中查看会打开服务商的面板。
“自动部署仍然开启:下一次推送到该分支会撤销这次回滚。”
Render 在回滚之后仍保持自动部署开启。如果想让回滚持续生效,请在 Render 中把它关掉。
“HTTP 请求日志需要 Render 的 Pro 工作区。Hobby 方案下返回为空。”
请求日志是 Render Pro 工作区的功能。构建日志和应用日志不受影响。
“输出目录 «…» 不存在或位于项目之外。”
修改输出目录(它相对于项目根目录,“.”表示整个项目),或编辑 .pocketcode/deploy.json。
“输出目录 «…» 为空:部署它会用空内容替换你的站点。”
PocketCode 拒绝部署空目录。请先构建你的站点,或选择存放站点的目录。
“输出目录太大,无法从手机上传”
ZIP 的上限是 200 MB 和 20,000 个文件,按未压缩计算。消息给出的是 PocketCode 停止统计时的文件数量和大小。请选择更小的目录。
“此项目没有可推送的 git 远程仓库。”
提交并推送需要项目里有 git 远程仓库,遇到合并冲突时会停止(“请先解决合并冲突再部署。”)。
“无法读取 .pocketcode/deploy.json”
该文件无效。请从部署此项目重新设置目标;它不含令牌,所以你也可以手动修复。
No AI provider connected
生成今日摘要和解释此故障会询问你在 PocketCode 中连接的 AI 服务商;请先在 AI 设置中连接一个。这条消息始终是英文。
“PocketCode 还没有该服务商的页面。”
你点了一个在 Backend Manager 中没有账户页面的服务商的名称。