跳转到内容
首页
Docs/AI 聊天

AI 聊天

AI 聊天是 PocketCode 的第五个页面。它用你自己的密钥或登录信息,与你连接的提供商(OpenAI、Claude、Gemini、GitHub Copilot 或自定义端点)对话,所以 PocketCode 不收取任何 AI 费用。只要你允许,智能体就会读取并编辑你的项目、运行命令,最多可用 79 个工具。5 个访问级别决定它不经询问能动多少,三个引擎决定由谁来回答:对话、Swarmcode 和 Cortex。自动迭代可以根据一段描述构建出一个项目。聊天、工具、审批、制品、检查点和自动迭代都是免费的;Swarmcode、Cortex 以及少数智能体操作属于 Pro,其中 Swarmcode 和 Cortex 各有免费试用:2 次 Swarmcode 运行和 3 次 Cortex 任务。

它是什么,以及如何打开

AI 聊天不是弹窗:它是主分页器的第五页,也是最后一页,排在主页、项目、文件和 IDE 页面之后。这里描述的一切(对话、制品、各个引擎、自动迭代)都从它延伸出去。

The AI Chat page on a tablet in landscape before any provider is connected: the Conversations panel with New, Search conversations and No conversations yet, the greeting Hi! I'm your AI assistant and the card No AI service configured
在平板上首次运行:「对话」面板固定在左侧,在你连接提供商之前,聊天会提示你先设置一个。

打开方式

你所在的位置你的操作结果
主分页器滑到第五页。指示器显示五个圆点,最后一个亮起。AI 聊天页面。
命令面板运行 AI 聊天 命令。AI 聊天页面。
主页在快捷操作里点按 AI 助手 快捷操作。AI 聊天页面。
代码编辑器选中代码并运行 就所选内容询问 AI(Ctrl+I)。编辑器关闭,聊天打开,并把文件路径和所选内容(最多 4,000 个字符,放在代码块里)作为额外上下文。它不会填进输入框:它会随该对话之后的每一轮一起发送,切换到另一个对话或删除这个对话时就会被丢弃。
通知点按已完成回合、等你批准的请求或后台任务的通知。聊天会打开到相关的对话或面板。通知本身绝不会批准或拒绝任何操作。
链接打开 pocketcode://app/chat。AI 聊天页面。pocketcode://app/chat/<text> 会打开它,并把 <text> 作为额外上下文,和编辑器的做法一样。

发送第一条消息之前

  • 你至少需要一个带密钥或登录信息的提供商。没有的话,页面会显示 尚未配置 AI 服务,并提供 设置 AI 服务,点它会进入「设置」里的密钥面板。AI 提供商页面会逐一介绍每个提供商、密钥面板和模型列表。
  • 第一次向某个提供商发送内容时,会弹出对话框 发送给 <provider>?。它说明 PocketCode 会通过互联网把你的消息以及你附加的任何代码或文件发送给该第三方提供商,并请你避免发送不希望被处理的密钥或个人数据。你的回答会针对该提供商和该账号记住。
  • PocketCode 不收取 AI 费用,也没有额度:你向提供商付费,请求从你的设备直接发给它。聊天对消息数、对话数或 token 数没有按套餐设定的上限。

你不能,以及原因

  • 从主页的最近聊天卡片或从链接打开某一个指定的对话:它们只会打开当前已激活的对话,而且 pocketcode://app/chat 不带对话 id。尚未提供

界面一览

AI 聊天的每个界面、面板和卡片各占一行。每一项都会在下面的章节里详细说明。

界面如何进入你可以做什么
AI 聊天页面主分页器的第五页。与你的提供商对话、附加文件和图片、用 @ 添加上下文、运行 / 命令,选择访问级别、引擎和强度。
顶部栏页面顶部。更换模型,打开对话、● N 活动标签和对话菜单(⋮)。
空白状态新建对话。从十个快捷入口开始,或排除阻碍你的问题:没有提供商、没有网络、无网络设置。
消息流页面中部。阅读带代码、图表和公式的回复;复制、重试、朗读、举报;编辑你自己的消息;固定智能体查阅过的文件。
输入框页面底部。输入文字、附加内容、用 @ 提及、运行 / 命令、语音输入、发送、停止或排队一条消息。
控制栏输入框正上方。访问级别标签、引擎标签、强度标签、上下文环形指示器和当前技能徽章。
模型选择器点按顶部栏里的模型名称。选择提供商和模型。AI 提供商页面里有说明。
决策、审批、密钥和问题卡片智能体需要你时,出现在输入框上方。批准或拒绝工具请求,允许或拒绝离开你设备的内容,提供密钥,回答问题。
文件更改栏智能体编辑文件后,出现在输入框上方。对每个文件选择保留或撤销,或使用全部保留 / 全部撤销。
对话顶部栏按钮;在宽屏平板上是固定面板。新建、搜索、置顶、重命名、导出、删除,或把对话变成 Cortex 智能体。
制品与制品查看器⋮ → 制品,或消息流里的工件卡片。预览、代码和变更三个标签页;版本栏;保存到项目、分享、请求修改、在 Designer 中打开。
文件⋮ → 文件。查看 AI 在这个对话中读取或修改过的文件,并在编辑器中打开其中一个。
对话记录⋮ → 对话记录。阅读并复制对话内容,不含工具和卡片。
活动⋮ → 活动,或 ● N 标签。查看哪些在等你、哪些在运行、今天完成了哪些;查看、停止、打开、忽略、全部停止。
后台任务活动 → 打开一个终端进程。停止 AI 留在后台的命令,并清除已结束的。
上下文与用量点按控制栏里的环形指示器。查看上下文窗口、立即压缩、设置自动压缩、开关回复建议、读取你的提供商额度。
Swarmcode 卡片与智能体面板引擎标签 → Swarmcode;然后点 查看智能体。跟踪一次运行的各个阶段,并更改尚未开始的智能体的模型。
Cortex 界面引擎标签 → Cortex。欢迎页、带智能体条的 Cortex 界面、智能体目录、智能体编辑器、自主程度和这次任务的工作。
自动迭代与迭代设置输入 /loop;齿轮图标打开设置。描述一个项目、审阅计划、逐个任务运行,并调整 30 项设置。
Pro 门槛免费试用用完后,选择 Swarmcode,或在没有套餐时进入 Cortex。Pro AI 或 Cortex 面板,带 解锁 Pro AI 和 继续使用基础套餐。

聊天界面

这就是页面本身。各章节按界面从上到下展开:顶部栏、空白状态、消息流、输入框、@ 和 / 菜单,以及控制栏。

顶部栏

顶部栏显示由哪个模型回答,以及聊天了解你项目的哪些情况。

你可以

  • 点按模型名称(更换模型 控件,带 ⇅ 图标)打开模型选择器。它有 最近、收藏 和 全部 三个标签页,以及一个 搜索所有模型 输入框;AI 提供商页面有详细说明。
  • 在名称下方查看对话标题或上下文:项目、打开的文件及其语言、文件数量和 代码已加载;没有项目时显示 没有活动项目。
  • 点按 对话 打开对话面板。
  • 点按 ● N 标签打开 活动。它只在有任务运行或等待时才出现,有任务在等你时会变红。
  • 打开 对话菜单(⋮):制品、文件、活动 和 对话记录。

你不能,以及原因

  • 在顶部栏里找到 Cortex 或自动迭代的图标:Cortex 要从引擎标签进入,自动迭代则用 /loop 命令。有意为之
  • 在顶部栏里找到额度仪表:额度已移到 上下文与用量 面板里。有意为之

空白状态与快捷入口

新对话会显示一句问候(你好!我是你的 AI 助手),并且在提供商就绪、你又在线时,在 试试: 下面显示十个快捷入口。每个快捷入口会写入它的提示词,设置该任务需要的访问级别,如果有对应技能,还会打开该技能。

十个快捷入口

快捷入口它设置的访问级别它打开的技能
解释代码只读无
查找 bug只读/debug
建议只读/review
优化只读/refactor
生成文档自动编辑无
编写测试自动编辑/test
学习不用工具/learn
SQL 查询只读/sql
Git 帮助只读/git
提问不用工具无

你可以

  • 点按一个快捷入口:提示词出现在输入框里,下表中的访问级别被设置,技能被打开。在你按下发送之前什么都不会发出去。
  • 当有东西阻碍你时,点按取代快捷入口的卡片:设置 AI 服务 打开密钥面板,查看该设置 打开无网络设置,重新检查 再次检测网络。

你不能,以及原因

  • 在没有提供商、开着无网络设置(任何数据都不会离开本机)或离线(没有网络连接)时使用快捷入口:在原因解决之前它们会被隐藏,因为一个注定失败的快捷入口还不如没有。有意为之

消息流与消息

回复会随着模型的书写逐步流入。代码、图表和工具调用会被渲染出来,而不是显示成原始文本。

