AIP Go代理
参考实施 代理身份协议 --MCP(模型上下文协议)的策略执行代理。
“人工智能代理的Sudo”
特性
- 工具歧视执法 --只能调用允许的工具
- 参数验证 --工具参数的正则表达式模式
- 循环中的人类 --用于敏感操作的本地操作系统对话框
- DLP扫描 --纠正工具响应中的秘密
- 审核日志记录 --所有决策的不可变JSONL跟踪
- 监控模式 --不强制执行测试策略
v1alpha2功能(新)
- 身份令牌 --具有自动轮换功能的加密会话标识
- 服务器端验证 --用于分布式策略实施的HTTP端点
- 策略签名 --Ed25519签名用于策略完整性
- 普罗米修斯指标 —
/metrics可观测性终点
快速开始
安装
# Quick install with Go
go install github.com/openagentidentityprotocol/agentidentityprotocol/cmd/aip-proxy@latest
# Or from source
git clone https://github.com/openagentidentityprotocol/aip-go.git
make build
./bin/aip --help创建策略
# policy.yaml
apiVersion: aip.io/v1alpha1
kind: AgentPolicy
metadata:
name: my-policy
spec:
mode: enforce
allowed_tools:
- read_file
- list_directory
tool_rules:
- tool: write_file
action: ask # Require approval
- tool: exec_command
action: block # Never allowv1alpha2身份和服务器策略
# policy-v1alpha2.yaml
apiVersion: aip.io/v1alpha2
kind: AgentPolicy
metadata:
name: enterprise-agent
spec:
allowed_tools:
- read_file
- write_file
identity:
enabled: true
token_ttl: "10m"
rotation_interval: "8m"
require_token: true
session_binding: "strict"
server:
enabled: true
listen: "127.0.0.1:9443"
# tls:
# cert: "/etc/aip/cert.pem"
# key: "/etc/aip/key.pem"跑
# Wrap any MCP server with policy enforcement
./bin/aip --policy policy.yaml --target "npx @modelcontextprotocol/server-filesystem /tmp"
# Verbose mode for debugging
./bin/aip --policy policy.yaml --target "python mcp_server.py" --verbose与Cursor集成
# Generate Cursor config
./bin/aip --generate-cursor-config \
--policy /path/to/policy.yaml \
--target "your-mcp-server-command"将输出添加到 ~/.cursor/mcp.json.
CLI参考
| 标志 | 描述 | 默认值 |
|---|---|---|
--target | 要包装的MCP服务器命令(必需) | -- |
--policy | 策略YAML文件的路径 | agent.yaml |
--audit | 审核日志文件的路径 | aip-audit.jsonl |
--verbose | 启用stderr的详细日志记录 | false |
--generate-cursor-config | 输出游标IDE配置JSON | false |
文档
| 文档 | 描述 |
|---|---|
| 快速启动 | 使用echo服务器的分步教程 |
| 建筑 | 深入了解代理设计 |
| 集成指南 | 光标、VS代码、Claude桌面设置 |
| 政策参考 | 完整的YAML架构 |
| AIP v1alpha1规范 | 原始协议规范 |
| AIP v1alpha2规范 | 身份和服务器端验证 |
例子
看 examples/ 对于即用型策略:
agent.yaml--功能齐全的示例,包含所有选项read-only.yaml--阻止所有写入操作gpu-policy.yaml--GPU/ML工作负载控制gemini-jack-defense.yaml--及时缓解注射monitor-mode.yaml--干运行测试identity-server.yaml--v1alpha2身份令牌+HTTP服务器
建筑
┌─────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ MCP Client │────▶│ AIP Proxy │────▶│ MCP Server │
│ (Agent) │◀────│ Policy Engine │◀────│ (Subprocess) │
└─────────────┘ └──────────────────┘ └─────────────────┘
│
▼
┌─────────────┐
│ Audit Log │
│ (JSONL) │
└─────────────┘代理人:
- 在stdin/stdout上拦截JSON-RPC消息
- 评估
tools/call违反政策的请求 - 阻止、允许或提示审批
- 将所有决策记录到审计文件中
- 对响应应用DLP编辑
发展
# Build
make build
# Test
make test
# Lint
make lint
# All checks
make all许可证
Apache 2.0——请参阅 许可证
