跳到主要内容

AI 与模型

助手的能力取决于背后的模型,因此 Powerduck 不会把你锁定在某一家。你选择并配置模型,应用通过安全的本地路径调用它,每项改动仍走同样的可审阅卡片。

自带模型​

在设置中针对任何兼容 OpenAI 的 Chat Completions 端点配置助手:

  • 选择内置的服务商预设,或定义一个自定义服务商;
  • 提供显示名称、基础 URL、API 密钥和模型 ID;
  • 可以配置并选择多个配置文件。

应用不会假设模型来自某个特定服务商。自托管或第三方的兼容 OpenAI 端点以相同方式工作,这对有自己模型策略的团队很重要。

高级能力与优雅回退​

每个配置文件都有一个高级能力选项,默认开启:

  • 开启时,应用使用模型的原生函数调用,通过网络发送工具目录,让模型可以直接选择并调用合适的工具;
  • 如果某个端点拒绝原生工具参数——例如不支持工具的较小模型——该端点会被记住,请求会通过基于内容的回退协议重试一次。

目标是始终返回结果:能力强的模型走精确的原生路径,不支持工具的模型降级到更简单的协议,而不是让这一轮失败。对于应始终使用基础路径的配置文件,你可以关闭高级能力。

工具驱动的工作也有边界:智能体运行有限数量的工具轮次(默认三轮)并对调用去重,因此工具从不会在循环中被执行两次。

为什么请求要经过主进程​

在桌面客户端,补全请求从 Node 主进程发出,而不是网页视图。这有两个具体好处:

  • 没有浏览器 CORS 墙。 适用于网页的跨域限制不会阻挡对模型端点的调用;
  • 提示词和密钥远离浏览器控制台。 请求 URL、授权头、系统提示词和工具列表在渲染层网络面板中不可见。

网关被刻意约束,而不是充当开放代理:

  • 校验目标(回环地址和允许的主机),清洗请求头,并防止通过响应头进行的响应拆分;
  • 请求可以取消(ai:cancel)。

桌面与 Web​

同一个助手在两种运行时中都能工作,使用各自适配的通道:

  • 桌面(Electron): 能力在本地引入并执行,补全请求通过主进程代理;
  • Web: 同样的工作流通过 HTTP 运行,调用服务 API 而非本地模块。

这正是应用在 Electron 路径之外保留 Web 兼容路径的原因:意图处理和卡片表现一致,只是传输方式随运行时改变。

意图如何被识别​

意图不是通过为每个功能枚举关键词来处理的。应用改为向模型呈现一个明确、描述清晰的工具目录——每个工具的 ID、参数以及应在何种确切情形下使用。模型从目录中选择最佳工具,确定性宿主校验并执行它,写入动作要求确认。

因此增加一个能力意味着向目录添加一个工具(并准确描述它),而不是维护更长的关键词列表。同一个目录还可以通过 MCP 服务器与外部智能体共享,让能力在产品和其他工具之间保持对齐。

隐私姿态​

  • 在桌面端,你的 API 密钥和提示词保留在本地,不暴露给渲染层;
  • 是确定性宿主——而非模型——校验并应用每项改动;
  • 每次写入在运行前都由你批准。

相关:用助手进行设计、设置、Cloud 访问控制。