你可以

  • 阅读带高亮代码块的 Markdown。用 mermaid 标注的代码块会画出图表,math、latex 或 tex 画出公式,chart 画出图表;当某种 Mermaid 类型或图表无法绘制时,该代码块会保持为代码。html 和 svg 代码块在回复结束后显示实时预览和一个 在画布中打开 按钮;任意长度的 xml 代码块,以及其他含有 15 个及以上换行的代码块,也有同样的按钮。
  • 模型从互联网链接的图片不会自动加载:你会看到一条提示(「来自 … 的外部图片。我们没有加载它」)和 加载图片。指向打开项目之外、使用应用不会打开的地址类型,或在无网络设置开启时出现的图片,会一直被拦截。
  • 每条 AI 消息下方有:复制、重试、朗读(以及 停止朗读,使用 Android 的文字转语音)、举报 和 更多,后者会显示发送时间、模型和 token 数(当数字是估算值时带有「~」和「(估算)」)。
  • 你自己的每条消息下方有:编辑(见「更改、检查点与错误」)。
  • 折叠推理过程(思考中…)和成组的工具调用(查看工具调用),并点按 显示完整回复 跳过逐字显现。
  • 用 固定到上下文 固定智能体查阅过的文件。固定的文件显示在一个条带里(已固定到上下文的文件),带 取消固定 和 清空,最多 8 个,每个文件都会随每一轮一起发送。
  • 分段阅读长对话:先加载最后 50 条消息,查看更早的 N 条消息 会加载更多。滚动到底部 跳回底部。
  • 使用每条回复下方的回复建议,或点按 忽略建议。它们可以在 上下文与用量 里关闭,每一轮会多花一次简短请求。

你不能,以及原因

  • 编辑一条消息并保留它之后的内容:编辑会把对话恢复到那个时间点,并删除之后的消息。有意为之
  • 重新打开对话时取回已附加的图片:只会保留一条「附加过图片」的记录,绝不保留图片本身的字节。有意为之

输入框

底部的输入框可以接收文字、附件、提及和命令。

你可以

  • 在输入框里打字(问点什么… 或 写一条消息…)。你正在输入的内容在屏幕旋转后仍会保留。
  • 点按 + 按钮(附加文件),选择 @file — 项目文件、图片 和 文档。移除 可在发送前去掉一个附件。
  • 每条消息最多附加 5 个文件。文本和代码文件(最大 500 KB,读取前 4,000 个字符)随提示词一起发送;被判定为二进制的文件会丢失内容。图片(最大 25 MB)会把长边缩放到 1,568 px,重新压缩,并在模型能看图时作为图片发送。每张图片的标签显示它的估算成本(~N tok)。
  • 用麦克风按钮语音输入(开始语音输入 / 停止语音输入)。第一次会有一条提示说明 PocketCode 只在你点按时才使用麦克风,并由 Android 的语音识别处理音频;然后 Android 会请求麦克风权限。
  • 按 发送。智能体工作时,按钮会变成 停止生成,你可以写下一条指令并按 排队消息:对于 PocketCode 掌控循环的提供商,智能体会在下一轮收到它而不取消当前回合;否则会在回合结束时发送。
  • 用 停止生成 停下:已生成的内容会保留,摘要显示 已由你停止。

你不能,以及原因

  • 发送 PDF 或任何其他二进制文件:选择器会接受它,但标签显示 未发送,因为没有能读取它的读取器。请改为粘贴文本。尚未提供
  • 一条消息附加超过 5 个文件:第六个会被忽略,且没有任何提示。有意为之
  • 附加超过 500 KB 的文本或代码(文件太大(最大 500 KB)),或超过 25 MB 的图片。有意为之
  • 用 GitHub Copilot、用 ChatGPT 或 Codex 登录的 OpenAI,或用看不了图片的模型发送图片(<model> 无法查看图片。请更换模型或移除图片。)。有意为之
  • 在没有麦克风权限、设备没有语音服务、没有网络,或使用 Android 没有对应语音包的语言时语音输入:每种情况都有各自的提示。设备

用 @ 添加上下文

在输入框里输入 @,菜单会提供 8 个命令。每个命令都会给这条消息添加一块上下文;继续输入即可筛选。

命令它给消息添加什么
@file 当前文件打开文件的内容,截取前 4,000 个字符。
@project 项目树文件路径列表,消息里最多 100 条(列表本身来自下面说明的 50 个文件的扫描)。
@problems 问题诊断得出的当前错误和警告。如果没有,消息会说明没有可用的诊断。
@terminal 终端终端最近的输出。
@codebase 代码库对你的项目做语义搜索:最佳的 5 个匹配,每个 800 个字符。
@web <url> 网页页面的文本。每条消息最多 3 个地址。
@diff Git 变更你尚未提交的更改:最多 30 个文件,总计 20,000 个字符,每个文件 6,000 个字符。
@folder <path> 文件夹文件夹里的文件:最多 3 个文件夹,每个 25 个文件,每个文件 4,000 个字符,总计 24,000 个字符。超过 256 KB 的文件会被跳过。

文件选择器与它的 50 个文件上限

  • 选择器有一个 搜索项目文件… 输入框。搜索是对名称和路径的模糊匹配,最多显示 15 个结果。你选中的文件如果小于 512,000 字节会被完整读取,否则会被一条简短说明取代,两种情况下它都要和其余上下文争夺空间。
  • 选择器和 @folder 只看应用找到的前 50 个文件:应用按字母顺序遍历项目,保留代码和文本扩展名,并跳过隐藏文件夹、.git、.gradle、build、node_modules、__pycache__、.idea 和 .vscode。在大型项目里,其余文件不会被提供。

你可以

  • 从菜单里选一个命令,或完整输入它。一条消息里可以使用多个。
  • 用 @file — 项目文件(在 + 菜单里)按名称选取项目里的任意文件。

你不能,以及原因

  • 使用 @selection:它已被移除,因为只有旧的编辑器内聊天才能填充它。要询问所选内容,请使用编辑器里的 就所选内容询问 AI。有意为之
  • 在语义搜索一无所获时从 @codebase 得到结果:消息里会带上「search results not available」。有意为之
  • 在文件选择器或 @folder 里看到大型项目的前 50 个文件之外的内容。有意为之

用 / 使用命令、技能和你自己的提示词

在输入框的第一个字符输入 /,菜单就会列出命令、技能和你自己的提示词。只有当输入框里只有一个 / 开头的词(还没有空格或换行)时它才会打开,所以消息中间的 /usr/bin 这样的路径不会触发它。没有 / 按钮。

命令作用
/help列出所有可用命令。 按「常规」「对话」「记忆」「技能」「上下文」和「自定义提示词」分组显示。
/new开始新对话。
/loop打开自主自动迭代。 打开 自动迭代。
/remember key = value存储项目记忆。 保存一条笔记,智能体在这个项目的每一轮都会读取。
/forget key删除已存储的记忆。
/memory显示项目记忆。
/skills列出可用技能。
/skill-off停用当前技能。
/compact压缩对话上下文。 把较早的轮次汇总起来腾出空间。

八个内置技能

输入一个技能命令就会在之后的轮次里启用它。技能的名称和描述在所有语言里都是固定的英文文本。

命令技能(应用中的名称)
/debugDebug: expert debugger, focused on finding and fixing bugs.
/refactorRefactor: code refactoring specialist, cleaner and more maintainable code.
/sqlSQL Expert: database and SQL specialist.
/gitGit: version control expert.
/deployDeploy: deployment and DevOps specialist.
/learnLearn: teaching mode, explains concepts step by step.
/reviewCode Review: finds issues and suggests improvements.
/testTesting: writes and improves tests.

你自己的智能体、模式和提示词

  • 项目里 .pocketcode/agents/ 或 .pocketcode/chatmodes/ 下的每个 .md 文件(以及从 Marketplace 安装的、对你的账号全局生效的那些)都会变成一个技能,命令为 /<文件名>。front matter 可以设置 name、description、icon、command、model、provider、tools、skills、language 和 scope;文件正文就是系统提示词。Cortex 的智能体编辑器会替你写这些文件。
  • .pocketcode/prompts/ 下的每个 .md 文件(以及从 Marketplace 安装的)都是一个命令 /<文件名>。它的 front matter 可以设置 description,正文里的 ${input} 或 {{input}} 会被替换为你在命令后面输入的内容。
  • 当两个名称冲突时,你的提示词优先于技能,技能优先于内置命令。

你可以

  • 输入 / 加前缀进行筛选;如果按前缀匹配不到,菜单会退回到模糊搜索。
  • 运行一个命令、启用一个技能(它的徽章出现在控制栏里,带 ✕ 可移除)或运行你自己的一个提示词。技能命令后面的文字会立即作为你的消息发送。

你不能,以及原因

  • 用技能改变智能体被允许做的事:技能只会改变系统提示词,绝不改变权限。有意为之

控制栏

在输入框正上方,从左到右依次是:当前技能徽章(如果有)、访问级别标签、引擎标签、强度 标签(仅当模型有强度级别时)以及固定在右侧的上下文环形指示器。

你可以

  • 点按访问级别标签选择智能体可以做多少(见「引擎与访问级别」)。
  • 点按引擎标签选择 对话 或 Swarmcode。Cortex › 在同一个菜单里,位于分隔线之后,因为它会打开自己的界面。
  • 点按 强度 标签选择模型思考的深度。每个级别都有提供商给出的一行描述(英文)。
  • 查看环形指示器:上下文窗口低于 75 % 时是主色,从 75 % 起为橙色,从 90 % 起为红色。当模型的上限不可靠时,它会画一个空环,并用带「~」的已用 token 数代替编造的百分比。点按它打开 上下文与用量。

