TypeSafe Evaluate
让智能体获得可直接分支处理的类型化判断与概率,而不是解析自由文本。
- Star 数
- ★ 358
- 最近更新
- 2 天前
- License
- MIT
- 主语言
- Go
- FA 评分
- 70/100 · 存在缺口
30 秒速览
- 运行形态
- 可在哪里用
- 平台专用Codex · Claude Code · Claude.ai
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 客服平台开发者需要根据工单原文判断是否紧急,并在 billing、technical、sales 等候选团队之间自动路由。
- 不适合
- 想要通用文本生成或完整工作流引擎的用户,它只返回结构化判断
- 使用 Windows 的用户,文档只覆盖 macOS 和 Linux 的 amd64/arm64 安装
这个 Agent 能做什么,适合哪些场景?
TypeSafe Evaluate 是一个以静态 Go 二进制分发的 MCP 服务器,为智能体提供名为 evaluate 的只读工具。它接收待判断的文本或 JSON 状态,以及一组 noul、choice 或 score 类型的问题,再调用 TypeSafe 的 Jev 模型生成结构化答案和概率。请求可以直接发送至 TypeSafe API,也可以使用 OpenRouter 的 Decisions 端点;两条路径都依赖 Jev,而不是通用模型适配层。evaluate setup mcp 可为 Claude Code、Claude Desktop 和 Codex 注册服务器,pi 则通过单独安装的原生扩展接入。它适合需要可靠路由、二元判断或等级评分的程序化工作流,但不负责生成通用文本,也不能脱离外部网络和相应 API 凭证运行。
evaluate MCP 工具读取 state,其内容可以是纯文本,也可以是带命名字段的 JSON 对象或数组;随后处理以问题 ID 为键的 questions 映射。每个问题使用 noul、choice 或 score 类型,并可包含 instructions 和相应 criteria。服务器把状态和问题提交给 TypeSafe API 的 POST /v1/systemone,或在配置 OpenRouter 时提交给其 POST /decisions 端点,再将原始结构化 JSON 返回给客户端,答案保留调用者提供的问题 ID。一次调用可以批量提交多个针对同一状态的独立问题,这些问题会并行执行。它会以指数退避方式重试 HTTP 429 和 529 响应;其他 API 错误会作为可供智能体读取和处理的工具错误返回。服务器还会在本地拒绝格式错误的 criteria,并指出对应字段路径;单次请求超时为 60 秒,超过 16 MiB 的响应会被拒绝而不会截断。
- 客服平台开发者需要根据工单原文判断是否紧急,并在 billing、technical、sales 等候选团队之间自动路由。
- 智能体工作流作者需要对某个明确条件获得带概率的 yes/no 判断,以便根据置信度选择不同代码分支。
- 后端工程师需要把同一份事件状态同时交给多个独立规则问题评估,并在一次调用中取得结构化结果。
- 使用 Claude Code、Claude Desktop 或 Codex 的开发者,希望避免维护自由文本提示格式和脆弱的答案解析逻辑。
- pi 用户希望通过原生扩展调用相同的
evaluate mcp后端,为自动化流程加入类型化判断。
如何安装或部署这个 Agent?
在 macOS 或 Linux 的 amd64、arm64 环境中运行安装脚本;二进制会安装到 ~/.local/bin:
curl -fsSL https://raw.githubusercontent.com/itsmostafa/typesafe-mcp/main/install.sh | sh如果该目录不在 PATH 中:
export PATH="$HOME/.local/bin:$PATH"也可以使用 Go 安装:
go install github.com/itsmostafa/typesafe-mcp/cmd/evaluate@latest取得 TypeSafe API 密钥后,为检测到的 Claude Code、Claude Desktop 和 Codex 注册 MCP 服务器:
TYPESAFE_API_KEY=your-key evaluate setup mcp如果通过 OpenRouter 使用 Jev,则改用:
OPENROUTER_API_KEY=your-key evaluate setup mcp两个变量同时存在时,TYPESAFE_API_KEY 优先。pi 不提供 MCP 客户端,需要安装项目附带的扩展:
evaluate setup pi该命令写入 ~/.pi/agent/extensions/evaluate.ts;随后在 pi 中运行 /reload。升级已安装的二进制可执行:
evaluate update如何使用这个 Agent?
完成注册并确保启动智能体的 shell 中存在有效的 TYPESAFE_API_KEY 或 OPENROUTER_API_KEY。然后要求智能体使用 evaluate 判断具体状态,例如工单是否紧急以及应该由哪个团队处理。对应的工具调用可以是:
{
"state": "Help! My payouts have been failing for 3 days.",
"questions": {
"is_urgent": {
"type": "noul",
"instructions": "Does this convey urgency?"
},
"department": {
"type": "choice",
"instructions": "Which team should handle this?",
"criteria": {
"billing": "Payments, refunds",
"technical": "Bugs, outages",
"sales": "Pricing"
}
}
}
}返回值是原始 JSON,每个答案位于调用时提供的同名问题 ID 下。可以使用可选的 model 字段;默认值在 TypeSafe 路径上是 jev-latest,在 OpenRouter 路径上是 ~typesafe/jev-latest。
这个 Agent 有哪些优点和局限?
- 返回类型化答案和概率,调用代码可以直接分支,无需从模型自由文本中提取结论。
- 一次请求可对相同状态批量评估多个独立问题,并行执行
noul、choice或score判断。 evaluate setup mcp可同时配置检测到的 Claude Code、Claude Desktop 和 Codex,pi 也有专用扩展。- 内置 429、529 指数退避重试、本地 criteria 校验、60 秒超时和 16 MiB 响应上限。
- 以单个静态二进制运行,不需要 Node.js 或 Python 运行时,并支持校验和验证的原地升级。
- 核心判断依赖 TypeSafe 的 Jev 模型;即使走 OpenRouter,也不是可替换为任意模型的通用推理后端。
- 运行时必须联网,并需要 TypeSafe API 密钥或 OpenRouter API 密钥;通过 OpenRouter 调用会计入其账户费用。
- OpenRouter Decisions 端点仍位于
/api/alpha/路径,文档明确指出该路径可能发生变化。 - 工具仅用于结构化判断,不提供通用文本生成能力,也不替代完整的智能体或工作流引擎。
- 已记录的一键二进制安装范围仅包括 macOS、Linux,以及 amd64、arm64;没有提供 Windows 支持说明。
这个 Agent 与同类方案有什么区别?
与让通用大模型输出自由文本再进行解析的方案相比,evaluate 直接返回带概率的类型化 JSON,省去提示格式维护和易碎的文本解析。TypeSafe API 与 OpenRouter Decisions 是两条可选请求路径,但两者使用的核心模型都是 Jev;TYPESAFE_API_KEY 与 OPENROUTER_API_KEY 同时配置时前者优先。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| TypeSafe Evaluate 当前 | 70 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 358 | 2 天前 | Go | Codex · Claude Code · Claude.ai |
| Jevbridge 决策桥 | 62 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 48 | 1 个月前 | TypeScript | Codex · OpenAI API · Claude API |
| Distill 终端编程助手 | 47 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 774 | 今天 | Rust | ChatGPT · OpenAI API |
| Jev Review | 81 · 表现良好 | Agent 插件 / 技能免费 + 模型费 | ★ 247 | 1 个月前 | TypeScript | Codex · Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
README 清楚展示状态和问题会被发送到 TypeSafe API 或 OpenRouter,并披露安装、客户端配置、pi 扩展及自更新产生的写入;工具本身被描述为只读,因此最小权限和外部影响处理较好,但并非完整。用户必须主动运行 setup,然而没有远程评估逐次确认机制。密钥来自环境变量且优先级明确,但 setup 会携带所有 TYPESAFE_* 变量,材料未说明配置文件权限、日志脱敏、密钥轮换或服务端数据保留。依赖和 GitHub Actions 均固定版本,Actions 使用提交哈希,发布资产有 SHA-256 校验;未见漏洞扫描、SBOM 或依赖更新政策。没有卸载、配置恢复或更新回退说明。项目、TypeSafe 服务及许可证有明确署名,但发布者未经企业注册验证,且仓库维护者与服务运营方之间的责任关系未完全交代。
README、模块清单和发布工作流在 Go 单二进制、发布资产及校验和流程上基本一致,但提供的材料不包含实现代码或测试结果,无法给予彻底一致性分数。直接和间接依赖均固定版本,发布平台和架构也有说明;同时运行依赖外部 TypeSafe/OpenRouter 服务,OpenRouter Decisions 端点明确处于 alpha 路径。材料说明了 429/529 指数退避、60 秒超时、16 MiB 上限、本地字段路径校验和可读 API 错误,但没有错误分类表、重试上限细节或恢复建议。
目标用户、支持的 Claude Code、Claude Desktop、Codex 和 pi 客户端,以及紧急度、路由和评分场景均描述具体。能力边界较明确:只有一个 evaluate 工具、三种问题类型、结构化判断而非文本生成,并区分 MCP 与 pi 扩展。触发和提问指导有所描述,但关键客户端指导位于未提供的 CLAUDE.md,无法核验其精度。环境说明覆盖 macOS/Linux、amd64/arm64、PATH、Go 安装及多个客户端,不过没有 Windows 支持、代理配置或离线行为说明。
README 按动机、快速开始、能力、参考和贡献组织,整体易读,但更详细规范被转交给未提供文件。安装、替代安装、注册、更新和 pi 重载步骤充分。命令与工具名总体稳定,但 evaluate 同时作为程序和工具名称,jev-latest 是可变别名,OpenRouter 路径也可能迁移。示例完整展示输入结构,但没有专门 FAQ 或更多边界案例。已披露只读性质、响应上限、超时、平台范围和 alpha 端点,尚未集中说明隐私、配额、网络故障及精度限制。MIT 正文完整且与元数据一致。Release Please 工作流和发布徽章证明存在版本发布机制,但未提供 changelog 内容。贡献入口和版权人可见,仍缺少明确维护团队、支持渠道、响应承诺及弃用政策。
输出按调用方提供的标识返回结构化 JSON、类型化答案和概率,适合程序分支,批量问题也提升可用性。相较让通用模型生成并解析自由文本,其减少格式解析并提供置信概率的边际价值阐述具体。单一静态二进制、并行批处理和自动重试降低使用负担,但外部服务计费、延迟、配额、判断质量和数据传输成本未量化,因此成本收益不能给满分。
部分主张可在不同材料间追踪:MIT 声明与许可证一致,Go 单二进制和依赖可由 go.mod 支撑,发布校验和与固定 Actions 可由工作流支撑。README 中关于运行时校验、重试、超时、响应限制、客户端注册和数据处理的主张缺少所提供实现代码或测试佐证。跨文件印证存在但有限,且没有独立来源。文档将问题、方案和已知 alpha 风险区分开来,但若干效果与安全表述仍是未经所给源码验证的产品主张。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 评估请求会把用户提供的 state 和 questions 发送给 TypeSafe 或 OpenRouter;在缺少数据保留、日志和隐私条款证据时,不应提交秘密、个人数据或受监管信息。
- setup 会修改客户端配置,并携带所有 TYPESAFE_* 环境变量;运行前应检查变量范围、目标配置及生成文件的访问权限。
- 未提供卸载、配置备份或回退流程;注册和自更新前应自行保存现有配置与二进制。
- OpenRouter Decisions 使用可能迁移的 alpha 路径,且外部服务的可用性、费用、配额和输出质量均未由这些静态文件验证。
- README 中多项运行时与安全主张无法由所给实现或测试文件交叉核验;本结论不代表执行测试或独立安全审计。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
[0.4.14](https://github.com/itsmostafa/system-one-connector/compare/v0.4.13...v0.4.14) (2026-10-25) Bug Fixes * eval: make the taxcat eval neutral and score it only on its own dataset ([12212ee](https://github.com/itsmostafa/system-one-connector/commit/12212eefc24a002f5adf34f461b14b8ba2877263)) * eval: show recall per taxcat group when limits differ ([2b0f555](https://github.com/itsmostafa/system-one-connector/commit/2b0f555ececbed1bed2b2ada41586867010b78c2))在 GitHub 查看 ↗ -
发布说明摘录
[0.4.13](https://github.com/itsmostafa/system-one-connector/compare/v0.4.12...v0.4.13) (2026-10-23) Bug Fixes * client: keep /v1/decisions base URLs as given ([39dcd64](https://github.com/itsmostafa/system-one-connector/commit/39dcd64a8b8a7e31a4ba53a7351fb5ef8821b368)) * client: keep /v1/decisions base URLs as given ([702423f](https://github.com/itsmostafa/system-one-connector/commit/702423f1c6111301c05c65c4d2ade05dbd5d95de)) …在 GitHub 查看 ↗ -
发布说明摘录
[0.4.12](https://github.com/itsmostafa/system-one-connector/compare/v0.4.11...v0.4.12) (2026-10-08) Features * client: send extra request headers from TYPESAFE_HEADERS ([e2fcc02](https://github.com/itsmostafa/system-one-connector/commit/e2fcc02c39015daf7ef9cd6854daa5fd10edb481)) * client: send extra request headers from TYPESAFE_HEADERS ([adca31b](https://github.com/itsmostafa/system-one-connector/commit/adca31b71e48d90ac0d08b05df0ae4c752560591)), closes [#53](https://github.com/itsmostafa/system-one-connector/issues/53)在 GitHub 查看 ↗
常见问题
使用它需要哪些凭证?
TYPESAFE_API_KEY 或 OPENROUTER_API_KEY。如果两者都存在,程序优先使用 TypeSafe 密钥。它能在没有网络的环境中运行吗?
API 遇到限流或故障时会怎样?
它是否会修改文件或执行写操作?
evaluate 被描述为只读工具。不过安装和配置命令会写入本地文件,例如 MCP 客户端配置、~/.local/bin 中的二进制,以及 pi 的 ~/.pi/agent/extensions/evaluate.ts。OpenRouter 路径是否完全稳定?
/api/alpha/,并可能迁移;调用费用记入用户的 OpenRouter 账户。