返回项目展示
截图 1
截图 2

项目描述

KeyVeilKeyVeil 是面向 Claude Code、OpenClaw、Codex、Manus 等的 Agent 原生策略外壳:Session 边界 + 策略引擎 + 审计级收据;链上签名与执行层可插拔。演示界面中央为 Hash Crystal(哈希晶体):随评估结果变色与呼吸,并以收据 id 参与形态哈希;可点击画布交互变形。Python 包名仍为 agent_wallet(导入路径不变)。安装(开发)cd agent-wallet-hackathon pip install -e ".[dev]"可展示 Demo(审计大屏 + 场景脚本)终端「Agent 叙事」+ 浏览器实时 Payment Receipt(WebSocket),直接调用仓库内的 evaluate_payment。pip install -e ".[demo]" agent-wallet-dashboard # 或 keyveil-dashboard浏览器打开 http://127.0.0.1:8765:中央 Hash Crystal 与大字状态,左侧会话/场景,右下操作;AUDIT LOG 抽屉查看完整日志与 JSON 收据。部署(Docker / 云平台)环境变量PORT:监听端口(Railway、Render、Fly.io 等通常会注入;默认 8765)。KEYVEIL_HOST:绑定地址;容器内需对外监听时请设为 0.0.0.0(Dockerfile 已默认)。本机开发可省略,仍为 127.0.0.1。KEYVEIL_PORT:若平台不用 PORT,可用此项覆盖端口。Docker 构建与运行docker build -t keyveil-demo . docker run --rm -p 8765:8765 keyveil-demo浏览器访问 http://localhost:8765。健康检查:GET /health。一键蓝图Render:仓库根目录 render.yaml,Dashboard → New → Blueprint 连接 Git 即可(单容器 = 页面 + /api/* + /ws)。Fly.io:根目录 fly.toml,本地执行 fly launch / fly deploy(若提示 app 名冲突,改掉 fly.toml 里的 app)。Vercel(Serverless)导入 GitHub 仓库,Root Directory 填仓库根 .,直接 Deploy;根目录已有 vercel.json + api/index.py(Mangum 挂载现有 demo.web_server:app)。限制:Vercel 函数环境 不支持长连接 WebSocket,/ws 在云端不可用;EXECUTE 仍可通过 POST /api/simulate 返回的 JSON 更新界面(与 app.js 中 HTTP 同步逻辑一致)。AUDIT LOG 里不会实时刷出模拟过程中的逐行 agent 日志(仅适合静态展示或接受该折损时使用 Vercel)。若自动检测的 Framework 与构建冲突,可将 Framework Preset 改为 Other,并确认使用仓库里的 Install Command(vercel.json 已写 pip install '.[demo]')。api/index.py 必须导出 FastAPI 实例 app(勿用 Mangum 包装,否则 Vercel 会报 “No fastapi entrypoint found”)。完整体验(含 WS 流式日志) 请优先用 Docker / Render / Fly。自托管 HTTP 入口(已安装 .[demo] 时)KEYVEIL_HOST=0.0.0.0 PORT=8765 python -m demo.web_server反向代理:需同时转发 WebSocket(路径 /ws)。Nginx 示例在 location 中保留 Upgrade、Connection 头(proxy_http_version 1.1、proxy_set_header Upgrade $http_upgrade、proxy_set_header Connection "upgrade")。另开终端(可选)用本机脚本触发同一套 API(适合录屏左屏终端、右屏浏览器):python -m demo.agent_terminal --list python -m demo.agent_terminal approve_small python -m demo.agent_terminal block_huge内置场景包括:小额绿灯 approve_small、巨额拦截 block_huge、非白名单地址、非法 Token、意图标签越权、pending_human(免密阈值 20 USDC,请求 30)、session_paused 紧急暂停。Agent 调用示例from agent_wallet import PolicyEngine, PaymentIntent, SessionScope, evaluate_payment scope = SessionScope( session_id="sess_24h", agent_id="codex-1", expires_at_epoch=9999999999, max_per_tx_usd=5.0, daily_budget_usd=20.0, spent_today_usd=0.0, allowed_recipients={"0x1111111111111111111111111111111111111111"}, allowed_tokens={"USDC"}, ) engine = PolicyEngine.from_defaults( per_tx_confirm_above_usd=3.0, whitelist_recipients=scope.allowed_recipients, ) intent = PaymentIntent( task_id="task_buy_api", agent_id=scope.agent_id, recipient="0x1111111111111111111111111111111111111111", token="USDC", amount_usd=4.0, reason="OpenAI-compatible API quota (invoice #42)", human_approved=False, ) receipt = evaluate_payment(scope, engine, intent) print(receipt.to_json())与 LASZLO 主仓库的关系复用说明见 REUSE_FROM_LASZLO.md。链上执行可参考 ../crates/execution/。开源与去中心化声明(答辩用)用户自持主密钥、Agent 仅持受限 Session,为推荐架构;当前骨架不生成也不存储主私钥。策略与日志应可本地运行,避免单点云厂商绑定。

团队成员

KeyVeil

孔繁睿
队长

元数据

创建者孔繁睿
创建时间2026年4月12日
状态已归档
项目 ID#260