你不能,以及原因

  • 在没有推理级别的模型(Claude Haiku、gpt-4o、gpt-4.1、2.5 之前的 Gemini)上看到 强度 标签:该标签会被隐藏。第三方
  • 使用旧的 Ask、Plan 和 Agent 选择器:它已被访问级别和引擎取代。有意为之

各提供商的强度级别

标签显示当前模型的级别。这些列表在应用里是固定的,只有 OpenAI 的例外:已安装内置 Codex CLI 时,PocketCode 会从中读取,否则退回到内置列表。

Claude(不含 Haiku)关闭、低、中、高(默认)、超高 和 最大。Haiku 没有级别。
OpenAI(推理模型)来自 Codex CLI,或内置列表 none、minimal、low、medium、high、xhigh。none 显示为 关闭,minimal 只存在于 gpt-5 系列。gpt-4o 和 gpt-4.1 没有级别。
Gemini 2.5 及更新版本关闭(Pro 模型没有)、低、中(默认)、高 和 最大。
GitHub Copilot取决于被封装的模型:gpt-5 和 o 系列是 minimal 到 high,Opus 和 Sonnet 是 Claude 的那一档,Gemini 2.5 及更新版本是 关闭 到 高。
自定义端点应用不提供级别。

引擎与访问级别

控制栏里的两个选择是相互独立的:访问级别决定智能体能动多少,引擎决定由谁来回答。旧版应用里的 Ask、Plan 和 Agent 模式,现在是这两者的一种组合。

没有 智能体模式 开关。只要访问级别是 先询问 或更高,并且引擎是 对话,智能体就会使用工具工作;只读 让它可以读取和搜索;不用工具 则让它只输出文字。

五个访问级别

级别应用的说明智能体做什么
不用工具仅文字,不读取文件它拿不到任何工具:每次调用都会被拒绝。
只读读取和搜索,不做更改读取和搜索。任何会写入、运行或更改东西的操作都会被拒绝,而不是来询问你。工具目录缩减为 56 个。
先询问写入或执行前先询问可以自由读取。写文件、运行命令、部署或任何其他更改都要等你点头。
自动编辑自行写入,执行前询问也会自行写文件(每个文件会保留一份快照,所以你可以撤销)。命令和部署仍然要等你点头。
完全访问仅外发设备和写入记忆时询问本地的一切都不经询问直接运行。涉及离开你设备的内容,以及写入项目记忆,它仍然会询问。

全新安装默认是 自动编辑。如果你之前选过级别,就会保留,而且重启后应用绝不会自行提高级别。空白状态的快捷入口在你点按时会设置各自的级别。该级别适用于智能体能走的每条路径(直接 API 调用、Codex CLI 和 Copilot 语言服务器):它们都经过同一道关口。

引擎与自动迭代

选择应用的说明它做什么,以及代价
对话一个代理,与你一步步协作免费。一个模型、它的工具和当前对话。
Swarmcode多个代理并行尝试,评审择优Pro,另有 2 次免费运行。主控模型决定启动多少个只读智能体,让它们并行运行,综合它们的草稿,并且在开启验证时,由一组评审来检查答案。
Cortex有名字的代理,多条战线并进Pro,另有 3 次免费任务。它把一项工作分给你的各个智能体,每个智能体带着自己主题的上下文,再把答案汇总起来。它有自己的界面。
自动迭代(不是引擎)打开自主自动迭代免费。用 /loop 打开。它根据一段描述构建项目:先出计划,再逐个任务执行。

你不能,以及原因

  • 在 2 次免费运行用完后、没有套餐时选择 Swarmcode:会打开 Pro AI 面板,显示 你的 Swarmcode 免费运行次数已用完。升级后可继续使用智能体团队。(解锁 Pro AI 或 继续使用基础套餐),引擎不会改变。已保存的 Swarmcode 引擎会在你发送时重新检查,以防你已失去套餐或用完了免费运行。Pro
  • 在 3 次免费任务用完后、没有套餐时进入 Cortex:你会看到 Cortex 属于 Pro。你的免费任务已用完。 和 Cortex 面板。Pro

智能体能做什么

在访问级别允许时,智能体通过工具工作:读取和搜索你的项目、编辑文件、运行命令、查询数据库、操控 Dev Browser 等等。应用声明了 84 个工具。普通聊天最多提供其中 79 个;另外 5 个只存在于 Cortex 任务里。使用 只读 时,智能体会拿到 56 个,也就是那些不改变任何东西的工具。这些数字不含 Workflows 工具、你标记为可供 AI 使用的 Workflows,以及你的 MCP 服务器的工具。

按类别划分的工具

类别普通聊天中的工具
只读(16)read_file、list_dir、file_search、grep_search、semantic_search、repo_map、get_errors、get_changed_files、build_list_tasks、project_list、color_info、color_palette、contrast_check、encode_decode、generate_hash、generate_uuid。
提问(2)ask_user 向你提出带选项的问题;secrets 向你索取密钥,而且绝不会看到它。
写入(6)create_file、replace_string_in_file(一次调用里可带一组更改)、delete_file、rename_file、apply_patch 和 artifact。
终端(3)run_in_terminal、build_run_file、build_run_task。
待办(1)manage_todo_list 维护你在消息流里看到的 代理任务 列表。
记忆(1)copilot_memory 存储、回忆、列出和删除项目记忆。
设计(2)design_export、design_list。
部署(8)deploy_trigger、backend_status、backend_list_projects、backend_logs、backend_env(只含变量名,绝不含值)、backend_rollback,以及两个封装 backend_list 和 backend_do。
数据库(6)db_query、db_execute、db_schema、db_list_tables、db_list_connections、db_inspect。
API(3)api_request、api_list_collections、api_import_curl。
SSH(4)ssh_exec、ssh_list_hosts、ssh_upload、ssh_download。
Git(7)git_status、git_commit(一步完成暂存全部并提交)、git_log、git_diff、git_push、git_pull 和 git_branch(列出、创建或切换)。
浏览器(20)19 个 browser_* 工具(导航、页面信息、点击、输入、滚动、等待、查找文本、截图、控制台、网络、存储、Cookie、设备配置、性能、审计等)加上 fetch_webpage。它们作用于 Dev Browser,而它必须是打开的:否则工具会回答「Dev Browser is not open. Ask the user to open the Dev Browser, then call this tool again.」
工作流(不计入)workflow__list、workflow__get、workflow__runs、workflow__create、workflow__update、workflow__run,以及你标记为可供 AI 使用的每个工作流。
Cortex 协同(5,仅在任务中)cortex_peers、cortex_recent、cortex_decisions、cortex_escalate、cortex_handoff。

这 15 个类别就是 AI 工具权限(设置 → AI)里的各行,你可以在那里针对某个提供商或某个模型允许或禁止每个工具;被禁止的工具无论访问级别如何都不会运行。这些数字对应完整目录:ssh_exec 和 ssh_list_hosts 只在你保存了主机时才提供,api_request 和 api_list_collections 只在你有 API Tester 集合时才提供,deploy_trigger、backend_* 工具和两个封装只在连接了托管提供商时才提供。你的 MCP 服务器(设置 → AI → MCP 服务器)的工具另外计入。

值得了解的限制

  • run_in_terminal 在 POSIX sh(应用内置的 BusyBox ash)里运行,不是 bash。命令默认等待 30 秒,最多 120 秒。较长的输出会保留前 120 行和后 120 行,并给出一个存有全部内容的文件名。以后台模式启动的命令会继续运行,并显示在活动里。
  • read_file 会拒绝超过 5 MB 的文件,对于较长的文件,还会告诉你从哪一行继续。搜索最多返回 100 个结果(默认 50 个)。list_dir 最多深入 5 层,最多列出 500 个条目。
  • 一个回合可以进行模型需要的任意多轮工具调用:对于 PocketCode 直接对接的提供商,默认没有上限,由上下文窗口限制工作量(回合会在溢出之前以一份摘要结束)。你可以在提供商设置里为每个提供商设置最多 100 轮的上限。只有为不支持原生工具调用的模型准备的后备路径会在 10 轮后停止。
  • 上下文窗口很小(约 16K token 或更少)时,聊天只声明十项:八个核心工具加两个用来发现其余工具的工具。无法原生调用工具的自定义模型会改为得到文本形式的目录。
  • Shell 命令在运行前会按它可能造成的破坏进行分类。灾难性的命令(会毁掉应用或你的数据,或交出你的凭据)无论访问级别和理由如何都绝不会运行。这是纵深防御,不是沙箱。

