开发与工程 coding-agentclituitypescriptmulti-providermonorepoextension-systemfork-of-pi-mono

senpi

基于 pi-mono 的观点化分叉,为编码智能体运行时加入意图门、动态提示、压缩管线与权限系统等内置扩展,并保持轻量。

FollowAgents 评估 · FARS-2.1
谨慎使用
74/ 100 五分制 3.7 / 5
1 2 3 4 5 6
1信任安全19 / 29 · 3.3/5

权限系统提供规则、JSONL 存储与 TUI 交互确认(含非交互回退),README 还警示了通配放行的风险,属加分项;扣分点:SECURITY.md 明确声明无沙箱、提示注入不可防护,敏感数据处理仅有信任边界说明而无具体密钥管理证据,回滚机制只见于发布流水线(草稿删除、source_ref 恢复),用户侧会话/文件回滚缺乏证据。

2可靠稳定12 / 14 · 4.3/5

测试文件详尽覆盖空响应恢复、流启动超时、thinking 计时等边界,错误消息会点名可调设置(如 retry.provider.streamStartTimeoutMs),一致性好;扣分点:依赖可用性仅见锁文件与 pinned-deps 检查脚本,静态审查无法验证实际安装与 CI 通过情况。

3适用触发14 / 18 · 3.9/5

README 明确目标用户(Dori 运行时、从 OMO 迁移者)并逐项列出'无对应实现'的功能(Discipline Agents、Team Mode 等),能力边界清晰;扣分点:环境要求(Node>=24、bun)陈述了但跨平台矩阵仅在 CI 侧可见,触发精度(intent gate 实际行为)仅有描述无源码佐证。

4规范维护16 / 18 · 4.4/5

