mcpField
Y
Yagami AI Context Firewall

Yagami AI Context Firewall

本地服务
matthewtracy.github.io安全13 周前更新

关于 Yagami AI Context Firewall

Yagami 是面向开发者及平台、安全团队的开源上下文防火墙,用于管理 Agent 上下文流向模型、检索、记忆和工具。它在本地分类上下文、执行版本化策略,并在不记录提示词内容的情况下留存决策证据。

主要功能

  1. 01本地上下文分类与溯源
  2. 02版本化策略预览与回放
  3. 03敏感数据路由限制
  4. 04受管函数与 MCP 工具调用
  5. 05不含内容的审计证据
  6. 06使用限额与可观测性

适用场景

  1. 01将代码仓库密钥留在设备本地
  2. 02为高风险工具调用设置审批
  3. 03在 CI 中测试策略变更
  4. 04不记录提示词也能审计决策

MCP 相关

Yagami 提供 Streamable HTTP MCP 接口,并对 MCP 调用应用统一的策略、溯源、转换和审计流程。它可在工具执行前评估调用,并要求一次性审批。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"matthewtracy-yagami": {
"command": "uvx",
"args": [
"yagami"
],
"env": {
"YAGAMI_HEADLESS": "<YAGAMI_HEADLESS>",
"YAGAMI_MCP_SERVER_ENABLED": "<YAGAMI_MCP_SERVER_ENABLED>",
"YAGAMI_REQUIRE_AUTH": "<YAGAMI_REQUIRE_AUTH>"
}
}
}
}
启动命令uvx yagami
需要配置的环境变量
YAGAMI_HEADLESS
YAGAMI_MCP_SERVER_ENABLED
YAGAMI_REQUIRE_AUTH密钥

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiyagami0.8.3

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Yagami

开源 AI 上下文防火墙,用于治理模型、检索、记忆和工具访问。

CI PyPI Python License: MIT

文档 | 网关 API | 部署 | 安全 | 路线图

60 秒上手

无需凭据的演示会在已安装的情况下使用你配置的 Ollama 模型; 否则会打开明确标注的纯策略备用模式。请选择一条命令:

uvx yagami demo
# or: python -m pip install yagami && yagami demo
# or: docker run --rm -p 127.0.0.1:8000:8000 ghcr.io/matthewtracy/yagami:latest yagami demo --host 0.0.0.0 --allow-remote

打开 http://127.0.0.1:8000,或者在克隆的项目目录中运行 docker compose -f compose.demo.yaml up。演示模式会阻止云端路由,同时展示界面、 策略、溯源、存储和审计流程。若要获取本地 AI 回答,请安装 Ollama 并在启动演示前运行 ollama pull llama3.2:3b-instruct-q4_K_M。

https://github.com/user-attachments/assets/a7be9449-eafc-4acb-99b6-ea39edc43cd2

Yagami 工作区,包含对话历史、聊天和会话洞察

Yagami 面向需要控制 Agent 上下文去向以及其可执行工具的开发者和平台/安全团队。例如:编码 Agent 可以将仓库机密保留在设备上,并要求在执行危险工具调用前进行绑定身份的一次性审批。

Yagami 位于软件与本地模型、云端大模型、检索系统、记忆和工具之间。现有的 OpenAI SDK 应用只需更改一个 base_url 即可接入;随后,Yagami 会在本地对上下文进行分类、应用带版本的策略,并为每项决策记录不含内容的证据。

体验无需数据的安全导览,或运行旗舰安全演示, 了解机密隔离、投毒检索和绑定身份的工具审批。

保护应用

初始化持久化用户配置,检查主机并启动 Yagami:

yagami init
yagami doctor
yagami serve

如果 Yagami 进程或示例客户端使用 Anthropic/OpenAI 兼容 SDK,请安装 yagami[providers]。 PDF 导入和操作系统密钥存储属于独立的 ingest 和 desktop 扩展;请参阅配置。

然后将 OpenAI 客户端指向网关:

from openai import OpenAI

client = OpenAI(
    base_url="http://127.0.0.1:8000/v1",
    api_key="your-yagami-project-key",
)

response = client.chat.completions.create(
    model="yagami-auto",
    messages=[{"role": "user", "content": "Summarize this document."}],
    metadata={
        "purpose": "internal-documentation",
        "sensitivity": "none",
        "session_id": "example-session",
    },
)
print(response.choices[0].message.content)