叠加在访问级别之上的规则

  • 离开你设备的内容总是会询问。 git_push、deploy_trigger、api_request、ssh_exec、ssh_upload、browser_navigate、fetch_webpage、browser_evaluate_js、db_execute 以及发布或发送内容的 Shell 命令,在每个级别(包括 完全访问)都要等你点头,除非你关闭 在本机之外操作前先询问(设置 → AI → AI 工具权限;默认开启)。
  • 写入项目记忆总是会询问(copilot_memory 的存储和删除),即使在 完全访问 下也一样,因为这些文字会在之后的每一轮被读回。
  • git_commit、git_pull、git_branch、browser_clear_storage、browser_set_cookie 和 secrets 不带卡片就会改变东西,所以智能体不会在每次提交时询问,但 只读 和 不用工具 会拒绝它们。
  • 你在 AI 工具权限 里禁止的工具无论级别如何都不会运行,它的别名也一样。
  • 如果智能体用相同的参数坚持发出同一个调用,会弹出一张卡片来询问你,而不是任由它循环(它反复用相同的参数请求 …,没有继续推进)。

工具请求与 Copilot 卡片

这些卡片位于输入框上方,一次显示一张,带有像「1 of 3」这样的徽章;输入框会说明有多少个在等待。

你可以

  • 工具请求(用于无法原生调用工具、请求以文本块形式到达的模型):它显示 命令(可编辑)、模型说明的用途(模型的说法)、一个 写入 标记,以及按钮 批准、拒绝、执行已编辑的,有多个等待时还有 全部批准。如果你修改了命令,会出现 已编辑 — 执行修改后的命令,并重新评估其风险,恢复原始命令 会撤销你的修改。被你清空的命令无法批准。
  • Copilot 想要运行一个工具(仅限 GitHub Copilot):它显示 工具 及其 输入,带 允许 和 拒绝。
  • 应用 Copilot 编辑?(仅限 GitHub Copilot):每个文件一行(N 处编辑),带 应用编辑 和 拒绝编辑。

你不能,以及原因

  • 通过划掉来关闭一个决策:这些是卡片,不是面板,所以手势不能在没有确认的情况下做出决定。有意为之

审批:什么需要你点头

在 先询问(每次写入和命令)、自动编辑(命令)下,以及在每个级别里涉及离开你设备的内容时,智能体会把请求挂起到审批队列,然后继续做别的工作:它绝不会停下来等你。在你做出决定之前,该操作不会运行。批准本地操作(写文件、命令)会运行它;批准离开你设备的操作,则会放行智能体下一次相同的请求。

你可以

  • 阅读折叠的一行:「<用通俗语言说明的操作> · 需要你的确认」。点按 显示详情 查看原因(例如「它会在另一台机器上执行命令」「它会将提交发布到远程仓库,之后无法收回」或「它会部署到更多人能看到的环境」)以及等宽字体显示的细节。
  • 选择 拒绝、允许,或者对于写文件或命令这类本地操作,选择 始终允许此操作:它只会针对这个完全相同的操作、且仅在会话剩余时间里被记住。对于离开你设备的内容或写入项目记忆,它永远不会提供,这些都要逐条查看。
  • 有多个在等待时,可以选中它们并使用 允许所选 或 拒绝所选。
  • 如果该回合已经结束,你的决定会随你的下一条消息传给智能体(这些来自上一轮。你下次发消息时,你的代理就会知道。)。
  • 应用在后台时,通知会打开对话,并让卡片显示在视野里。

你不能,以及原因

  • 从通知里批准或拒绝:它只会打开对话。有意为之
  • 批量批准离开你设备的内容(离开本机的操作需要逐条决定,所以会留在这里。)。有意为之
  • 在另一个应用覆盖在 PocketCode 之上绘制时批准:卡片在被遮盖期间会忽略点按(防点击劫持保护)。有意为之

密钥:智能体永远看不到的密钥

secrets 工具让智能体向你索取令牌或 API 密钥,而且永远看不到它。

