Promptise Foundry
将代理、MCP 工具与运行治理整合为一个 Python 框架。
- Star 数
- ★ 894
- 最近更新
- 3 天前
- License
- Apache-2.0
- 主语言
- Python
- FA 评分
- 44/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台Claude.ai · OpenAI API · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 为内部运营团队构建可调用现有 HTTP MCP 工具的状态查询助手,并把对话与持久记忆保存在本地目录。
- 不适合
- 需要开箱即用、不想自行搭建 MCP 工具服务器与运行时的团队
- 需要现成生产部署清单与集群示例、不愿自行摸索基础设施的团队
- 源码审查
- 44/100 · 缺口较多
这个 Agent 能做什么,适合哪些场景?
Promptise Foundry 是面向 Python 的全栈代理工程框架,覆盖代理构建、推理图、MCP 服务、长期运行时、身份与提示工程。其核心入口是异步的 build_agent():可连接工具服务器,并按配置启用记忆、护栏、语义缓存和观测。代理可通过 ainvoke() 接收消息并返回结果,MCP Server SDK 则可将带类型标注的 Python 函数发布为工具。运行时面向计划任务、Webhook 和文件变化等触发方式,并声明支持状态日志、恢复、预算限制和人工审批。README 还声明支持 OpenAI、Anthropic、Gemini、Ollama 及 LangChain BaseChatModel,并可使用本地模型、嵌入模型和向量存储。
开发者先执行 pip install promptise,然后调用 await build_agent(...) 创建代理。在示例中,model="openai:gpt-5-mini" 指定模型,servers={"tools": HTTPServerSpec(url="http://localhost:8000/mcp")} 指向 HTTP MCP 服务,ChromaProvider(persist_directory="./memory") 提供持久记忆,PromptiseSecurityScanner.default()、SemanticCache() 和 observe=True 分别配置安全扫描、缓存与追踪。随后通过 await agent.ainvoke({"messages": [{"role": "user", "content": "..."}]}) 运行代理,从 result["messages"] 的最后一条消息读取输出,并调用 await agent.shutdown() 关闭。对于工具端,README 描述可用 @server.tool() 将 Python 函数及其类型提示暴露为 MCP 工具。
- 为内部运营团队构建可调用现有 HTTP MCP 工具的状态查询助手,并把对话与持久记忆保存在本地目录。
- 为多租户 SaaS 团队构建客户隔离的代理服务,使用租户上下文隔离记忆、缓存、会话、限流和审计数据。
- 为需要高风险操作审核的企业工具服务配置 MCP 审批门,在工具执行前要求人工签字。
- 为数据分析、代码审查、客户支持或流水线观察场景设计代理工作流,并选择研究、辩论或计划—执行—反思等推理预设。
- 为需要定时、Webhook 或文件变化触发任务的团队运行长期代理流程,并使用运行时的日志、恢复和预算治理能力。
如何安装或部署这个 Agent?
运行:pip install promptise。README 标示 Python 3.10+。若使用示例中的 OpenAI 模型和 HTTP MCP 工具服务,还需要配置可用的模型访问凭据,并在 http://localhost:8000/mcp 运行 MCP 服务;README 未给出这些凭据的具体环境变量名称或 MCP 服务启动命令。
如何使用这个 Agent?
最小调用流程为:import asyncio;从 promptise 导入 build_agent、PromptiseSecurityScanner、SemanticCache;从 promptise.config 导入 HTTPServerSpec;从 promptise.memory 导入 ChromaProvider。在 async main() 中调用 await build_agent(model="openai:gpt-5-mini", servers={"tools": HTTPServerSpec(url="http://localhost:8000/mcp")}, instructions="You are a helpful assistant.", memory=ChromaProvider(persist_directory="./memory"), guardrails=PromptiseSecurityScanner.default(), cache=SemanticCache(), observe=True),再使用 await agent.ainvoke({"messages": [{"role": "user", "content": "What's the status of our pipeline?"}]}),读取 result["messages"][-1].content,最后 await agent.shutdown();以 asyncio.run(main()) 启动。
这个 Agent 有哪些优点和局限?
- 以一个异步 build_agent() 入口组合模型、MCP 工具发现、记忆、安全扫描、缓存和观测,而不是要求调用方分别拼装这些接口。
- 同时提供代理侧与 MCP 服务侧能力;@server.tool() 可依据 Python 类型提示生成工具模式,并声明可供 Claude Desktop、Cursor 等 MCP 客户端使用。
- README 明确列出运行时治理能力,包括计划、Webhook、文件监视触发、日志恢复、工具调用与支出限制及人工审批。
- 声明支持多家模型提供商、LangChain BaseChatModel,以及本地或离线的安全模型、嵌入和向量存储路径。
- 示例依赖一个正在运行的 HTTP MCP 端点 http://localhost:8000/mcp;仓库材料未提供该服务的启动与认证配置步骤。
- README 把记忆、护栏、缓存和观测设计为可选参数,采用这些能力需要额外选择并配置相应组件。
- 材料没有给出生产部署命令、基础设施清单、身份提供商配置步骤或运行时集群配置示例,采用这些生产能力需要自行补足实施细节。
- 公开示例使用 OpenAI 模型;虽然 README 声明多提供商支持,但未在材料中给出 Anthropic、Gemini、Ollama 或 LangChain 的可复制配置示例。
这个 Agent 与同类方案有什么区别?
README 将 Foundry 定位为减少多库拼装的统一框架,并声明可接入任意 LangChain BaseChatModel;材料未提供与 LangChain 的功能逐项对比或迁移步骤。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Promptise Foundry 当前 | 44 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 894 | 3 天前 | Python | Claude.ai · OpenAI API · Claude API |
| OpenAI Agents SDK | 64 · 存在缺口 | 代码库 / SDK免费 + 模型费 | ★ 31k | 1 天前 | Python | OpenAI API |
| Agno Agent Platform | 41 · 缺口较多 | 开发框架免费 + 模型费 | ★ 43k | 今天 | Python | — |
| Agentica | 63 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 360 | 1 天前 | Python | OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示框架宣称提供安全功能(如guardrails、审批、审计日志、多租户隔离),但静态审查无法验证实现。扣分:未提供实际代码或配置示例来证明这些功能有效;依赖安全仅提及使用pip audit,未提供依赖漏洞扫描结果;外部影响(如工具调用)缺乏明确的权限控制细节;回滚机制仅在文档中提及,未提供实现细节;来源归属仅通过许可证和作者信息,未验证发布者身份。
README和pyproject.toml中的描述基本一致,但存在一些不一致(如README声称100%异步,但未提供证据)。扣分:依赖可用性未验证,未提供锁文件或依赖解析策略;失败消息仅提及错误处理,未提供具体示例。
README明确目标用户(开发者)和场景(构建生产级代理),并提供多种模型和部署选项。扣分:能力边界描述模糊,未明确哪些功能是实验性的;触发精度(如cron、webhook)仅在文档中提及,未提供配置示例;环境适配(如离线运行)有提及,但未提供详细配置。
信息架构清晰,README有详细目录和文档链接;安装说明简单(pip install);命名稳定(promptise);提供示例和FAQ链接;已知限制未明确列出;许可证为Apache-2.0;版本和变更日志未在仓库中提供;维护责任未明确。
输出可用性高,README提供快速入门示例;边际价值高,框架整合多个功能;成本效益未评估,未提供性能或资源消耗数据。
README中的声明(如安全功能、多租户)未提供代码或测试证据;跨来源验证不足,仅依赖README和pyproject.toml;事实与推断未明确区分。
- 静态审查无法验证安全功能(如guardrails、审批)的实际实现,需进行动态测试。
- 依赖安全仅提及使用pip audit,未提供实际漏洞扫描结果,建议检查依赖版本。
- 发布者身份未验证,需谨慎评估供应链风险。
- README中的性能声明(如100%异步)缺乏证据支持。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
v1.11.0 Promptise Foundry 1.11.0
发布说明摘录
Fixes from the full guide review on 1.10.1 and from building the demo system on promptise run: keyless Azure OpenAI, a function as approval-classifier fallback, the input BLOCK warning where it applies, whole lines from promptise audit verify, the TUI's MCP tab for runtime agents, and current model examples. Changed …在 GitHub 查看 ↗ -
v1.10.1 Promptise Foundry 1.10.1
发布说明摘录
Security - With scan_tool_results=True, trace_tools and an observer showed the raw tool result -- the model got the redacted result, but MCP tools and wrapped native tools reported the result from inside the tool, before the scan, so the console line and the trace's result_preview held the PII or secret the scan had removed. They now show the result the model gets: the redacted text, or the withheld notice. observe=True traces were not affected. Fixed …在 GitHub 查看 ↗ -
v1.10.0 Promptise Foundry 1.10.0
发布说明摘录
Security fixes for custom MCP auth providers, approval gates and inbox scanning, a deadline for streamed runs, and fixes found while checking every guide against 1.9.0. Upgrade notes - A .env is looked for only up to the project root: the nearest folder with promptise.toml, pyproject.toml or .git, or the working directory when there is none. A project nested in another repository no longer loads that repository's .env; list a shared file on purpose with [env] files = ["../.env"]. …在 GitHub 查看 ↗