code-yeongyu/senpi
pi had nothing (nothing), so I made something (something) — sorry mariozechner-senpai, I went ahead and lovingly soiled your pure pi for you. opinionated fork of badlogic/pi-mono with extension-first additions. ganbare ganbare senpi 頑張れ頑張れ先輩
解决的问题
senpi 是一个编码代理运行时,通过在 pi-mono 代理之上添加实用、有主见的功能,同时保持核心最小化,使日常 AI 辅助代码工作更顺畅。它为 Dori AI 助手提供支持,并专注于规范的工具使用、上下文管理和安全的权限处理。
工作原理
senpi 是一个从 pi-mono 分叉的 TypeScript monorepo,重新品牌为单一 CLI 二进制。它遵循扩展优先的理念:核心保持精简,功能作为内置扩展添加,可通过设置切换。关键子系统包括:动态系统提示,在任何工具调用前强制意图门控;压缩管道,用于自适应上下文摘要;工具调用中间件,支持 XML、Hermes、YAML+XML 和 Gemma4 文本工具协议,适用于没有原生函数调用的模型;以及完整的权限系统,包含规则、JSONL 存储和 TUI 提示。其他功能如 LSP、AST-grep 和注释检查可作为独立的 pi-* 扩展安装。
适用人群
面向构建 AI 助手或编码代理的开发者,他们希望获得轻量级、经过生产测试的运行时,并带有精选默认设置;以及 OMO 用户,他们更喜欢单一 CLI 二进制,而不需要更重的 opencode 框架。它也是 Dori 助手背后的运行时,因此任何探索该生态系统的用户都会发现相关的设计选择。
亮点
- 扩展优先设计:每个功能都作为内置扩展提供,可通过
disabledBuiltinExtensions禁用。 - 动态系统提示中的强制意图门控,以规范工具使用。
- 压缩管道,具有自适应阈值、紧急压缩和恢复跟踪。
- 工具调用中间件,支持多种文本工具协议(XML、Hermes、YAML+XML、Gemma4)。
- 权限系统,包含允许/拒绝规则、JSONL 存储和解析器感知模式。
- 内置扩展,包括 apply-patch、bash 超时、网络搜索、目标跟踪、嵌套 AGENTS.md 等。
- 可安装扩展,包括 LSP、AST-grep、注释检查、计算机使用和原生提供商工具(Anthropic、OpenAI、Google)。
相关
- 项目
- 项目
- 项目
- 项目
- 项目