文档架构出色:包表、内置扩展注册顺序表、changes.md 跟踪、changelog gate 工作流强制 PR 记录变更、版本脚本齐全、LICENSE 同时保留上游与 fork 版权;扣分点:维护责任集中于单一 experimental fork('don't bet a production pipeline on it'),命名上 pi/senpi 混用(二进制资产仍叫 pi-*)带来一定混乱,示例多为安装命令而非使用示例。

5有效结果9 / 13 · 3.5/5

定位清晰('lighter OMO on pi'),webfetch 有界、bash 超时、压缩管线等扩展有实际价值;扣分点:输出可用性与成本收益均依赖上游 pi-mono 未在本次证据中提供的质量,且实验性定位削弱了对生产成本的论证。

6证据核验4 / 8 · 2.5/5

README 声称'已对照 git diff 与所有 changes.md 验证'但本次仅提供部分文件,许多主张(各扩展行为、OMO 对照)无法在给定证据中复核;测试与 SECURITY.md 之间无相互矛盾,事实与推断总体分离尚可;扣分点:大量外部仓库(pi-lsp-client 等)被引用但未提供,跨源印证几乎不可能。

证据充分度: 评估于 2026年9月9日 审查版本 fc2fcb39072e
使用前请注意
  • SECURITY.md 明确声明编码代理运行在用户账户权限内且无沙箱——请自行用容器/虚拟机隔离。
  • README 提供的通配符 allow 设置会关闭所有工具交互确认,仅应在完全可信的工作区使用。
  • 项目自述为实验性 fork,明确不建议用于生产流水线。
  • 提示注入被声明为不可防护且超出安全范围,处理不可信仓库内容时需额外谨慎。
  • npm 包归属 @earendil-works scope 而仓库/品牌为 senpi,安装时请核对包名与来源。
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

senpi 是 badlogic/pi-mono 的 TypeScript 单仓分叉,由 code-yeongyu 维护,定位为“更理智的 pi”,同时是 Sisyphus Labs 的 AI 助手 Dori 底层的编码智能体运行时。它继承 pi 的扩展优先设计:核心保持最小,所有功能以 18 个内置扩展形式落地,如 permission-system、compaction、dynamic-prompt、prompt-preset、todowrite、gpt-apply-patch、bash-timeout、websearch/webfetch、goal、rules 等。仓库包含 @earendil-works/pi-ai(多提供商 LLM API)、pi-agent-core(智能体运行时)、pi-tui(差分渲染终端 UI)以及 senpi CLI 本体。它还吸收了 OMO 的核心思想(意图门、todo 强制继续、按模型预设),但以单个 CLI 二进制交付,明显轻于 OMO。项目处于实验阶段,README 明确警告不要用于生产管线,上游修改通过 changes.md 文件追踪以便定期 rebase。

senpi 以交互式 CLI/TUI 方式运行编码智能体:读取项目规则文件(AGENTS.md、CLAUDE.md、嵌套 AGENTS.md),构建动态系统提示(身份 → 强制意图门 → 任务纪律 → 验证层级 → 按模型预设),调用统一的多提供商 LLM API(OpenAI、Anthropic、Google 等)执行工具调用。工具侧提供 bash(带超时策略)、文件编辑(GPT 模型下切换为 Codex 风格 apply_patch)、todowrite/todoread、websearch、webfetch、goal 追踪等;会话侧执行自适应 compaction(推测性 + 紧急压缩、恢复追踪器、工具结果截断)和 tool-pair-guard 孤儿 tool_result 清理。扩展可用 senpi install git:github.com/code-yeongyu/pi-ast-grep 等命令安装 LSP、AST-Grep、comment-checker 等独立包。权限系统以 JSONL 存储规则并在 TUI 中弹出交互提示,可通过 ~/.senpi/agent/settings. 中的通配符 allow 规则全放行。

  1. 从 OMO 迁移的开发者,想要保留意图门、todo 继续循环、按模型提示预设等核心机制,但只需要一个轻量单二进制 CLI 而非 opencode 插件。
  2. 希望在多提供商(OpenAI、Anthropic、Google)之间切换模型的工程师,利用 pi-ai 统一 API 和 prompt-preset 按模型家族调优提示。
  3. 需要对工具调用设置允许/拒绝规则、审计 JSONL 权限记录的团队,使用 permission-system 内置扩展。
  4. 长时间运行编码任务、担心上下文溢出的用户,依赖 compaction 管线与 tool-pair-guard 保证会话稳定。
  5. 需要 LSP 诊断、AST 级搜索替换、注释质量检查等深度代码能力的开发者,通过 senpi install 加装 pi-lsp-client、pi-ast-grep、pi-comment-checker。
  6. 信任工作区、想完全自动化的用户,在 settings. 写入 {"permission":{"*":"allow"}} 复现 OMO 式全放行。

这个 Agent 有哪些优点和局限?

优点
  • 扩展优先架构:18 个内置扩展开箱即用,不想要的可通过 disabledBuiltinExtensions 一个开关关闭,核心保持最小、易随上游 rebase。
  • 多提供商支持:pi-ai 统一 OpenAI、Anthropic、Google API,prompt-preset 为 GPT-5.x、Claude Opus 4.x、Kimi K2.6 提供按模型预设,gpt-apply-patch 为 GPT 家族换上 Codex 风格补丁工具。
  • 上下文可靠性工程:compaction 管线(自适应阈值、恢复追踪器、紧急压缩)、tool-pair-guard、bash-timeout 等直接解决长会话智能体的真实失败模式。
  • 供应链加固明确:直接依赖锁定精确版本、.npmrc 设置 save-exact 与 min-release-age、CI 运行 npm audit 与签名校验。
局限
  • README 明确标注“实验性”,警告不要将生产管线押在其上;它只反映 Dori 这一个 AI 助手的需求。
  • OMO 的多个能力无对应实现:Discipline Agents、Team Mode、Skill 系统、Hashline、Ralph Loop、/init-deep 等均缺失,重度 OMO 用户迁移需权衡。
  • 无内置容器隔离边界:默认以启动用户权限运行文件系统、进程、网络与凭据,需要自行按文档使用 OpenShell、Gondolin 微 VM 或 Docker 容器化。
  • 作为分叉需定期 rebase 上游 pi-mono,且官方文档要求配合 changes.md 维护;安装与使用文档以开发者视角为主,最终用户的单条安装命令未明示。

如何安装或部署这个 Agent?

npm 发布名为 @code-yeongyu/senpi,可执行文件为 senpi。开发方式:npm install --ignore-scriptsbun install --ignore-scripts,随后 bun run build 构建、bun run test 测试、bun run publish 发布。运行时需要 shell、网络访问 LLM 提供商 API(需 API 密钥)。配置存放于 ~/.senpi/agent/(全局)和项目根的 .senpi/。README 未给出面向最终用户的单条 npm 安装命令,安装 npm 包 @code-yeongyu/senpi 的确切命令需用户自行确认。

如何使用这个 Agent?

安装后运行 senpi 进入交互式 CLI/TUI 会话。按需在 ~/.senpi/agent/settings. 配置权限(如通配符 allow)、disabledBuiltinExtensionsfavoriteModelsopenai.serviceTier 等。安装扩展:senpi install git:github.com/code-yeongyu/pi-lsp-clientsenpi install git:github.com/code-yeongyu/pi-ast-grepsenpi install git:github.com/code-yeongyu/pi-comment-checker。更新:senpi update senpi(查询 code-yeongyu/senpi 的 release)。常用命令:/rules/reload-rules/history/diff/files/tui/lsp(需 pi-lsp-client)。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents