@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 跳过它。