reputation について
Reputationは、ERC-8004のオンチェーンエージェント評判レジストリを操作するコマンドラインスキルです。ウォレット不要の照会と、ウォレット認証が必要なフィードバックや承認操作に対応します。
主な機能
- 01エージェント評判の概要を取得
- 02フィードバックの照会とページネーション
- 03タグによるフィードバックの絞り込み
- 04フィードバックの送信と取り消し
- 05フィードバックへの応答追加
- 06インデックス上限付きクライアント承認
活用シーン
- 01エージェントの総合評判を確認する
- 02クライアントからのフィードバックを確認する
- 03送信済み評価を取り消す
- 04クライアントによる評価送信を許可する
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ aibtcdev/ skills --skill reputationインストール後、Claude Code で/reputationを入力して読み込まれたか確認します。
同梱ファイルAGENT.mdreputation.ts
詳細
Reputation Skill
reputation-registry コントラクトを使用して、ERC-8004 のオンチェーンエージェントの評判を操作します。読み取り操作(get-summary、read-feedback、read-all-feedback、get-clients、get-feedback-count、get-approved-limit、get-last-index)はウォレットなしで実行できます。書き込み操作(give-feedback、revoke-feedback、append-response、approve-client)には、ロック解除済みのウォレットが必要です。
使用方法
bun run reputation/reputation.ts <subcommand> [options]
サブコマンド
give-feedback
ERC-8004 reputation registry のエージェントにフィードバックを送信します。ロック解除済みのウォレットが必要です。
bun run reputation/reputation.ts give-feedback --agent-id <id> --value <value> [--value-decimals <decimals>] [--tag1 <tag>] [--tag2 <tag>] [--endpoint <endpoint>] [--feedback-uri <uri>] [--feedback-hash <hex>] [--fee <fee>] [--sponsored]
オプション:
--agent-id(必須)— フィードバックを送信するエージェント ID(0 以上の整数)--value(必須)— フィードバック値(符号付き整数。例:肯定的な評価は 5、否定的な評価は -2)--value-decimals(任意、デフォルトは 0)— 値の小数点以下の桁数(0 以上の整数)--tag1(任意)— 主分類タグ(例:"helpful"、"accuracy")--tag2(任意)— 副分類タグ--endpoint(任意)— フィードバックのエンドポイントまたはコンテキスト識別子--feedback-uri(任意)— 詳細なフィードバックデータを指す URI--feedback-hash(任意)— フィードバックデータの 32 バイトの SHA-256 ハッシュを 16 進数文字列で指定--fee(任意)— 手数料プリセット(low、medium、high)または micro-STX の金額--sponsored(フラグ)— スポンサー付きトランザクションとして送信
出力:
{
"success": true,
"txid": "0xabc...",
"message": "Feedback submitted for agent 42.",
"agentId": 42,
"value": 5,
"valueDecimals": 0,
"network": "mainnet",
"explorerUrl": "https://explorer.hiro.so/txid/0xabc..."
}
revoke-feedback
以前に送信したフィードバックを取り消します。フィードバックを送信した本人(tx-sender)のみ、自分のフィードバックを取り消せます。ロック解除済みのウォレットが必要です。
bun run reputation/reputation.ts revoke-feedback --agent-id <id> --index <index> [--fee <fee>] [--sponsored]
オプション:
--agent-id(必須)— 取り消すフィードバックのエージェント ID(0 以上の整数)--index(必須)— 取り消すフィードバックのインデックス(0 以上の整数)--fee(任意)— 手数料プリセット(low、medium、high)または micro-STX の金額--sponsored(フラグ)— スポンサー付きトランザクションとして送信
出力:
{
"success": true,
"txid": "0xdef...",
"message": "Feedback index 0 revoked for agent 42.",
"agentId": 42,
"index": 0,
"network": "mainnet",
"explorerUrl": "https://explorer.hiro.so/txid/0xdef..."
}
append-response
フィードバックエントリーに応答を追加します。任意のプリンシパルが応答を追加でき、コントラクトはフィードバックエントリーごとに一意の応答者を追跡します。ロック解除済みのウォレットが必要です。
bun run reputation/reputation.ts append-response --agent-id <id> --client <address> --index <index> --response-uri <uri> --response-hash <hex> [--fee <fee>] [--sponsored]
オプション:
--agent-id(必須)— フィードバックに関連付けられたエージェント ID(0 以上の整数)--client(必須)— 元のフィードバック送信者の Stacks アドレス--index(必須)— 応答するフィードバックのインデックス(0 以上の整数)--response-uri(必須)— 応答データを指す URI--response-hash(必須)— 応答データの 32 バイトの SHA-256 ハッシュを 16 進数文字列で指定--fee(任意)— 手数料プリセット(low、medium、high)または micro-STX の金額--sponsored(フラグ)— スポンサー付きトランザクションとして送信
出力:
{
"success": true,
"txid": "0xghi...",
"message": "Response appended to feedback index 0 for agent 42.",
"agentId": 42,
"client": "SP2...",
"index": 0,
"responseUri": "ipfs://response...",
"network": "mainnet",
"explorerUrl": "https://explorer.hiro.so/txid/0xghi..."
}
approve-client
指定したインデックス上限まで、クライアントアドレスがエージェントにフィードバックを送信できるよう承認します。呼び出し元はエージェントの所有者または承認済みオペレーターである必要があります。ロック解除済みのウォレットが必要です。
bun run reputation/reputation.ts approve-client --agent-id <id> --client <address> --index-limit <limit> [--fee <fee>] [--sponsored]
オプション:
--agent-id(必須)— 承認を設定するエージェント ID(0 以上の整数)--client(必須)— 承認するクライアントの Stacks アドレス--index-limit(必須)— クライアントが送信できるフィードバックエントリーの最大数(0 以上の整数)--fee(任意)— 手数料プリセット(low、medium、high)または micro-STX の金額--sponsored(フラグ)— スポンサー付きトランザクションとして送信
出力:
{
"success": true,
"txid": "0xjkl...",
"message": "Client SP3... approved for agent 42 up to index limit 10.",
"agentId": 42,
"client": "SP3...",
"indexLimit": 10,
"network": "mainnet",
"explorerUrl": "https://explorer.hiro.so/txid/0xjkl..."
}
get-summary
エージェントの評判の集計サマリーを取得します。フィードバックの合計数と、WAD で平均化したサマリー値を返します。ウォレットは不要です。
bun run reputation/reputation.ts get-summary --agent-id <id>
オプション:
--agent-id(必須)— 照会するエージェント ID(0 以上の整数)
出力:
{
"success": true,
"agentId": 42,
"totalFeedback": 7,
"summaryValue": "5000000000000000000",
"summaryValueDecimals": 18,
"network": "mainnet"
}
read-feedback
エージェント ID、クライアントアドレス、フィードバックインデックスを指定して、特定のフィードバックエントリーを読み取ります。ウォレットは不要です。
bun run reputation/reputation.ts read-feedback --agent-id <id> --client <address> --index <index>
オプション:
--agent-id(必須)— 照会するエージェント ID(0 以上の整数)--client(必須)— フィードバック送信者の Stacks アドレス--index(必須)— 読み取るフィードバックのインデックス(0 以上の整数)
出力:
{
"success": true,
"agentId": 42,
"client": "SP2...",
"index": 0,
"value": 5,
"valueDecimals": 0,
"wadValue": "5000000000000000000",
"tag1": "helpful",
"tag2": "",
"isRevoked": false,
"network": "mainnet"
}
read-all-feedback
エージェントのフィードバックエントリーをすべて、ページネーションで取得します。タグによる任意の絞り込みと、カーソルベースのページネーション(ページサイズ:14)に対応しています。ウォレットは不要です。
bun run reputation/reputation.ts read-all-feedback --agent-id <id> [--tag1 <tag>] [--tag2 <tag>] [--include-revoked] [--cursor <cursor>]
オプション:
--agent-id(必須)— クエリ対象のエージェント ID(0 以上の整数)--tag1(任意)— プライマリータグで絞り込みます--tag2(任意)— セカンダリータグで絞り込みます--include-revoked(フラグ)— 取り消されたフィードバックエントリーを結果に含めます--cursor(任意)— 前回のレスポンスから取得したページネーションカーソル
出力:
{
"success": true,
"agentId": 42,
"items": [
{
"client": "SP2...",
"index": 0,
"value": 5,
"valueDecimals": 0,
"wadValue": "5000000000000000000",
"tag1": "helpful",
"tag2": "",
"isRevoked": false
}
],
"cursor": null,
"network": "mainnet"
}
get-clients
エージェントにフィードバックを提供したクライアントアドレスの一覧を、ページネーションで取得します。ページサイズ 14 のカーソルベースのページネーションに対応しています。ウォレットは不要です。
bun run reputation/reputation.ts get-clients --agent-id <id> [--cursor <cursor>]
オプション:
--agent-id(必須)— クエリ対象のエージェント ID(0 以上の整数)--cursor(任意)— 前回のレスポンスから取得したページネーションカーソル
出力:
{
"success": true,
"agentId": 42,
"clients": ["SP2...", "SP3..."],
"cursor": null,
"network": "mainnet"
}
get-feedback-count
エージェントのフィードバックの合計件数を取得します。ウォレットは不要です。
bun run reputation/reputation.ts get-feedback-count --agent-id <id>
オプション:
--agent-id(必須)— クエリ対象のエージェント ID(0 以上の整数)
出力:
{
"success": true,
"agentId": 42,
"feedbackCount": 7,
"network": "mainnet"
}
get-approved-limit
エージェント上でクライアントに承認されたフィードバックインデックスの上限を確認します。クライアントに明示的な承認がない場合は 0 を返します。ウォレットは不要です。
bun run reputation/reputation.ts get-approved-limit --agent-id <id> --client <address>
オプション:
--agent-id(必須)— クエリ対象のエージェント ID(0 以上の整数)--client(必須)— 確認するクライアントの Stacks アドレス
出力:
{
"success": true,
"agentId": 42,
"client": "SP3...",
"approvedLimit": 10,
"network": "mainnet"
}
get-last-index
エージェント上でクライアントが最後に付与したフィードバックインデックスを取得します。クライアントがフィードバックを一度も付与していない場合は 0 を返します。ウォレットは不要です。
bun run reputation/reputation.ts get-last-index --agent-id <id> --client <address>
オプション:
--agent-id(必須)— クエリ対象のエージェント ID(0 以上の整数)--client(必須)— 確認するクライアントの Stacks アドレス
出力:
{
"success": true,
"agentId": 42,
"client": "SP3...",
"lastIndex": 2,
"network": "mainnet"
}
注意事項
- 読み取り操作(get-summary、read-feedback、read-all-feedback、get-clients、get-feedback-count、get-approved-limit、get-last-index)はウォレットなしで実行できます
- 書き込み操作には、ロック解除済みのウォレットが必要です(
bun run wallet/wallet.ts unlock) - フィードバックの値は符号付き整数です。小数の精度を指定するには
--value-decimalsを使用してください --feedback-hashと--response-hashは正確に 32 バイト(64 個の 16 進数文字)である必要がありますrevoke-feedbackを呼び出せるのは、元のフィードバック送信者のみです(tx-sender が送信したクライアントと一致する必要があります)approve-clientを呼び出せるのは、エージェントのオーナーまたは承認された ID オペレーターのみです- ページネーションにはカーソルベースのナビゲーションを使用します。あるレスポンスの
cursorを次の呼び出しに渡してください