内容
<!-- GitHub 仓库关于字段:适用于 AI 代理的零信任执行平面 — 开源核心 MCP/SDK,用于屏蔽、强制和审计代理调用。 -->
<div align="center">
<picture>
<source
media="(prefers-color-scheme: dark)"
srcset="https://github.com/Blekline/blekline-oss/raw/main/assets/images/blekline-logo-dark.svg"
/>
<source
media="(prefers-color-scheme: light)"
srcset="https://github.com/Blekline/blekline-oss/raw/main/assets/images/blekline-logo-light.svg"
/>
<img
alt="Blekline — 标志和文字标志"
src="https://github.com/Blekline/blekline-oss/raw/main/assets/images/blekline-logo-light.svg"
width="46%"
/>
</picture>
</div>
<h3 align="center">
适用于 AI 代理的零信任执行平面 — 开源核心 MCP/SDK,用于屏蔽、强制和审计每一次代理调用。
</h3>
<p align="center">
<a href="https://app.blekline.com/docs/introduction/quick-start">快速开始</a> ·
<a href="https://app.blekline.com/docs/introduction/why-ingress">为什么使用 ingress</a> ·
<a href="https://app.blekline.com/docs/introduction/architecture">架构</a> ·
<a href="https://app.blekline.com/docs/mcp/server">MCP 服务器</a> ·
<a href="SECURITY.md">安全</a> ·
<a href="https://app.blekline.com">云端</a>
</p>
<p align="center">
<a href="https://github.com/Blekline/blekline-oss/actions/workflows/oss-ci.yml"><img src="https://github.com/Blekline/blekline-oss/actions/workflows/oss-ci.yml/badge.svg" alt="CI" /></a>
<a href="LICENSE"><img src="https://img.shields.io/badge/Proxy%20%26%20server-AGPL%20v3-blue.svg" alt="AGPL v3" /></a>
<a href="LICENSE-APACHE"><img src="https://img.shields.io/badge/SDK%20%26%20contracts-Apache%202.0-green.svg" alt="Apache-2.0" /></a>
<a href="https://www.npmjs.com/package/@blekline/mcp-server"><img src="https://img.shields.io/npm/v/@blekline/mcp-server?label=mcp-server" alt="npm" /></a>
<a href="https://www.npmjs.com/package/@blekline/mcp-proxy"><img src="https://img.shields.io/npm/v/@blekline/mcp-proxy?label=mcp-proxy" alt="npm proxy" /></a>
</p>
---
## 没人愿意谈论的问题
Cursor 编写你的代码,Claude 回答你的支持票,自主管道触及你的数据库,你的 API,你的客户数据。生态系统正在加速 — MCP 服务器让代理可以像应用选择插件一样选择工具 — 这真的很令人兴奋。
但问题是:你的代理不知道它们不被允许做的事情。它们会很乐意地将 AWS 密钥传递给模型上下文窗口。它们会调用一个带有客户邮箱作为参数的工具。它们会执行计划外 shell 命令。不是出于恶意 — 而是语言模型的根本性质:它们优化任务完成,而不是你尚未编写的组织策略。
这是 AI 治理的空白点。目前,代理和它们可以触及的一切之间没有任何东西。
## 为什么这个问题变得迫切
欧盟 AI 法案不再是理论性的。GPAI 义务自 2025 年 8 月起可强制执行。透明度和人工监督要求于 2026 年 8 月落地。高风险系统一致性评估紧随其后。最严重的违规行为罚款高达 3500 万欧元或全球营业额的 7%。这些规则不仅适用于模型,还适用于您使用它们构建的系统:您如何管理工具访问权限,如何审计决策,如何证明有人参与了该过程。
与此同时,大规模运行 AI 的企业 — 沙盒化、并行化、成千上万次代理调用 — 对于以下问题没有原生答案:该会话发生了什么?谁授权了该工具调用?是否有任何个人可识别信息(PII)离开了上下文窗口?
合规性问题正在赶上能力问题。而大多数团队都没有准备好。
## Blekline 是什么
Blekline 是一个 **开源核心 NHIM 楔块** — MCP/SDK/ingress 边车,用于在代理边界处屏蔽、强制和审计。
| 开源(此仓库) | 私有(企业镜像) |
| ---------------------------------------------------------- | ------------------------------------------- |
| `@blekline/mcp-server`、`mcp-proxy`、`contracts`、`client` | Trust Vault(有状态令牌化) |
| `ingress-proxy` 边车 shell + Helm | Lineage Firewall 引擎 |
| Cursor 钩子 | `runtime-engine` 加密 + 接纳 webhook |
它在任何 LLM 看到提示或任何工具执行之前,实时执行三件事情:
**屏蔽** — 在提示到达模型 API 之前,从提示中剥离 PII、密钥和敏感上下文 ([MCP 服务器文档](https://app.blekline.com/docs/mcp/server))
**强制** — 根据策略评估工具调用;允许、标记或阻止执行
**审计** — 为每次代理交互发出结构化、防篡改的事件轨迹
您可以将其本地运行,仅需两分钟。您可以将其作为边车部署在任何 L1 沙盒(Daytona、Modal、E2B、Cloudflare、Vercel Sandbox)旁边。您可以将其插入 Cursor、Claude Desktop 或 Codex — 无需更改代理代码。
这是使受控 AI 部署成为现实的基础设施:不是一个复选框,不是一份政策文件,而是一个运行的系统,在调用级别强制执行您的意图。
---
## 从这里开始
```bash
pnpm install && pnpm build:packages
export BLEKLINE_WORKSPACE_TOKEN="blw_..."
export BLEKLINE_API_URL="https://app.blekline.com"
export BLEKLINE_CLIENT_SURFACE="sdk"
pnpm demo:mcp-smoke
```
无头指南: `[cli/README.md](cli/README.md)` · CI 模板: `[ci/](ci/)`
## 连接 Blekline
| 接口 | 路径 | `BLEKLINE_CLIENT_SURFACE` |
| -------------- | ---------------------------------------------------------------------------------------- | ------------------------- |
| CLI / SDK | `[cli/](cli/)` | `sdk` |
| CI / CD | `[ci/](ci/)` | `sdk` |
| Claude 代码 | `[.claude/settings.json.example](.claude/settings.json.example)` | `claude-code` |
| Cursor | `[.cursor/mcp.json.example](.cursor/mcp.json.example)` | `cursor` |
| GitHub Copilot | `[.vscode/mcp.json.example](.vscode/mcp.json.example)` | `github-copilot` |
| Continue | `[.vscode/continue.config.json.example](.vscode/continue.config.json.example)` | `continue` |
| Claude 桌面版 | `[config/claude_desktop_config.json.example](config/claude_desktop_config.json.example)` | `claude-desktop` |
| Codex | `[.codex/config.toml.example](.codex/config.toml.example)` | `codex` |
完整索引: `[integrations/README.md](integrations/README.md)` · 文档: [app.blekline.com/docs](https://app.blekline.com/docs)
```bash
pnpm generate:mcp-configs # *.example 配置文件
pnpm verify:integrations # 清单 + 模式检查
```
在任意客户端: *"使用 blekline_mask_prompt:联系 Jane at [jane@acme.com](mailto:jane@acme.com) — API 密钥 AKIAIOSFODNN7EXAMPLE"*
## 架构
Blekline 位于 **第 4 层** — 在 L5 代理(Cursor、Claude、Codex)和 L1 沙盒(Daytona、Modal、Vercel Sandbox、Cloudflare、E2B)和模型 API 之间。
```text
L5 代理 → L4 Blekline(屏蔽 · 强制 · 审计)→ L1 沙盒 MCP / 模型 API
```
[AI 支持栈](https://app.blekline.com/docs/introduction/ai-enablement-stack) · [架构](https://app.blekline.com/docs/introduction/architecture) · [信任边界](https://app.blekline.com/docs/security/trust-boundaries) · [延迟 SLO](https://app.blekline.com/docs/reference/latency-slo)
## 开源核心 vs 云端
| 功能 | 开源(此仓库) | 云端 ([app.blekline.com](https://app.blekline.com)) |
| ---------------------------- | --------------------------- | ---------------------------------------------------- |
| MCP 服务器 / 代理 | 是 | 是 |
| 本地工具 + 机密强制 | 是 (`@blekline/contracts`) | 是 |
| Azure 权威 PII 屏蔽 | — | 是 |
| 工作区舰队策略(SSE) | — | 是 |
| 调查 / 计费 | — | 是 |
**许可证:** 用于代理/服务器(自托管或购买云端)的 AGPL。用于合约/SDK(嵌入您的代理栈)的 Apache 2.0。
## 适用人群
**使用 Cursor、Claude Desktop 或 Codex 的开发者**,希望他们的代理停止泄露密钥并开始尊重工具边界。
**部署 AI 工作负载到 L1 沙盒的平台团队**,他们需要一个随执行环境移动的治理层。
**准备遵守欧盟 AI 法案的企业架构师**,特别是人类监督、审计轨迹和工具调用透明度要求,这些要求将于 2026 年 8 月生效。
**开源贡献者**,他们认为安全 AI 的基础设施应该是可审计、可分叉并由社区拥有的 — 而不是锁定在供应商的云端。
## 软件包
| 软件包 | 安装 | 许可证 |
| ---------------------- | ---------------------------- | ---------- |
| `@blekline/mcp-server` | `npm i @blekline/mcp-server` | AGPL-3.0 |
| `@blekline/mcp-proxy` | `npm i @blekline/mcp-proxy` | AGPL-3.0 |
| `@blekline/client` | `npm i @blekline/client` | Apache-2.0 |
| `@blekline/contracts` | 工作区 / 嵌入 | Apache-2.0 |
| `ingress-proxy` | Docker / Helm | AGPL-3.0 |
OpenAPI: `[packages/contracts/openapi.yaml](packages/contracts/openapi.yaml)`
## MCP 工具
| 工具 | 目的 |
| ----------------------------- | ----------------------------------------- |
| `blekline_mask_prompt` | 在模型上下文之前删除 PII / 机密 |
| `blekline_classify_risk` | 风险等级 → 允许 / 审查 / 阻止 |
| `blekline_evaluate_tool_calls` | 工具名称 + 参数的策略 |
| `blekline_emit_event` | 元数据审计轨迹 |
代理路径:代理 → **Blekline** → 允许/屏蔽/阻止 → 下游 MCP(Daytona、E2B、Modal、Cloudflare、Vercel Sandbox、自定义)。
## 客户端库
### TypeScript
```bash
npm install @blekline/client
```
```typescript
import { BleklineClient } from "@blekline/client";
const blekline = new BleklineClient({
workspaceToken: process.env.BLEKLINE_WORKSPACE_TOKEN!,
metadata: { clientSurface: "sdk" },
});
await blekline.mask({ text: "alice@corp.com", platform: "MyAgent" });
await blekline.enforceToolCalls({
toolName: "run_shell",
arguments: { cmd: "curl https://api.internal/deploy" },
});
```
### Python
```bash
pip install blekline-client
```
### 本地(无 API 令牌)
```typescript
import { enforceToolCallLocally, scanTextForSecrets } from "@blekline/contracts";
scanTextForSecrets("export AWS_KEY=AKIAIOSFODNN7EXAMPLE");
enforceToolCallLocally({
toolName: "run_shell",
arguments: { cmd: "export AWS_KEY=AKIAIOSFODNN7EXAMPLE" },
requestId: "local-1",
});
```
## 合作伙伴
完整集成指南位于 [app.blekline.com/docs](https://app.blekline.com/docs) — 不在此仓库中镜像。
### L5 客户端
| 客户端 | 指南 |
| ---------------- | ------------------------------------------------------------------------- |
| Hub | [代理客户端](https://app.blekline.com/docs/integrations/agent-clients) |
| Continue | [Continue MCP](https://app.blekline.com/docs/mcp/continue) |
| GitHub Copilot | [Copilot MCP](https://app.blekline.com/docs/mcp/github-copilot) |
| OpenHands | [OpenHands](https://app.blekline.com/docs/mcp/openhands) |
| Sourcegraph Cody | [Cody](https://app.blekline.com/docs/mcp/sourcegraph-cody) |
### L2 模型提供商
| 提供商 | 指南 |
| ------------ | ------------------------------------------------------------------------------- |
| Hub | [模型提供商](https://app.blekline.com/docs/integrations/model-providers) |
| Azure OpenAI | [Azure 栈](https://app.blekline.com/docs/integrations/azure-openai-stack) |
| AWS Bedrock | [Bedrock 栈](https://app.blekline.com/docs/integrations/aws-bedrock-stack) |
| OpenRouter | [OpenRouter 栈](https://app.blekline.com/docs/integrations/openrouter-stack) |
### L2 框架和 RAG
| 集成 | 指南 |
| ----------- | --------------------------------------------------------------------------------- |
| Hub | [框架和 RAG](https://app.blekline.com/docs/integrations/frameworks-and-rag) |
| LangChain | [LangChain 栈](https://app.blekline.com/docs/integrations/langchain-stack) |
| Pinecone | [Pinecone 栈](https://app.blekline.com/docs/integrations/pinecone-stack) |
### L3 评估和安全
| 合作伙伴 | 指南 |
| ---------- | ------------------------------------------------------------------------------- |
| Hub | [评估和安全](https://app.blekline.com/docs/integrations/eval-and-safety) |
| LangSmith | [LangSmith 栈](https://app.blekline.com/docs/integrations/langsmith-stack) |
| Guardrails | [Guardrails 栈](https://app.blekline.com/docs/integrations/guardrails-stack) |
### L1 沙盒
| 提供商 | 集成指南 |
| -------------- | --------------------------------------------------------------------------------------- |
| 五个 | [沙盒提供商中心](https://app.blekline.com/docs/integrations/sandbox-providers) |
| Daytona | [Daytona 栈](https://app.blekline.com/docs/integrations/daytona-stack) |
| Modal | [Modal 栈](https://app.blekline.com/docs/integrations/modal-stack) |
| Vercel Sandbox | [Vercel Sandbox 栈](https://app.blekline.com/docs/integrations/vercel-sandbox-stack) |
| Cloudflare | [Cloudflare 栈](https://app.blekline.com/docs/integrations/cloudflare-stack) |
| E2B | [E2B 栈](https://app.blekline.com/docs/integrations/e2b-stack) |
## 部署
| 模式 | 命令 / 链接 |
| ------------ | --------------------------------------------------------------------------------- |
| MCP(全局) | `npx -y @blekline/mcp-server` |
| 边缘边车 | `pnpm docker:ingress` — [Helm](https://app.blekline.com/docs/api/ingress-proxy) |
| L1 沙盒 | [沙盒提供商](https://app.blekline.com/docs/integrations/sandbox-providers) |
## 开发
客户端演示和烟雾测试: [demo/README.md](demo/README.md)。
```bash
git clone https://github.com/Blekline/blekline-oss.git && cd blekline-oss
pnpm install && pnpm build:packages && pnpm demo:mcp-smoke
```
## 文档
所有文档: **[app.blekline.com/docs](https://app.blekline.com/docs)**
| 文档 | 链接 |
| ---------------------- | -------------------------------------------------------------------------------------------------- |
| 快速入门 | [介绍/快速入门](https://app.blekline.com/docs/introduction/quick-start) |
| 欧盟 AI 法案及合规 | [介绍/欧盟 AI 法案](https://app.blekline.com/docs/introduction/eu-ai-act) |
| AI 支持栈 | [介绍/AI 支持栈](https://app.blekline.com/docs/introduction/ai-enablement-stack) |
| MCP 代理 | [MCP/代理](https://app.blekline.com/docs/mcp/proxy) |
| Cursor 设置 | [MCP/Cursor](https://app.blekline.com/docs/mcp/cursor) |
## 社区和设计合作伙伴
**问题或集成反馈** — [GitHub Discussions](https://github.com/Blekline/blekline-oss/discussions)(Q&A,集成反馈)
**设计合作伙伴** — 在生产环境中部署代理并希望帮助将 Blekline 集成到您的栈中(代理或 MCP 服务器)
- [开启设计合作伙伴问题](https://github.com/Blekline/blekline-oss/issues/new?template=design_partner.yml)
- 或 [开始讨论](https://github.com/Blekline-oss/discussions/new) — 选择 **设计合作伙伴兴趣**
## 贡献
[CONTRIBUTING.md](CONTRIBUTING.md) · [SECURITY.md](SECURITY.md) · [CHANGELOG.md](CHANGELOG.md)
私人 Blekline 团队:在 `blekline` monorepo 中开发,运行 `pnpm sync:oss` 从根仓库。
## 许可证
| 组件 | 许可证 |
| ------------------------------------------ | ---------------------------- |
| `mcp-server`、`mcp-proxy`、`ingress-proxy` | [AGPL-3.0](LICENSE) |
| `contracts`、`client`、`client-python` | [Apache-2.0](LICENSE-APACHE) |
[app.blekline.com](https://app.blekline.com) 上托管的 SaaS 服务不受此仓库许可的约束。
MCP 配置
以下是此 MCP Server 的配置信息,可直接复制到 Cursor 或其他 MCP 客户端中使用。
mcp.json
连接信息
猜你喜欢
暂无推荐服务器