@esign-ai/openclaw-veriagent
v1.0.1
Published
Browser-led VeriAgent onboarding and local certificate tools for OpenClaw.
Maintainers
Readme
VeriAgent OpenClaw Plugin
VeriAgent OpenClaw 插件提供智能体身份安装、本地证书状态查询、标准签名对象生成和验签能力。
功能概览
| 能力 | 说明 |
|---|---|
| 身份安装 | 通过浏览器授权完成 VeriAgent 智能体初始化和证书安装 |
| 状态查询 | 查看本地安装状态、证书文件和远端状态 |
| 标准签名 | 使用本地证书生成 VeriAgent 标准 signedObject |
| 标准验签 | 将标准 signedObject 提交到 VeriAgent 后端验签 |
| 文件签名 | 文件场景自动生成 <filePath>.signed.json |
| CLI | 提供 openclaw veriagent 命令入口 |
环境要求
| 项 | 要求 | |---|---| | Node.js | 18 或以上 | | OpenClaw | 支持插件扩展和工具注册 | | 浏览器 | 可打开 VeriAgent 授权页面 | | 后端 | 可访问 VeriAgent API |
安装与启用
openclaw plugins install clawhub:@esign-ai/openclaw-veriagent
openclaw gateway restart初始化 VeriAgent:
openclaw veriagent init查看状态:
openclaw veriagent status配置项
| 配置 | 环境变量 | 默认值 |
|---|---|---|
| 插件数据目录 | VERIAGENT_PLUGIN_HOME | ~/.openclaw/veriagent |
| API 地址 | VERIAGENT_API_BASE_URL | https://api.veriagent.ai |
| 门户地址 | VERIAGENT_PORTAL_BASE_URL | https://app.veriagent.ai |
| Client ID | VERIAGENT_CLIENT_ID | 插件默认值 |
| 安装环境 | VERIAGENT_INSTALL_PROFILE | prod |
工具列表
| 工具 | 说明 |
|---|---|
| veriagent_install | 开始或继续安装流程 |
| veriagent_status | 查看当前本地安装状态 |
| veriagent_sign | 生成标准签名对象 |
| veriagent_verify | 验证标准签名对象 |
CLI 命令
| 命令 | 说明 |
|---|---|
| openclaw veriagent init | 初始化 VeriAgent |
| openclaw veriagent status | 查看安装状态 |
| openclaw veriagent list-agents | 列出本地智能体材料 |
| openclaw veriagent sign | 生成标准签名对象 |
| openclaw veriagent verify | 验证标准签名对象 |
| openclaw veriagent reset | 清理本地 VeriAgent 状态 |
安装流程
openclaw veriagent init
-> 打开授权页面
-> 完成浏览器授权
-> 下载并保存证书
-> openclaw veriagent status 确认证书就绪安装完成后,状态中应包含本地 agentId 和 certificateFile。
签名
veriagent_sign 至少需要 eventType、action,并在 payload、text、filePath 中三选一。
| 入参 | 说明 |
|---|---|
| eventType | 事件类型,如 business_event |
| action | 动作语义,如 manual_sign |
| payload | 调用方提供的结构化 JSON |
| text | 待签名文本;未传 payload 时自动生成 payload.text |
| filePath | 待签名文件;未传 payload 时自动生成 payload.file |
| context | 追踪上下文,只进入 signedObject.extensions |
工具调用示例:
{
"eventType": "business_event",
"action": "manual_sign",
"filePath": "/tmp/demo.pdf"
}CLI 示例:
openclaw veriagent sign \
--event-type business_event \
--action manual_sign \
--file-path /tmp/demo.pdf文件签名成功后会生成:
/tmp/demo.pdf.signed.json.signed.json 结构:
{
"requestId": "req_xxx",
"apiBaseUrl": "https://api.veriagent.ai",
"signInterfaceUrl": "local VeriAgent certificate signing via OpenClaw veriagent_sign tool; no remote HTTP endpoint was called for signing",
"signedObject": {}
}验签
veriagent_verify 支持三种输入方式。
| 入参 | 说明 |
|---|---|
| signedObject | 标准签名对象 |
| signedObjectFile | .signed.json 文件路径,自动读取内层 signedObject |
| filePath | 原文件路径,自动读取同目录 <filePath>.signed.json |
工具调用示例:
{
"filePath": "/tmp/demo.pdf"
}CLI 示例:
openclaw veriagent verify --file-path /tmp/demo.pdf验签只返回结果,不生成 .verify-result.json 文件。
签名对象规则
| 字段 | 是否参与签名 |
|---|---|
| schemaVersion、eventType、action | 是 |
| payloadHash、signedAt、certificateSerialNo | 是 |
| signatureAlgorithm | 是 |
| payload | 通过 payloadHash 间接参与 |
| extensions | 否 |
数据链路:
payload / text / filePath
-> payloadHash
-> 本地证书私钥签名
-> signedObject
-> 后端按 certificateSerialNo 验签注意事项
| 事项 | 说明 |
|---|---|
| 先安装再签名 | 没有本地证书材料时无法签名 |
| text 与 filePath | 二选一,不能同时传入 |
| payload | 必须是结构化 JSON 对象 |
| .signed.json | 外层 wrapper 不参与验签,验签读取内层 signedObject |
| apiBaseUrl | 仅作为 wrapper 元数据,不参与签名验签 |
| 自动打开浏览器 | 只自动打开通过安全校验的 http / https URL |
