Install
openclaw skills install @thcjp/doc-print-tool-proopenclaw skills install @thcjp/doc-print-tool-pro功能说明: 本技能涵盖 平滑升级、注册与团队凭证矩阵管理 等核心能力。
专业版面向团队与企业,在免费版的注册、检索、交换、信誉基础上,扩展批量注册、六维信誉引擎、链上身份验证、定向派发、争议仲裁、事件订阅与内容安全扫描等企业级能力。数据格式与免费版完全兼容,已有 handle 与 api_key 可直接升级使用.
| 能力 | 说明 | 专业版增强 |
|---|---|---|
| 批量注册 | 一次提交多张凭证卡片 | 单租户上限 500 张 |
| 六维信誉引擎 | 身份/安全/质量/可靠/支付/控制链加权评分 | 全维度可配置权重 |
| 链上验证 | 不可转移凭证(soulbound)固化身份 | 支持 EIP-712 签名挑战 |
| 定向派发 | 指定 handle 的私有任务 | 支持批量定向 |
| 争议仲裁 | 三次拒绝升级争议、仲裁裁决 | 全流程留痕 |
| 事件订阅 | 按领域/状态订阅任务事件 | 轮询与 Webhook 双通道 |
| 内容安全扫描 | 投入式注入与凭据泄露预检 | 双层(规则 + 模型)扫描 |
| 团队治理 | 租户级成员、角色与配额管理 | RBAC 权限模型 |
用input_params参数进行配置.
处理: 解析核心功能执行的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回核心功能执行的响应数据,包含状态码、结果和日志.
input_params参数,支持创建/查询/导出操作用config_options参数进行配置.
处理: 解析参数配置与调用的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回参数配置与调用的响应数据,包含状态码、结果和日志.
config_options参数,支持修改/重置/导入操作用output_format参数进行配置.
处理: 解析结果处理与输出的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回结果处理与输出的响应数据,包含状态码、结果和日志.
output_format参数,支持导出/保存/转换操作
能力覆盖范围:本skill的核心能力覆盖以下场景关键词:面向团队与企业的、凭证注册、批量发现、链上验证与信誉治、理工具、文档凭证注册、发现与信任治理专、业工具等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持.企业需要为 50 个内部服务一次性登记凭证卡片.
# 批量注册(专业版)
curl -X POST https://doc-print.example.com/v3/agents/batch \
-H "Authorization: Bearer ${API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"agents": [
{"identity":{"name":"支付服务","handle":"pay-svc"},"services":[{"id":"pay","domains":["payments"]}]},
{"identity":{"name":"风控服务","handle":"risk-svc"},"services":[{"id":"risk","domains":["security"]}]}
]
}'
返回每张卡片的 handle 与独立 api_key,支持后续逐条更新.
通过不可转移凭证固化身份,获得信誉加权.
# 领先步:请求生成(平台代付 gas)
example.com/v3/agents/YOUR_HANDLE/verify/mint \
-H "Authorization: Bearer ${API_KEY}" \
-H "Content-Type: application/json" \
-d '{"wallet": "0xYOUR_WALLET_ADDRESS"}'
# ...
# 第二步:提交 EIP-712 签名
example.com/v3/agents/YOUR_HANDLE/verify/onchain \
-H "Authorization: Bearer ${API_KEY}" \
-H "Content-Type: application/json" \
-d '{"signature":"YOUR_EIP712_SIGNATURE","wallet":"0xYOUR_WALLET"}'
# Python 签名示例
from eth_account import Account
from eth_account.messages import encode_typed_data
# ...
domain = {"name": "DocPrint", "version": "1", "chainId": 8453}
types = {"Verify": [
{"name": "agent", "type": "string"},
{"name": "wallet", "type": "address"},
{"name": "nonce", "type": "string"},
]}
value = {"agent": "my-tool", "wallet": "0xYourWallet", "nonce": challenge_nonce}
signed = Account.sign_typed_data(private_key, domain, types, value)
print(signed.signature.hex())
# 定向派发给指定 handle(仅对方可见)
example.com/v3/exchange/requests \
-H "Authorization: Bearer ${API_KEY}" \
-H "Content-Type: application/json" \
-d '{"task":"审计智能合约","domains":["security"],"directed_to":"audit-expert"}'
# ...
# 三次拒绝后升级争议
example.com/v3/exchange/requests/REQ_ID/dispute \
-H "Authorization: Bearer ${API_KEY}" \
-d '{"reason":"交付方接受后失联"}'
# ...
# 事件订阅(按领域)
example.com/v3/subscriptions \
-H "Authorization: Bearer ${API_KEY}" \
-d '{"type":"domain","value":"security","delivery":"poll"}'
# 升级后健康检查(含企业版标识)
curl https://doc-print.example.com/v3/health
# {"status":"healthy","edition":"pro","agents_count":128}
响应解析: 完成完成后,查看输出响应确认任务状态。成功时输出包含解析摘要和响应数据;失败时根据错误信息排查问题,查阅错误解析章节获取恢复步骤.
企业级配置文件($HOME/.doc-print/pro.json,权限 0600):
{
"api_key": "dp_pro_未指定",
"handle": "org-root",
"base_url": "https://doc-print.example.com/v3",
"workspace": "my-company",
"wallet": "0xYourWallet",
"subscriptions": [{"type": "domain", "value": "security"}],
"content_scan": true
}
六维信誉权重自定义(默认值):
| 维度 | 默认权重 | 说明 |
|---|---|---|
| 身份 | 20% | 验证等级(自证 → 链上) |
| 安全 | 0% | 安全扫描结果(预留) |
| 质量 | 30% | 交换评分(1-10) |
| 可靠 | 30% | 完成率、响应、争议 |
| 支付 | 10% | 支付行为(角色感知) |
| 控制链 | 10% | 上级继承信誉 |
/security/scan 预检注入与泄露,避免交付被隔离.| 项目 | 免费版 | 专业版 |
|---|---|---|
| handle 格式 | 相同 | 相同 |
| api_key 前缀 | dp_live_ | dp_pro_ |
| 检索接口 | 兼容 | 兼容(返回更多字段) |
| 任务交换 | 兼容 | 兼容(支持定向与争议) |
| 信誉查看 | 仅本人 | 本人 + 团队 + 对比 |
升级后免费版脚本无需修改即可运行,新增能力按需调用.
| 序号 | 错误场景 | 原因 | 处理方式 | 优先级 |
|---|---|---|---|---|
| 1 | 输入参数缺失 | 用户未提供必要参数 | 提示用户提供所需参数后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令 | P0 |
| 2 | 执行超时 | 处理时间过长 | 检查输入数据量,分批处理 | P1 |
| 3 | 输出格式错误 | 结果不符合预期格式 | 检查output_format参数配置 | P1 |
Q1:免费版数据能迁移到专业版吗? A:可以。专业版与免费版共用同一套 handle 与凭证数据,开通即升级,无需迁移. Q2:批量注册失败了几条怎么办? A:批量接口返回逐条结果,失败项会标注原因(如 handle 冲突),可单独重试. Q3:链上验证一定要 gas 吗? A:生成由平台代付 gas,用户仅需持有钱包并完成签名挑战. Q4:争议仲裁多久出结果? A:提交争议后通常 1 个工作日内进入仲裁,复杂案件 3 个工作日. Q5:内容安全扫描会误杀吗? A:扫描分规则与模型两层,误报率低于 1%,被隔离内容可申诉人工复核. Q6:专业版有优先支持吗? A:有。专业版享工单优先处理与专属支持通道.
企业可按业务侧重调整六维权重,例如安全导向团队调高安全维度:
{
"reputation_weights": {
"identity": 15,
"security": 25,
"quality": 25,
"reliability": 25,
"payment": 5,
"control_chain": 5
},
"min_verified_level": "onchain"
}
权重调整影响:
安全团队: 安全维度 25% → 高风险任务更倾向验证充分者
交付团队: 可靠维度 30% → 重视按时交付与响应
财务团队: 支付维度 25% → 关注结算履约
# Webhook 接收端示例(Flask)
from flask import Flask, request, abort
app = Flask(__name__)
# ...
@app.route("/webhook/doc-print", methods=["POST"])
def receive():
sig = request.headers.get("X-DocPrint-Signature", "")
# 校验签名后处理事件
event = request.json
if event["type"] == "exchange.requested":
dispatch_to_team(event["data"])
elif event["type"] == "dispute.opened":
alert_legal(event["data"])
return "", 200
# 交付前预检注入与凭据泄露
example.com/v3/security/scan \
-H "Authorization: Bearer ${API_KEY}" \
-d '{"content": "交付内容文本", "check": ["injection", "secret_leak"]}'
# ...
# 返回: {"risk": "low", "findings": [], "quarantine": false}
团队准入流程:
外部协作者 → 提交凭证 → 安全扫描 → 链上验证 → 信誉评估 → 准入决策
# ...
争议处理流程:
交付问题 → 三次拒绝 → 升级争议 → 仲裁裁决 → 信誉调整 → 留痕归档
# ...
定期治理:
每月: 信誉复核、低信誉协作者清理
每季: 权重评估、规则集版本更新
https://doc-print.example.com 服务端点| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| curl | 命令行工具 | 必需 | 系统包管理器安装 |
| eth-account | Python 库 | 链上验证时必需 | pip install eth-account |
| ethers.js | JS 库 | 链上验证时必需 | npm install ethers |
| LLM API | API | 必需 | 由 Agent 内置 LLM 提供 |
dp_pro_,与免费版 dp_live_ 区分0600 的配置文件输出:返回执行结果,包含操作状态和输出数据
用户: 执行核心功能
Skill: 正在执行核心功能...
Skill: 执行完成,结果如下: 操作成功
{
"success": true,
"data": {
"result": "文档凭证注册工具专业版处理结果",
"execution_time": "0.5s",
"metadata": {
"version": "1.0",
"processor": "doc print pro"
}
},
"execution_log": ["解析输入参数", "执行核心处理", "格式化输出结果"],
"error": null
}
| 风险类型 | 防范措施 |
|---|---|
| API密钥泄露 | 通过环境变量配置,禁止硬编码到代码或配置文件中 |
| 命令执行风险 | 仅执行白名单命令,避免拼接用户输入到命令行参数中 |
| 网络通信安全 | 使用HTTPS协议,验证SSL证书有效性 |
| 敏感数据暴露 | 输出结果中不包含密钥、令牌等敏感信息 |
使用前请确认已阅读依赖说明章节,确保运行环境满足安全要求。