@phren/agent

中文文档
0.3.69发布于 2026/11/02MITES Module构建来源已验证

Phren的编码代理:在每个会话开始时都知道项目的内存、任务和决策

中文使用文档
文档目录4 节
  1. 键盘帮助和远程MCP
  2. 开发这个包
  3. Phren Hook / iPhone聊天
  4. 飞溅

@phren /代理

Phren的编码代理。它通过工具调用读取、编辑和运行代码 开始每个会话时已经知道项目的真相,打开的任务,最近 结果和上次会话,来自您的其他代理使用的相同的phren存储。

npm install -g @phren/cli @phren/agent
phren init                 # once, creates the memory store
phren agent -i             # or: phren-agent -i

它在ChatGPT/Codex订阅上运行(phren agent auth login)、OpenAI OpenRouter, Anthropic, DeepSeek (DEEPSEEK_API_KEY),任何与openai兼容的 端点(--provider openai-compat --base-url … --model …)或当地的奥拉玛州 模型。为脚本, -p --output-format json|stream-json 给了 机器可读的输出。 PARITY.md 与《克劳德法典》比较, 法典和开放代码,以及 scripts/bench/run.mjs 让它无头对抗小的 实时任务的夹具回购。完整的指南,包括MCP 服务器,权限,无头运行和手机应用程序,是 文档/ agent.md. 此包随附 @phren/cli 并锁定它的确切版本。

键盘帮助和远程MCP

新闻 ? 用一张空白的草稿或 F1 打开键盘帮助;Escape关闭了它 不输掉草稿。帮助提示在每个权限模式下都是可见的。 辅助文本在其第一个文本列的下方进行自动换行。

MCP配置接受 stdio, http (Streamable HTTP),以及遗留问题 sse. 远程传输使用MCP SDK,包括单独交付的响应 HTTP 202后的SSE流。要启用浏览器OAuth,请设置 oauth: true 在服务器端:

{"mcpServers":{"example":{"type":"http","url":"https://example.com/mcp","oauth":true}}}

第一次连接时,打开终端打印的授权URL。这个 环回回调验证状态;SDK处理发现、PKCE和令牌 刷新。OAuth需要HTTPS,本地环回服务器除外。对于已注册的 客户端, oauth 可以换成一个对象吗 clientId、可选 clientSecret, scope, callbackPort 14557(默认)。凭据存储在每个服务器上 模式0600下的文件 ~/.phren/agent/mcp-auth; PHREN_MCP_AUTH_DIR 覆盖, 目录中。PKCE验证器保留在内存中。授权最多等待5次 分分钟并关闭连接将关闭其回调侦听器。

开发这个包

packages/agent PNPM工作区成员是由根目录构建的吗 pnpm build 并自己在CI中进行了测试 agent-test 工作:

  • pnpm build (root)包含这个包。
  • pnpm test (根)不运行这个包的测试:它的套件单独运行(它自己的) vitest.config.ts, 没有工作空间-root globalSetup),并且不包含在CI OS×node矩阵中。

要根据需要构建、测试或检测这个包:

pnpm exec turbo run test --filter=@phren/agent   # builds @phren/cli dist first
pnpm --filter @phren/agent build
pnpm --filter @phren/agent lint

注意:测试套件导入 @phren/cli 子路径导出,解析为 packages/cli/dist/,所以是裸露的。 pnpm --filter @phren/agent test 干净利落 在CLI构建完成之前,签出失败—最好使用turbo调用。

Phren Hook / iPhone聊天

当phren-agent在Herdr窗格中运行时(HERDR_ENV=1),它报告说 SessionStart, UserPromptSubmit 和 Stop 安装好的Phren Hook 包(~/.local/share/phren/bridge/current/bridge-hook.mjs hook phren,看 src/herdr-hooks.ts),因此iPhone可以将窗格绑定到此会话的 .runtime/sessions/session-<id>.events.jsonl. Phren那边的一切都在 的地方;一旦Herdr报告,该窗格就会显示为聊天窗口 phren 作为一个代理 (Herdr在它自己的版本中增加了代理——参见项目中的请求草案 笔记)。没有Herdr,钩子调用是静默的无操作。在钩子下面 从其进程中识别代理,无论它是否启动为 phren-agent 或者 phren agent (它用argv0生成这个包的二进制文件 phren-agent)。

飞溅

互动环节(phren-agent -i, --multi, --team用…打开 phren飞溅-吉祥物加上文字标记文本效果-使用CLI的 @phren/cli/shell/intro 导出,并在标题中显示提供程序和模型。 集 PHREN_INTRO=off 跳过它。

版本与发布记录

@phren/agent 共发布 81 个版本,首次发布于 2026/03/29;过去 12 个月发布了 81 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.3.69latest2026/11/021 天前
0.3.682026/11/021 天前
0.3.672026/11/012 天前
0.3.662026/10/312 天前
0.3.652026/10/312 天前
0.3.642026/10/313 天前

关于 @phren/agent 的常见问题

@phren/agent 是什么?

Phren的编码代理:在每个会话开始时都知道项目的内存、任务和决策

如何安装 @phren/agent?

在项目目录运行 npm install @phren/agent,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 phren-agent,可以用 npx phren-agent 直接运行。

@phren/agent 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/phren__agent 是否存在。

@phren/agent 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@phren/agent 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22.19.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@phren/agent 可以商用吗?

@phren/agent 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@phren/agent 还在维护吗?

最新版本 0.3.69 发布于 2026/11/02(1 天前);至今共发布 81 个版本,其中过去 12 个月发布了 81 个;首次发布于 2026/03/29。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。