支持的调用方敏感度值为 none、phi、phi_medical 和 secret。调用方提示可以让策略更严格,但不能降低 Yagami 检测到的敏感度。

如需生产环境身份验证、策略和部署设置,请参阅部署指南。

团队为何使用 Yagami

  • 分类后的确定性隔离。 一旦上下文被标记为 PHI 或机密,默认策略仅允许使用本地后端。敏感对话历史和工具结果也会受到相同限制。
  • 统一的受治理数据平面。 Chat Completions、Responses、浏览器聊天和 MCP 使用相同的策略、溯源、转换、输出 DLP、预算和审计流程。
  • 策略即代码。 预览并重放决策,在 CI 中运行回归用例,并发布确定性的 Ed25519 签名策略包。
  • 无需记录提示词即可获取证据。 策略护照、哈希链审计记录、Prometheus 指标和 OpenTelemetry span 携带的是标签、哈希、ID 和计数,而非提示词或补全内容。
  • 无需重复定义策略即可选择模型。 在一个强制执行点后路由到本地引擎、直接云服务提供商或现有的 OpenAI 兼容网关。
  • 受治理的工具。 在执行前评估函数工具和 MCP 调用,要求一次性短时效审批,并确保入站凭据不会转发到下游服务。

核心功能

领域包含内容
兼容的 APIOpenAI Chat Completions、核心 Responses API、Streamable HTTP MCP
身份作用域受限的项目 API 密钥和 OIDC/JWT 工作负载身份
策略有版本管理的 YAML/JSON 规则、限制性合并、预览、重放、影子模式、回归测试、签名策略包
隐私本地分类、调用方敏感度、上下文溯源、AES-GCM 令牌化、还原、输出 DLP、可选的 Presidio
工具函数调用、受治理的内置技能、stdio 和远程 MCP、一次性审批
运维费用/速率/并发/上下文限制、健康检查、Prometheus、OpenTelemetry、SIEM 导出、审批 Webhook
打包Python 3.11-3.14、PyPI、非 root 容器、Docker Compose、Helm、SBOM、校验和及构建来源证明

模型与集成

本地生成支持 Ollama、通过可选的 llama-cpp-python 运行时使用 llama.cpp,以及通过 Microsoft Foundry Local 的回环 OpenAI 兼容服务进行生成。直接云适配器支持 Anthropic、OpenAI、Mistral、Groq、OpenRouter、Google Gemini 和 Stability AI 图像生成。

Yagami 还支持 LangChain/LangGraph、Vercel AI SDK、Microsoft Presidio、Splunk HEC 和通用 SIEM Webhook、Slack 和 Teams 审批通知,以及 LiteLLM、Portkey、Kong 或 Envoy 等上游网关。请参阅集成指南。

对比

Yagami 并非旨在取代所有网关、验证器或安全扫描器。它专注于分类后的确定性隔离、受治理的工具执行,以及不包含内容的决策证据。请参阅诚实的对比指南,了解何时 LiteLLM、Guardrails AI、NeMo Guardrails、Presidio、LlamaFirewall 或直接使用提供商 SDK 是更好的选择,以及如何将它们与 Yagami 结合使用。

强制执行机制

flowchart LR
    A["Application or agent"] --> B["Authentication and project limits"]
    B --> C["Local classification and context lineage"]
    C --> D["Versioned policy"]
    D --> E{"Allowed destination or capability"}
    E --> F["Local or approved model"]
    E --> G["Retrieval, memory, or tool"]
    F --> H["Output inspection"]
    G --> H
    H --> I["Response"]
    D --> J["Content-free policy passport and audit chain"]
    H --> J

策略具有最终决定权。斜杠命令和显式后端选择都无法覆盖敏感数据限制。分类器故障时默认回退到本地,并且可以完全阻止云路由,或在达到每日费用上限时停止。

重要限制

Yagami 是一个强制执行组件,并非合规认证。自动检测可能会漏掉敏感数据。严格部署应由调用方声明敏感度,使用仅限本地的策略,测试组织特定的用例,在主机或卷层加密存储,并审查威胁模型。

该项目目前处于 alpha 阶段。投入生产使用前,请根据自身要求验证策略和故障处理行为。

文档

贡献

欢迎提交有针对性的问题和拉取请求。请阅读 CONTRIBUTING.md、 安全政策 和行为准则。

许可证

MIT - 版权所有 (c) 2026 Matthew Tracy 和 Yagami 贡献者。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。