你可以

  • 填写卡片 助手需要一个密钥:值(4 到 16,384 个字符,单行)和 允许发送到的主机(用逗号分隔,仅限 https://;留空表示只用于终端命令,而终端命令总是先询问)。然后 保存,或 拒绝。
  • 阅读卡片上的承诺:你在这里输入的内容会在本设备上加密。助手永远看不到它,也不会保存在聊天中。
  • 对删除请求(删除已保存的密钥?)回答 保留 或 删除;删除后无法恢复。
  • 已存储的密钥在工具输出、对话导出以及发给提供商的内容里都会被遮盖。使用密钥的命令会有自己的卡片(它会把已保存的密钥 … 交给该命令,命令可以把它发到任何地方),即使你关闭了对外部操作的审批也一样。

你不能,以及原因

  • 查看或导出已存储的值:应用里没有任何会返回它的函数,连部分内容也没有。请在设置 → AI → 密钥 里管理列表。有意为之

智能体的提问与任务清单

智能体可以停下来问你一个问题,并维护一份可见的任务清单。

你可以

  • 在消息流里回答问题卡片(ask_user):点按一个选项、其他(或者写下你自己的回答)、跳过、下一个 或 发送。它是卡片,不是对话框,而且可以折叠。
  • 跟踪 代理任务 卡片(manage_todo_list):它显示进度,如「已完成 2 / 5 · 1 进行中」或 任务已全部完成,带 收起任务、展开任务 和 隐藏任务。

你不能,以及原因

—

制品

制品是 AI 用 artifact 工具制作的页面、图表、文档或组件,而不是粘贴到消息流里。它显示为一张 工件 卡片;每次更改都会创建一个新版本,所有版本都会保留。

六种制品类型

类型查看器显示什么
html在加固的视图中显示实时页面。
svg该图片,也可以分享为 SVG 或 PNG。
mermaid(Mermaid 图表)该图表。无法绘制的 Mermaid 类型会显示它的源码,并提示「此类图表无法在此绘制,显示源码。」
markdown(Markdown 文档)渲染后的文档。
react(React 组件)用内置的 Preact 挂载的 JSX 或 TSX 组件,不联网。只能导入 react、react-dom、preact 和 htm。
code任意语言的源码,显示在 代码 标签页里。

制品列表

⋮ → 制品 会列出整个对话的每个制品(不只是最近 50 条消息里的),包括它们的所有版本。

你可以

  • 阅读每一行:标题、类型、版本、在你的项目中 或 在对话中,以及多久之前。点按一行打开查看器。
  • 还没有制品时,它会显示 让 AI 做一个页面或图表。

你不能,以及原因

  • 在 只读 或 不用工具 下,或在 Cortex 任务里创建制品:artifact 工具会写入,所以那里它被隐藏了。有意为之
  • 在没有打开项目时把制品保存在磁盘上:没有项目文件夹时,工具不会返回版本或路径。查看器仍然会从消息流里显示它。有意为之

制品查看器

在至少 840 dp 宽的平板上,查看器是消息流旁的侧边面板;在手机上则是全屏。你可以从列表、工件 卡片或代码块的 在画布中打开 按钮打开它。

你可以

  • 在 预览、代码 之间切换,有两个或更多版本时还有 变更 v1→v2(最多 400 行的差异)。版本栏(第 N 版,共 M 版)在各版本之间移动。
  • 复制代码。分享 为 .ext 文件、SVG 图片或 PNG 图片(总是以文件形式)。请求修改 会关闭查看器,并把 修改制品“<title>”: 放进输入框。HTML 和 SVG 可以 在 Designer 中打开,并带有说明 布局可能会改变。
  • 用 关闭制品 关闭它。

你不能,以及原因

  • 在制品里从互联网加载任何内容(离线运行,无法从互联网加载任何内容。):该视图会阻断网络,从不在自身内部导航,打开 PocketCode 之外的链接前会先询问,也无法访问摄像头、麦克风或位置,因为 HTML 是由模型写的,可能被注入。有意为之
  • 保存每个版本超过 256 KiB 的制品:工具会拒绝它。有意为之
  • 改写某个版本:版本只能追加,它们不会进入检查点,而且文件夹 .pocketcode/artifacts/<id>/ 会在你的 Git 里自我忽略。有意为之

保存到项目与分享

保存到项目 会把制品变成你保留的文件。

你可以

  • 选择 文件名(docs/page.html 这样的子文件夹也可以)、格式(源码 (.ext)、SVG 图片 或 PNG 图片)以及 保存位置:在当前项目中 或 选择位置…(系统文档选择器)。没有打开项目时只提供第二个。
  • 边输入边看检查提示,例如「请使用项目内的路径,不要包含“..”或以斜杠开头。」或「该文件夹为保留文件夹(.git 和 .pocketcode)。」。如果名称已存在,对话框会说「项目中已有同名文件,保存会将其替换。」并提供 替换。
  • 成功时你会看到 已保存到项目:<path>。

你不能,以及原因

  • 用 在当前项目中 保存到 .git 或 .pocketcode 里面,或保存到项目之外:对话框会拒绝该路径。有意为之
审阅智能体对你文件所做的更改是另一回事:见「更改、检查点与错误」。在你应用更改之前预览它的那个面板属于编辑器的 AI 操作,不属于聊天;而在应用 Copilot 的工作区编辑前询问的卡片(应用 Copilot 编辑?)则在「智能体能做什么」里介绍。

对话

每个对话都存储在你的设备上,并记录写下每条消息的提供商和模型,所以同一个对话里可以混用多个提供商。重新打开对话时,如果该提供商已配置,就会恢复它的提供商和确切的模型;如果该模型已不存在,会有提示告诉你,由你另选一个,因为聊天不会替你选。开启 Cloud Sync(Pro)后,最近 180 天内更新过的对话会上传到你的账号(见「隐私与安全」)。

对话面板

在手机上,面板从聊天上方升起。在宽屏平板窗口里、Cortex 之外,它会作为 320 dp 的面板固定显示,你可以用 收起面板 折叠它。副标题(N · 本地 & CLI)统计你的本地对话加上 Codex CLI 的会话。

你可以

  • 新建 创建一个对话,和 /new 一样。
  • 在 搜索对话… 里输入:标题和最后一条消息会立即被筛选,输入 2 个字符起还会搜索消息正文。
  • 阅读 活动中、已置顶 和 最近 几个分组。每一行显示提供商、模型、N 条消息、多久之前,以及 活动中 或 已完成。
  • 打开某一行的 操作 菜单:置顶 / 取消置顶、重命名(原地编辑)、导出(Markdown)、导出(HTML 网页)、导出(JSON)、变成智能体 / 不再作为智能体(用于 Cortex)和 删除,删除会询问 删除对话?(此操作无法撤销。)。
  • 对话的标题取自你的第一条消息,在本地生成且不花钱(最多六个词)。AI 标题(设置 → AI,默认关闭)可以让模型起一个更好的标题,这会花费 token,而且绝不会覆盖你自己输入的标题。
  • Codex CLI 的会话(如果你使用它)会出现在同一个列表里,你可以打开和删除它们。

你不能,以及原因

  • 归档对话:聊天有置顶、重命名、删除和导出,但没有归档。尚未提供
  • 在这里重命名、删除,甚至看到 Cortex 自己的对话:它被隐藏了,因为它是该模式的笔记本。有意为之
  • 置顶、重命名或导出 Codex CLI 的会话:对它们你只能打开和删除。有意为之
  • 找回已删除的对话。有意为之

导出格式

格式你得到什么
导出(Markdown)文本小于 256 KiB 时,系统分享面板直接收到文本,否则收到一个 .md 文件。
导出(HTML 网页)一个不含脚本或远程资源的独立网页,总是以 .html 文件形式提供。
导出(JSON)schemaVersion、exportedAt、对话(id、title、createdAt、updatedAt、messageCount、isPinned),以及每条消息的 id、role、content、timestamp 和 isError。不含工具调用、推理过程和文件更改。
三种都是导出任何内容之前,已存储的密钥和类似密钥的模式都会被遮盖。隐藏的消息和工具消息不会出现在 Markdown 和 HTML 里。

文件与对话记录

⋮ 菜单里还有两项,用来查看整个对话。

你可以

  • 文件 列出 AI 读取或修改过的文件(N 个文件 · M 个已修改)。点按一个文件在编辑器中打开它。
  • 对话记录 显示 只有对话内容,不含工具与卡片,带有 你 和 助手,以及一个 复制 按钮。

你不能,以及原因

—

活动与后台任务

你离开聊天后,长时间的工作仍会继续。活动汇总了来自聊天、Swarmcode、Cortex、AI Office、工作流和终端进程的、正在运行的、在等你的和今天已结束的任务。

活动面板

从 ⋮ → 活动、从 ● N 标签打开,或在有两个及以上任务运行时点按服务通知。

你可以

  • 阅读三个分组:需要你处理 · N、运行中 · N 和 今天已完成 · N。每一行显示它的类型(Swarmcode、Cortex、AI Office、工作流、一个对话或一个终端进程)、时间、~N 个 token(估算) 和状态,例如 等待批准、等待你的回答、失败、已完成 或 已停止。
  • 在某一行上使用 查看、停止、打开 和 忽略。全部停止 需要再点一次确认(再点一次以停止 N 项)。AI Office 或工作流那一行的 打开 会带你到那个界面。
  • 没有可显示的内容时,它会显示 没有正在运行的任务。你放在后台的长任务会显示在这里。

你不能,以及原因

  • 在回复正在运行时,从某一行打开另一个对话:请先完成或停止当前回复,再打开其他对话。有意为之

你不在时继续工作

如果你在聊天回合(或 Swarmcode 运行)工作时把应用切到后台,PocketCode 会启动一个前台服务,让工作继续。

你可以

  • 阅读它的通知 处理中:<对话>(AI 会在你离开时继续工作。点按即可打开对话。)。回合结束时服务会停止,并释放它的唤醒锁。
  • 当回合完成、失败或请求批准时收到通知,仅限应用在后台时。点按它会打开对话。
  • 如果系统拒绝启动服务,面板会把该工作标记为 后台未受保护。

你不能,以及原因

  • 在你从最近任务里划掉应用后让回合继续存活:那会销毁聊天的 view model,回合也随之消失。设备

后台任务

AI 在后台启动的命令(服务器、监视器)会列在这里。

你可以

  • 在 活动 里打开一个终端进程行,即可打开这个面板。
  • 阅读每一行:命令,以及 已运行 3 分钟、已结束、以代码 N 结束 或 已被你停止。
  • 停止 一个任务,或 清除已结束的。没有任务时它会显示 AI 没有在后台留下任何进程。

你不能,以及原因

—

上下文与用量

控制栏里的环形指示器会打开一个带有两个计量的面板:本次对话(占满模型窗口的内容,压缩后会腾空)和 你的账户(你的提供商报告的额度,按它自己的节奏重置)。

上下文与用量面板

点按环形指示器,或在额度提示上点按 查看用量。

你可以

  • 查看上下文窗口的百分比和 窗口内的词元。当模型的上限未知时,它会显示 本次对话窗口中的令牌数(该模型的上限未知),且不显示分数。
  • 在提供商报告时,查看 本次对话已消耗 和 从缓存读取 N。
  • 仅当提供商报告时(目前是 GitHub Copilot 语言服务器),才会看到 工具结果与文件、消息 和 指令与工具定义 的划分;它绝不会靠猜。
  • 点按 立即压缩:它会汇总较早的轮次并腾出空间,不会删除任何内容。面板显示估算成本(来自活动提供商约 N 个 token),内容太少时会说 消息数量尚不足以进行压缩。
  • 开关 达到 85% 时自动压缩(默认开启):窗口达到 85 % 时,应用会自行汇总较早的轮次,每次都消耗你的提供商的 token。/compact 则按需做同样的事。
  • 开关 回复建议(默认开启):每条回复后出现的标签,每一轮多一次简短请求。
  • 查看你的提供商额度并点按 刷新:最近 5 小时、每周、最近 7 天 或 最近 30 天,带倒计时(…后重置);GitHub Copilot 则是 高级请求、聊天 和 代码补全。Claude 和 ChatGPT 会随回答一起报告它们的窗口,所以请先发一条消息。

你不能,以及原因

  • 以金额查看你的花费:用你自己的密钥时,应用不知道你的费率,所以只显示 token 和提供商的窗口,绝不显示价格。第三方
  • 查看你的 Gemini 额度:Google 不会公开显示剩余配额。 面板会显示你的邮箱和前往 AI Studio 仪表盘的链接。第三方
  • 查看 ChatGPT 免费套餐的 Codex 限额:只有付费套餐(Plus、Pro、Team、Enterprise)才会公开它们。第三方
  • 在重启应用后保留额度数字:它们存在内存里。有意为之

token 是怎么计数的

  • 带「~」和「(估算)」的数字是在你设备上做出的估算;不带的则来自提供商。估算方式是:拉丁文字每 4 个字符算 1 个 token,每个 CJK 字符算 1 个 token,向上取整。
  • Swarmcode、Cortex、活动和自动迭代在提供商不报告用量时,出于同样的原因,把它们的 token 显示为「~N 个 token(估算)」。
  • 聊天显示 token 和提供商的窗口,绝不显示价格。

Swarmcode

Swarmcode 是用于难题的 Pro 引擎。主控模型决定这项工作需要多少个智能体,智能体并行工作,综合步骤把它们的草稿合并起来,而在开启验证时,一组评审会在你看到答案之前先检查它。在引擎标签里选择它:在你既没有套餐、也没有剩余免费运行次数时,Swarmcode 带有一个 PRO 标记。没有套餐时你有 2 次免费运行 作为试用,试用期间标签处显示 剩余 N 次免费运行,而不是 PRO 标记。一次运行在结束且交付了完整的草稿或发现时才计数,按账号计算,没有时间限制;失败的运行、被取消的计划,以及在任何内容完成之前的停止都不计数,而在预算暂停处停止,只要已有内容交付就会计数。这个优惠有远程开关,所以如果它被关闭,Swarmcode 就只对 Pro 开放。免费运行用完后你会看到 你的 Swarmcode 免费运行次数已用完。升级后可继续使用智能体团队。

一次运行做什么

  1. 1规划:主控决定需要多少个智能体(正在决定需要多少个智能体),从 1 个直到你设置的上限。
  2. 2执行:智能体并行运行,数量不超过并发上限,其余的排队等待。它们是只读的:可以读取文件、查看数据库结构和表列表,仅此而已。
  3. 3校验:一组独立评审为综合后的答案打分。如果接受的评审太少,答案会被修订并再次评审,直到通过或复审轮数用完。当你有第二个可用的提供商时,其中一位评审可以来自另一个模型家族。
  4. 4应用:默认关闭。开启 应用更改 后,由唯一的一个智能体把校验通过的答案写入你的项目文件,只限项目内部,并且走与聊天相同的写入路径。

默认值与范围

设置(设置 → AI → Swarmcode)默认值与范围
最大子智能体8(1 到 32)
并发数4(1 到 12)
验证开启
评审数3(1 到 5)
通过所需票数2(1 直到评审数)
复审轮数2(1 到 4)
应用更改关闭
每轮的 令牌预算无限制(0),最多 500k
单代理上限引擎的默认值(0),最多 100k

同一个面板还提供四个一键任务(深度审查、缺陷排查、重构 和 构建功能)。打开它是免费的;使用 Swarmcode 则是 Pro,只有 2 次免费运行除外。AI 提供商页面介绍了这个面板。

消息流里的 Swarmcode 卡片

运行期间,消息流会显示一张 Swarmcode 卡片。

你可以

  • 跟踪 规划、执行、校验 和 应用 几个阶段以及状态(规划中、执行中、校验中、应用中、完成、失败 或 已停止),带有「~N / M token(估算)」这样的计数器。
  • 阅读评审的结论,例如 3 位评审中有 2 位通过。
  • 点按 查看智能体 打开 智能体面板。
  • 离开应用:运行会在后台继续,并显示通知 Swarmcode 会在你离开时继续工作。

你不能,以及原因

  • 在免费版上使用超过 2 次免费运行的 Swarmcode。Pro
  • 让智能体自行写入你的项目:它们是只读的,只有一个单独的应用者会写入,而且只在 应用更改 开启时。有意为之
  • 在 GitHub Copilot 下给智能体提供工具:每次 Swarmcode 调用都走 Copilot 的纯文本 Ask 模式。有意为之

智能体面板

一个列出本次运行各智能体的面板。

你可以

  • 查看容量条 整次运行,以及分组 运行中、排队中 和 已结束。
  • 查看每个智能体(智能体 N)及其提供商、模型和 思考强度,以及标记 启动时生效 和 由主控重新指派。在 它做了什么 下面,已结束的智能体会显示它的结论,失败的智能体则显示失败原因。
  • 编辑尚未发出请求的智能体的提供商、模型和强度,或用 全部修改 修改所有仍在排队的智能体。

你不能,以及原因

  • 更改正在运行的智能体的模型:请求已发出,模型无法中途更换。你的修改会保存到下一轮。有意为之
  • 查看某个智能体内部做了什么:智能体内部的过程尚未记录。尚未提供

Cortex

Cortex 是一个投放工作的统一入口:它把每项工作拆开,把各部分交给你的 AI 会话(每个会话都带着自己主题的实时上下文),再把结果汇总起来。它取代的是聊天的整个界面(它自己的栏、智能体条和信息流),而不只是某一个回合,而且离开它并不会停下正在工作的智能体(智能体会继续工作)。

如何进入,以及代价

  • 点按引擎标签,再点菜单末尾的 Cortex ›。这是唯一的入口:顶部栏没有 Cortex 图标。第一次会出现一个欢迎面板。Cortex 在每个项目里使用它自己的一个对话,该对话在对话面板里是隐藏的,离开它会带你回到你之前正在看的对话。
  • Cortex 属于 Pro。没有套餐时你有 3 次免费任务:任务在结束时才计数,而且只有在确实完成了某些事时才算,按账号计算,没有时间限制。这个优惠有远程开关,所以如果它被关闭,Cortex 就只对 Pro 开放。免费任务用完后你会看到 Cortex 属于 Pro。你的免费任务已用完。

需要了解的数字

项目数值
同时进行的线路默认 2 条。Cortex:同时进行几件事(设置 → AI)可设为 1 到 4;引擎自身的上限是 6。
一份计划里的节点最多 8 个。
任务运行期间排队的工作最多 3 项。超过之后:Cortex 正在处理别的事。等它完成后再发送。
等待你批准外部操作3 分钟。之后智能体会在没有该权限的情况下继续,请求仍留在队列里,你之后还可以批准它。
出厂智能体4 个:写代码、审查、测试 和 文档,每个只带它需要的工具,也没有固定的模型(使用该回合的模型)。你用同名的 .md 文件可以替换其中一个。

欢迎

第一次进入 Cortex 时,会有一个面板向你介绍它,仅此一次。

你可以

  • 阅读 Cortex 负责分配工作:你说想要什么,Cortex 把它拆开,把每一部分交给熟悉它的会话,再带着汇总好的答案回来。你始终是在对 Cortex 说话,不会误发给某个智能体。
  • 选择 它可以自己决定多少?(三个级别,见「自主程度」),然后点按 开始。随时都能在 Cortex 菜单里更改。

你不能,以及原因

—

Cortex 界面

Cortex 用它自己的栏、智能体条和信息流,取代了聊天栏和消息流。

你可以

  • 顶部栏的标题是任务;它的图标是 这次任务的工作、智能体目录 和 退出 Cortex。
  • 智能体条为每个会话显示一块图块,带它的状态(排队中、工作中、在等你、出错了、休眠)、任务的成本(任务约 N 个 token),以及用于单个智能体的停止按钮(停止 <agent>。其他的会继续工作。)。当某个智能体卡住时它会提醒(已经 N 分钟没有任何动静。 或 它一直在同一个步骤上打转。)。点按一块图块打开该智能体的会话;回到 Cortex 返回。
  • 没有任何进行中的事情时,把活儿丢给我 会显示你的智能体和 + 新建智能体。直接输入就行,Cortex 会选择智能体。
  • 控制栏有 自主程度 标签、Cortex 模型 标签(默认是 与聊天相同)、创建一个智能体 和 停止,后者会结束任务并保留已完成的部分。
  • 信息流显示计划、按组归并的智能体提问(推荐答案已经勾好,你来定 让 Cortex 来选并告诉你它选了什么,还有 继续),最后是一张收尾卡片(Cortex 已完成),对每条线路都有 保留 和 撤销,以及 这件事还在等你决定: 和 它还动了没说过要动的文件:。
  • 当某个智能体失败时,卡片会说 <agent> 没能完成,并提供 让它再试一次、交给别的智能体 和 我自己来。最后一个会关闭 Cortex,把你带到该智能体的对话,并把它原来在做的事写进输入框,但不发送。

你不能,以及原因

—

智能体目录

用 智能体目录 图标打开它:智能体,带 N 个会话 · M 个定义。

你可以

  • 用 搜索智能体或定义 搜索,并阅读 在等你、进行中、休眠中 和 尚未启动 几个分组。没有内容时它会说 这个项目里还没有智能体。 或 没有匹配的智能体。
  • 编辑 一个智能体,查看 未使用 的,点按 保存到所有项目 把项目智能体提升到所有项目,以及 + 新建智能体。
  • 从对话菜单(变成智能体)把一个对话变成智能体:它会保留自己的历史和上下文。

你不能,以及原因

—

智能体编辑器

新建智能体 或 编辑智能体。智能体以文件形式保存,所以会随你的项目一起走。

你可以

  • 从 审查、代码、测试 或 文档 开始,或从空白填写各字段。
  • 设置 名称、它擅长什么(Cortex 用这一行来判断某项工作是否归它)、指令、语言(可选)和 它会写哪些文件,后者是 glob 模式,让两个智能体可以同时工作而不互相踩踏。
  • 在 可以做什么 下选择 仅读取、读取和写入 或 全部,或按类别(聊天的那 15 个类别)勾选你自己的工具。在 工作范围 下选择整个项目或其中真实存在的文件夹。固定一个 模型,或点按 跟我一样。
  • 选择 保存在哪里:这个项目(<project>/.pocketcode/agents/<name>.md,随仓库一起走)或 所有项目(只在这台设备上,属于你的账号)。然后 保存 或 保存并使用。已经存在的智能体仍保留在原来的位置;要移动它,请用 保存到所有项目。

你不能,以及原因

  • 在没有打开项目时把智能体保存在 这个项目:先打开一个项目,或者把它保存到所有项目。有意为之
  • 重用已存在文件的名称:这里已经有一个 … 了,而且可能是别人手写的。给这个换个名字吧。有意为之
  • 给智能体聊天那 15 个类别之外的工具。有意为之

自主程度

从 自主程度 标签或欢迎面板里,选择 Cortex 不经询问可以自行决定多少。无论它决定什么,你都看得到,一下就能撤销。

级别它做什么
常询问(默认)像「要保留 Material 3 吗?」这样的问题会带着已勾好的推荐答案来到你面前。
仅限可撤销它重复你已经做过的决定,并给你看说明这一点的卡片。
自主它自己决定名称、格式和顺序。要动终端、发布,或写到它说过不会碰的地方,它仍然会询问。

你可以

  • 从 Cortex 栏的 自主程度 标签更改级别,然后点按 保存。
  • 把每个自动决定当作一条备注来阅读(这个我定了:…),点按 不,问我 来撤销它:已撤销,下次会问你。

你不能,以及原因

  • 让 Cortex 悄悄做决定:每个自动决定都会显示出来并且可以撤销,即使在最自主的级别也一样。有意为之

这次任务的工作

用 这次任务的工作 图标打开它。

你可以

  • 使用 制品、文件 和 进行中 标签页,它们涵盖整个任务(点按某个智能体可只看它自己的)。在查看器里打开制品,或在编辑器里打开文件。
  • 还没有内容时它会说 目前还没有内容。随着智能体工作,产物、文件和正在运行的任务会显示在这里。

你不能,以及原因

  • 在任务里创建制品:那里不提供 artifact 工具。有意为之
  • 给智能体比委派这项工作的智能体更多的权限:委派工作时权限只会收窄。有意为之

自动迭代

自动迭代根据一段描述构建项目。你描述它,AI 提出一份计划(架构、模块、任务),你审阅后,它逐个运行这些任务。在聊天里输入 /loop 打开它:它会以一个独立界面覆盖聊天,而且没有套餐门槛。

命令步骤会发送到终端,而引擎会把它们当作已完成,既不等待也不读取它们的结果:创建目录、在每个任务之后执行 git add -A && git commit -m "[auto-iteration] <task>"(每个任务提交一次 开启时,这是默认),以及构建、测试和运行命令的任务。构建或测试失败不会让计划停下来,所以请你自己检查终端。

五个界面

  1. 1会话列表 — 描述你的项目 和 生成计划。历史会话 列出旧会话,可以删除。占位示例是「例如:创建一个卡路里追踪应用,包含餐食记录、条形码扫描和每周报告……」。
  2. 2规划中 — 正在分析你的请求…… 和「AI 正在设计架构、模块和任务」。
  3. 3计划审阅 — 架构(模式和分层)、技术栈、带文件的 模块 (N),以及带依赖关系的 任务 (N)。然后是 执行计划、优化计划(应该更改什么?)、重新生成 或 取消。
  4. 4执行中 — 以 N/M 个任务 显示进度、当前任务和已用 token(带「~」:始终是估算值)、暂停 和 继续,以及 取消。超过时间、token 或迭代预算的 80 % 时会出现提示,其中一项耗尽时会出现 已停止:会话的时间预算已用尽。请在设置中调高后继续。
  5. 5已完成 — 项目已生成!,带 已完成任务、已创建模块、已生成文件、已用 token、耗时 和 失败任务,以及 返回会话列表。

会话以及它们保留什么

任务的状态是 PENDING、BLOCKED、IN_PROGRESS、VALIDATING、COMPLETED、FAILED 或 SKIPPED。计划使用 10 种架构模式和 15 种任务类型(脚手架、创建或修改文件、安装依赖、配置、UI、逻辑、数据、测试、构建、运行测试、重构、文档、运行命令、审查)。

你可以

  • 在同一个应用会话内暂停和继续。时间只在运行时计算,所以暂停几天不会消耗任何 最长时长。
  • 开启 每个文件后进行校验(默认)时,带规则的任务会被校验。语法检查只检查花括号和圆括号是否配平,AI 审查读取文件的前 2,000 个字符;如果审查本身出错失败,该文件算作通过。没有 linter。

你不能,以及原因

  • 在关闭应用之后继续一个会话:会话只要应用进程还活着就保存在内存里,所以关闭应用会丢掉它们。没有可恢复的检查点。尚未提供
  • 看到 Backlog、Todo、Review 和 Done 看板列,或专职工作者:界面只显示 N/M 个任务 和当前任务。看板和工作者属于 AI Office。有意为之
  • 给每个智能体单独的推理级别:这存在于 AI Office,不在这里。有意为之

迭代设置

自动迭代界面的齿轮图标会打开 迭代设置:7 个分组里共 30 个控件。最大并行任务数 和 每个任务提交一次 只在 并行执行 和 Git 集成 开启时才出现,所以两者都关闭时你看到 28 个。

分组控件
AI 提供商规划提供商、编码提供商、审查提供商(各自可选 默认(活动提供商) 或某个具体的提供商)和 提供商轮换。
执行最大迭代次数(10 到 200)、最长时长(5 到 120 分钟)、Token 预算(50K 到 2000K)、每个任务后暂停、出错时暂停、自动重试失败的任务、每个任务的最大重试次数(1 到 10)、并行执行 和 最大并行任务数(2 到 8)。
代码质量每个文件后进行校验、AI 代码审查、质量阈值(30 到 100 %)、生成测试 和 生成文档。
项目范围目标语言、目标框架(留空表示 自动检测)、代码风格(Default、Minimal、Verbose、Enterprise、Startup 或 Academic)和 工作目录(当前项目根目录)。
Git 集成Git 集成 和 每个任务提交一次。
通知计划就绪、任务完成、出错时 和 会话完成。
高级使用项目记忆 和 自定义指令。

默认值

  • 50 次迭代、30 分钟和 500K token。出错时暂停开启,每个任务后暂停关闭,自动重试开启,最多重试 3 次。
  • 每个文件后校验开启。AI 审查开启,质量阈值 70 %。生成测试开启,生成文档关闭。
  • Git 集成开启,每个任务提交一次开启。计划就绪、出错和会话完成的通知开启,任务完成的通知关闭。
  • 使用项目记忆开启。并行执行关闭(开启后一次 2 个任务)。

你可以

  • 拖动七个分组里的滑块、开关和输入框。
  • 为规划、编码和审查分别选择不同的提供商,或让它们轮换。

你不能,以及原因

  • 在这个面板里设置规划和编码的温度,或轮换提供商列表:它们存在于配置里,但没有控件。尚未提供

更改、检查点与错误

智能体工作时,有三样东西保护你的文件:文件更改栏(对每个文件选择保留或撤销)、检查点(把项目和对话恢复到较早的某一轮)以及回合摘要。

消息流里的更改与文件更改栏

智能体编辑文件后,你可以审阅它做了什么,并撤销它。

你可以

  • 输入框上方的一个栏显示文件数量以及新增和删除的行数。打开它可对每个文件选择 保留 或 撤销,或使用 全部保留 和 全部撤销。被拒绝的文件会显示 已还原。
  • 每条回复下方有一张 更改 卡片,列出该回合的文件(新建、编辑、删除)以及它运行过的 命令(退出码 N、完成 或 失败)。点按一个文件打开它;查看全部更改 会打开一个面板,显示每个文件的差异。
  • 撤销本轮 只出现在最后一轮,并且只在它修改了文件时出现,它会打开和检查点相同的 恢复到此处 对话框。

你不能,以及原因

  • 从消息流里的 更改 卡片接受或拒绝:它只是讲述经过。保留或撤销要在输入框上方的栏里进行。有意为之

检查点、编辑与重做

在修改过文件的回合之间,消息流会显示一条 检查点 分隔线。

你可以

  • 点按 恢复到此处。恢复到此检查点? 会说明磁盘上的文件将回到那个时间点的状态,之后的消息会被隐藏。然后 对话已恢复到检查点。点击重做以返回最新状态。 和 重做 会把一切放回原样。
  • 编辑 你自己的某条消息:编辑消息? 会把对话恢复到该检查点,重新发送你编辑后的消息,并删除之后的消息(编辑并重新发送)。
  • 检查点保存在应用私有存储里每个对话各自的一个影子 Git 仓库中。它从不碰你自己的 .git,即使项目不是 Git 仓库也能工作,还能捕获某个 CLI 写入的内容。

你不能,以及原因

  • 恢复 Git 从未见过的文件:恢复只会动快照之间有差异的文件。有意为之
  • 在重启应用后保持 重做 的确切状态:它存在内存里。有意为之

回合状态、错误与中断

每个回合都以一行状态结束,失败时会带一张卡片,提供解决办法。

回合状态

正在工作 · … 和 正在思考 · …回合正在运行。
用时 12 秒 和 完成它已完成。
等待你的操作它需要一次批准或一个回答。
因错误停止一张卡片会解释原因和该怎么做。
已由你停止你按了停止;已生成的内容会保留。
已暂停 · 上下文已满上下文已满;压缩后继续。

你可以

  • 回合失败时,卡片会显示一个通俗的标题和一个能解决问题的主要操作,技术详情 和 复制 折叠在一边。「故障排查」一节列出了真实的文字。
  • 自动重试会告诉你(已为你重试 (1/3):…),速率限制会显示 N 秒后重试。
  • 被中断的回合(进程被杀掉)会说 这一轮被中断了。你可以重试,也可以从这里继续。,带 重试 和 继续。
  • 上下文占满会暂停回合(对话已占满此模型的上下文。已完成的工作会保留。),带 压缩对话 和 继续。
  • 为 Copilot 关联 GitHub 时会显示 关联你的 GitHub 账号:复制代码,点按 打开 GitHub,登录完成后再发送一条消息。

你不能,以及原因

  • 在提供商下线某个模型时让聊天替你换一个:它会说 该服务商已不再提供“<model>”,由你来选,因为模型决定了每轮的费用和能力。第三方

免费版与 Pro

在两种套餐里,连接提供商都是免费的(你自带密钥或登录信息)。套餐在聊天里改变的是下面这些:

功能免费版Pro
与任意提供商聊天、5 个访问级别、工具权限、强度、附件、提及、技能和提示词、制品、检查点、导出、语音和朗读、上下文压缩、自动迭代有有
Swarmcode 引擎2 次免费运行(在运行结束且确实交付了内容时计数;该优惠可以被远程关闭),之后选择它会打开 Pro AI 面板有
Cortex 引擎3 次免费任务(在任务结束且确实完成了某些事时计数;该优惠可以被远程关闭)有
智能体创建和编辑工作流(workflow__create、workflow__update)没有:该工具会被拒绝,并向模型返回一条消息有
智能体列出、读取和运行工作流(workflow__list、get、runs、run)有(只运行你标记为可供 AI 使用的那些)有
智能体回滚部署或写入你的后端没有:读取状态、日志和变量名是免费的有
智能体触发部署(deploy_trigger)有,只要你没超过活动部署的上限(免费版为 1 个)没有上限
对话的 Cloud Sync没有有(它会上传完整的消息:见「隐私」)
AI Office(从活动或工具打开)没有有
价格和完整对比请看「套餐与定价」页面。在聊天里,没有任何东西按套餐设上限:对消息、对话、token 或提供商都没有限制。

隐私与安全

你的代码只会发给你选择的 AI 提供商,不会发给别处,除非你开启 Cloud Sync。下面是哪些内容会流动,以及哪些内容保存在哪里。

  • 离开你设备的内容。 你的消息、你附加的内容、应用为该回合构建的上下文(打开的文件最多 4,000 个字符、项目名称、路径列表、仓库地图、最多 4,000 个字符的项目记忆、你的提及以及工具的结果)和裁剪后的历史。在你接受了针对它的 发送给 <provider>? 之后,这些内容从你的设备发给你选择的提供商。请避免分享你不希望被处理的密钥或个人数据。
  • 遮盖。 在提示词和历史发出之前,常见的密钥形式(OpenAI、Anthropic、Google、GitHub、AWS、Slack 和 Stripe 的密钥,以及私钥块)会被遮盖,你已存储的密钥的值也一样。这是一道高精度的安全网,不是保证。
  • 你的密钥。 它们由 Android Keystore 持有的密钥按账号加密,并且只放在发给其提供商的请求头里传输。AI 提供商页面介绍了密钥面板。
  • 无网络模式。 设置 → AI 里的 零外发(无网络 AI) 会阻止所有联网的 AI 调用。此时聊天会说 任何数据都不会离开本机,外部图片也保持不加载。
  • 你的工作保存在哪里。 对话和消息在应用本地的数据库里;检查点在私有的影子 Git 仓库里;制品在 <project>/.pocketcode/artifacts/;项目记忆在 <project>/.pocketcode/memory.json。
  • 你项目里的记忆文件。 每个回合之前,如果有记忆,PocketCode 会在项目根目录的 .pocketcode/MEMORY.md、CLAUDE.md、GEMINI.md 和 AGENTS.md 里写入一个带分隔符的块,块之外你自己的文字原封不动。这些文件由 PocketCode 写入,但聊天不会把 AGENTS.md、CLAUDE.md 之类的文件作为指令加载。
  • Cloud Sync(Pro)。 唯一会把对话发往你的提供商以外任何地方的功能。开启后,最近 180 天内更新过的对话的标题、最后一条消息、提供商、模型和完整消息,会上传到你自己账号下的 Firebase Firestore,包括每条消息的工具调用、推理过程和文件更改记录。
  • 来自外部的内容。 当某个回合引入了外部内容(网页、git pull、数据库查询、后端日志或另一个智能体的输出)时,该回合里写入的记忆会被标记,不再自动回灌。项目记忆是以数据而不是指令的形式展示给模型的。
  • 图片与制品。 来自其他网站的图片在你点按之前不会加载,制品则在没有网络的视图里运行。
  • 语音。 语音输入只在你保持麦克风开启时使用 Android 的语音识别;PocketCode 不保存录音,也不会把它们发送到自己的服务器。

限制

最重要的限制,以及各自的原因。上面的章节把其余的限制列在它们所属的功能旁边。

  • 发送 PDF 或任何其他二进制文件:它会被接受但不会发送。尚未提供
  • 用文件选择器或 @folder 搜索大型项目:它们只能看到前 50 个文件。有意为之
  • 归档对话。尚未提供
  • 在关闭应用后继续自动迭代会话,或指望它的命令步骤报告失败。尚未提供
  • 查看每个 Swarmcode 智能体内部做了什么。尚未提供
  • 在不是 64 位 ARM 的设备上用 ChatGPT(Codex)登录:Codex 二进制文件只为 arm64-v8a 提供。设备
  • 用 GitHub Copilot 或通过 ChatGPT 登录的 OpenAI 发送图片。有意为之
  • 查看你的 Gemini 额度,或 ChatGPT 免费套餐的 Codex 限额:提供商没有公开它们。第三方
  • 在你从最近任务里划掉应用后让回合继续运行。设备
  • 运行仅限 bash 的命令:智能体的 Shell 是 POSIX sh(BusyBox ash),每条命令默认 30 秒,最长 120 秒。设备
  • 在免费版上使用超过 2 次的 Swarmcode、超过 3 次的 Cortex,或智能体的工作流创建、回滚和后端写入。Pro
  • 从通知里批准某个操作:它只会打开对话。有意为之

故障排查

标题就是应用显示的消息。每个回答里提到的按钮,就是卡片上的那些按钮。

这个服务商还没有配置

该提供商没有密钥或登录信息。点按 打开设置:它会在该提供商上打开密钥面板。

密钥被拒绝

提供商回复说密钥无效。点按 检查你的密钥 来编辑它。

服务商正在限制请求

这是速率限制。点按 重试(等待时会以 N 秒后重试 倒数)或 选择其他模型。

服务商那边出了问题

服务器错误。点按 重试。聊天也会自行重试并告诉你(已为你重试 (1/3):…)。

你在该服务商的额度已用完

点按 使用其他服务商 或 查看用量 打开 上下文与用量 面板。

该服务商已经没有这个模型

提供商把它下线了。点按 选择其他模型;聊天不会替你选。

你的账号无法使用此模型

你登录的账号不包含该模型。点按 使用其他服务商 或 使用 API 密钥。

你关闭了云端 AI

无网络设置(零外发(无网络 AI))已开启。点按 查看该设置。

对话已超出上下文

上下文溢出了。点按 压缩对话,或开始一个新对话。

服务商没有再发送内容

回复在中途停了。点按 继续,从已收到的文本接着往下。

连接断开了

连接在回复中途被切断。点按 继续。

模型一直没有开始回答

连接是通的,但模型还没有开始回答。提供商可能把它放进了队列:你可以继续等待(继续),也可以停下来选另一个模型(选择其他模型)。

你的代理停下了,因为它试过的每一步都失败了

该回合的每个工具调用都失败了。打开工具调用(查看工具调用)看看原因,然后再发送一次请求。

你的代理在 N 轮后停下了,免得一直原地打转。再发一次就能接着做。

只有为无法原生调用工具的模型准备的后备路径,才会在 10 轮后停止。再发送一次请求即可继续。

模型的上下文窗口(N 个令牌)不足以容纳系统提示、工具和你的消息。

消息接着说:「请以更大的上下文加载模型,或切换到工具更少的 Ask 或 Plan 模式。」在当前应用里,这两种模式就是 不用工具 和 只读 访问级别。

请求超出了模型的上限,因此在执行前就被拒绝了。

图片占用的额度远高于其文本长度,所以估算才会认为放得下。下次尝试的历史记录已被缩减:请再发一次。

文件太大(最大 500 KB)

超过 500 KB 的文本和代码附件会被拒绝。图片有它自己的 25 MB 上限。

<model> 无法查看图片。请更换模型或移除图片。

该模型,或你的登录方式(GitHub Copilot、通过 Codex 的 ChatGPT),不能接收图片。请更换模型,或点按附件上的 移除。

此语言不支持语音输入 — 请更改系统语言或从设置安装语音包

Android 没有你设备语言的语音包。其他语音消息(语音输入需要麦克风权限、此设备不支持语音输入、语音输入需要互联网连接)的原因就写在各自的文字里。

Cortex 正在处理别的事。等它完成后再发送。

任务运行期间最多有 3 项工作排队。超过之后,请等任务结束。

还没有可以接手的智能体。在对话菜单里把一个对话变成智能体。

这个项目里没有 Cortex 智能体。请在对话菜单里使用 变成智能体,或 + 新建智能体。

Cortex 正在没有后台保护的情况下工作:系统可能会停止它。重新打开应用让它继续。

系统拒绝启动前台服务。活动里会把同样的状态显示为 后台未受保护。把应用带到前台,工作才能继续。

预览已停止工作。

制品视图崩溃了。点按 重新加载预览。

已停止:会话的时间预算已用尽。请在设置中调高后继续。

自动迭代达到了它的 最长时长(也可能是 token 或迭代预算)。在 迭代设置 里调高它,然后点按 继续。

Dev Browser is not open. Ask the user to open the Dev Browser, then call this tool again.

智能体的 browser_* 工具需要 Dev Browser 处于打开状态。请从编辑器里打开它,然后再问一次。