mcpField
M
mod-actions

mod-actions

github.com/civitaiその他7.3k79 回インストール今日更新
リポジトリ

mod-actions について

mod-actions は、Civitai のモデレーター向けコマンドライン監査ツール集です。Civitai tRPC API を介して、ユーザー、違反記録、画像、通報、生成コンテンツ、モデル、NCMEC/CSAM 報告を扱います。

主な機能

  1. 01ユーザー検索と禁止・ミュート管理
  2. 02違反記録の確認・作成・取り消し
  3. 03画像と関連通報のモデレーション
  4. 04生成制限とモデル審査の処理
  5. 053D モデルと CSAM 報告の管理

活用シーン

  1. 01ユーザーの違反履歴を確認して対応
  2. 02画像キューとコンテンツ通報を処理
  3. 03生成制限とモデルの状態を審査
  4. 04CSAM 報告を作成または確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/civitai/civitai --skill mod-actions

インストール後、Claude Code で/mod-actionsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

.env.example
content.mjs
csam.mjs
generation.mjs
images.mjs
lib.mjs
model3ds.mjs
query.mjs
reports.mjs
strikes.mjs

詳細

モデレーション操作

Civitai 向けの包括的なモデレーションツールキットです。ユーザー操作、ストライク管理、画像モデレーション、報告の処理、生成モデレーション、コンテンツ/トレーニングのモデレーション、NCMEC/CSAM の報告に対応しています。

すべてのスクリプトは Bearer トークン認証を使用して Civitai tRPC API を利用するため、あらゆる副作用を伴う操作が適切なサービスレイヤーを通じて実行されます。

セットアップ

  1. このスキルディレクトリ内で .env-example を .env にコピーします
  2. Civitai API キーを追加します(モデレーターアカウントに属している必要があります)
  3. 必要に応じて API URL を設定します(デフォルトは本番環境です)
cp .claude/skills/mod-actions/.env.example .claude/skills/mod-actions/.env
# Edit .env and add your API key

重要: API キーは、モデレーター権限を持つユーザーに属している必要があります。

変数必須デフォルト説明
CIVITAI_API_KEYはい-Civitai API キー
CIVITAI_API_URLいいえhttps://civitai.comAPI ベース URL

スキルファイル

ファイル分野コマンド
query.mjsユーザーモデレーションuser, ban, mute, leaderboard, remove-content, dm
strikes.mjsストライクシステムget-user, standings, list, create, void
images.mjs画像モデレーションreview-queue, review-counts, moderate, tos-violation, rescan, report-csam, poi-tags, user-images, rating-requests, ingestion-errors, resolve-ingestion, downleveled, pending-ingestion, toggle-flag
reports.mjs報告の処理list, set-status, bulk-status, update, appeals, appeal-details, resolve-appeal
generation.mjs生成モデレーションflagged-consumers, flagged-reasons, consumer-strikes, review-strikes, user-generations, restrictions, resolve-restriction, allowlist-add, debug-audit, todays-counts, suspicious-matches
content.mjsコンテンツモデレーションmodels, flagged-models, resolve-flagged, model-versions, rescan-model, restore-model, toggle-cannot-promote, toggle-cannot-publish, articles, mod-rule
model3ds.mjs3D モデルのモデレーションlist, get, files, unpublish, delete, restore, set-nsfw-level, toggle-tos, toggle-poi, toggle-minor, toggle-nsfw, toggle-unlisted
csam.mjsNCMEC/CSAM 報告reports, stats, image-resources, create-report

query.mjs — ユーザーモデレーション

node .claude/skills/mod-actions/query.mjs <command> [options]
コマンド説明
user <id|username>ユーザー情報を検索します
ban <id|username>BAN 状態を切り替えます
mute <id|username>ミュート状態を切り替えます
leaderboard <id|username> <true|false>リーダーボードへの参加資格を設定します
remove-content <id|username>ユーザーのすべてのコンテンツを削除します(破壊的操作)
dm <id|username>DM を送信します(--message が必要です)

オプション: --json、--dry-run、--reason <code>、--message <text>、--internal <text>

BAN 理由コード: SexualMinor, SexualMinorGenerator, SexualMinorTraining, SexualPOI, Bestiality, Scat, Nudify, Harassment, SpamBot, LeaderboardCheating, BuzzCheating, RRDViolation, Other

node .claude/skills/mod-actions/query.mjs user 3879899
node .claude/skills/mod-actions/query.mjs ban 3879899 --reason Other --message "ToS violation" --dry-run
node .claude/skills/mod-actions/query.mjs dm 3879899 --message "Please review our guidelines"

strikes.mjs — ストライクシステム

node .claude/skills/mod-actions/strikes.mjs <command> [options]
コマンドR/W説明
get-user <userId>READユーザーのストライク履歴
standingsREADユーザーの状況(フィルター:active/muted/flagged)
listREADフィルター付きのページ分割されたストライクリスト
create <userId>WRITEストライクを発行します(--reason、--description が必要です)
void <strikeId>WRITEストライクを無効化します(--reason が必要です)

ストライク理由: BlockedContent, RealisticMinorContent, CSAMContent, TOSViolation, HarassmentContent, ProhibitedContent, ManualModAction

オプション: --reason、--description、--points <1-3>、--entity-type、--entity-id、--report-id、--expires-days、--status <Active,Expired,Voided>、--sort <points|score|lastStrike|created>、--sort-order <asc|desc>、--flagged-for-review、--has-active-strikes、--page、--limit、--json、--dry-run

node .claude/skills/mod-actions/strikes.mjs get-user 3879899
node .claude/skills/mod-actions/strikes.mjs standings --has-active-strikes --limit 10
node .claude/skills/mod-actions/strikes.mjs create 3879899 --reason BlockedContent --description "Uploaded prohibited content" --points 1 --dry-run
node .claude/skills/mod-actions/strikes.mjs void 42 --reason "False positive from scanner"

images.mjs — 画像モデレーション

node .claude/skills/mod-actions/images.mjs <command> [options]
コマンドR/W説明
review-queueREAD画像レビューキュー
review-countsREADキューのタブ別件数
moderate <ids> <action>WRITE画像をブロック/ブロック解除
tos-violation <imageId>WRITE利用規約違反としてフラグを付ける
rescan <imageId>WRITE画像を再取り込み/再スキャンする
report-csam <imageIds>WRITE画像をCSAMとして報告する
poi-tagsREAD要注意人物のタグ
user-images <userId>READユーザーのすべての画像
rating-requestsREADNSFWレーティングのレビュー依頼
ingestion-errorsREAD取り込みエラーのある画像
resolve-ingestion <id>WRITE取り込みエラーを解決する
downleveledREADレベルを下げられた画像
pending-ingestionREAD取り込み待ちの画像
toggle-flag <imageId>WRITE画像のフラグを切り替える

オプション: --ids、--action、--review-type、--cursor、--page、--limit、--json、--dry-run

node .claude/skills/mod-actions/images.mjs review-counts
node .claude/skills/mod-actions/images.mjs review-queue --limit 20
node .claude/skills/mod-actions/images.mjs moderate 12345,67890 block --dry-run
node .claude/skills/mod-actions/images.mjs user-images 3879899 --json
node .claude/skills/mod-actions/images.mjs rescan 12345

reports.mjs — レポート対応

node .claude/skills/mod-actions/reports.mjs <command> [options]
コマンドR/W説明
listREADエンティティタイプ別のレポート(--typeが必要)
set-status <reportId> <status>WRITEレポートのステータスを設定する
bulk-status <status>WRITEステータスを一括更新する(--idsが必要)
update <reportId>WRITEステータス/メモを指定してレポートを更新する
appealsREAD最近の異議申し立て
appeal-details <id>READ異議申し立ての詳細
resolve-appealWRITE異議申し立てを解決する(--ids、--entity-type、--statusが必要)

レポートのエンティティタイプ: model、comment、commentV2、image、resourceReview、article、post、reportedUser、collection、bounty、bountyEntry、chat、comicProject

レポートのステータス: Pending、Processing、Actioned、Unactioned

異議申し立てのステータス: Pending、Approved、Rejected

オプション: --type、--status、--ids、--entity-type、--internal、--message、--user-id、--start-date、--page、--limit、--query、--json、--dry-run

node .claude/skills/mod-actions/reports.mjs list --type image --limit 20
node .claude/skills/mod-actions/reports.mjs set-status 456 Actioned --dry-run
node .claude/skills/mod-actions/reports.mjs bulk-status Actioned --ids 1,2,3
node .claude/skills/mod-actions/reports.mjs appeals --user-id 3879899
node .claude/skills/mod-actions/reports.mjs resolve-appeal --ids 10,11 --entity-type Image --status Approved

generation.mjs — 生成モデレーション

node .claude/skills/mod-actions/generation.mjs <command> [options]
コマンドR/W説明
flagged-consumersREADフラグが付いた生成利用者
flagged-reasonsREADフラグ付けの理由
consumer-strikes <userId>READ利用者の生成に関する違反回数
review-strikes <userId>WRITE違反をレビュー済みとしてマークする
user-generations <userId>READユーザーが生成した画像
restrictionsREADすべての生成制限
resolve-restriction <id>WRITE制限を解決する(Upheld/Overturned)
allowlist-addWRITEプロンプトトリガーを許可リストに追加する
debug-audit <prompt>READプロンプト監査をテストする
todays-countsREAD本日の禁止リクエスト件数
suspicious-matchesREAD保存済みの不審な監査マッチ

オプション: --status <Pending|Upheld|Overturned>、--reason、--start-date、--message、--trigger、--category、--negative-prompt、--user-id、--username、--restriction-id、--page、--limit、--json、--dry-run

node .claude/skills/mod-actions/generation.mjs flagged-consumers
node .claude/skills/mod-actions/generation.mjs consumer-strikes 3879899
node .claude/skills/mod-actions/generation.mjs restrictions --status Pending
node .claude/skills/mod-actions/generation.mjs resolve-restriction 42 --status Upheld --message "Confirmed violation" --dry-run
node .claude/skills/mod-actions/generation.mjs debug-audit "some prompt text"
node .claude/skills/mod-actions/generation.mjs allowlist-add --trigger "girl" --category "age" --reason "False positive"

content.mjs — コンテンツモデレーション

node .claude/skills/mod-actions/content.mjs <command> [options]
コマンド読み取り/書き込み説明
models読み取りモデレーションレビュー用のモデル
flagged-models読み取りフラグが付けられたモデル
resolve-flagged書き込みフラグが付けられたモデルを解決します(--ids が必要です)
model-versions読み取りモデレーション用のモデルバージョン
rescan-model <id>書き込みモデルを再取り込みします
restore-model <id>書き込み削除済みのモデルを復元します
toggle-cannot-promote <id>書き込みプロモーションの可否を切り替えます
toggle-cannot-publish <id>書き込み公開の可否を切り替えます
articles読み取りモデレーションレビュー用の記事
mod-rule <id>読み取りモデレーションルールを取得します

オプション: --ids、--page、--limit、--json、--dry-run

トレーニングのモデレーション(トレーニングデータの一覧表示/承認/拒否)は、moderator-app の移行に伴い moderator spoke (/audit/training-models、/audit/training-data)に移動され、tRPC 経由ではアクセスできなくなりました。詳しくは docs/moderator-app/page-migration-checklist.md をご覧ください。

node .claude/skills/mod-actions/content.mjs flagged-models --limit 10
node .claude/skills/mod-actions/content.mjs resolve-flagged --ids 1,2,3 --dry-run
node .claude/skills/mod-actions/content.mjs rescan-model 789

model3ds.mjs — 3D モデルのモデレーション

node .claude/skills/mod-actions/model3ds.mjs <command> [options]
コマンド読み取り/書き込み説明
list読み取りModel3D を一覧表示します(--status、--username、--limit、--cursor)
get <id>読み取りID で Model3D を取得します
files <id>読み取りModel3D に添付されたファイルを一覧表示します
unpublish <id>書き込みステータスを Unpublished に設定します
delete <id>書き込み論理削除します(ステータスを Deleted にし、deletedAt/deletedBy を設定します)
restore <id>書き込み復元します(Deleted → Unpublished、Unpublished → Published)
set-nsfw-level <id>書き込みnsfwLevel を上書きします(--level <n> [--lock])
toggle-tos <id>書き込みtosViolation を切り替えます(フィールドをロックします)
toggle-poi <id>書き込みpoi を切り替えます(フィールドをロックします)
toggle-minor <id>書き込みminor を切り替えます(フィールドをロックします)
toggle-nsfw <id>書き込みnsfw を切り替えます(フィールドをロックします)
toggle-unlisted <id>書き込みunlisted を切り替えます(フィールドをロックします)

Model3D に対するストライクには、既存の strikes.mjs を使用します(ストライクシステムはエンティティの種類に依存しません)。

node .claude/skills/mod-actions/strikes.mjs create <userId> \
  --entity-type Model3D --entity-id <model3dId> --reason TOSViolation --points 1

共通フラグ:

  • --json — 生の JSON 出力
  • --dry-run — 変更を加えずにプレビューします(書き込みコマンドのみ)

例:

node .claude/skills/mod-actions/model3ds.mjs list --status Draft --limit 100
node .claude/skills/mod-actions/model3ds.mjs get 42
node .claude/skills/mod-actions/model3ds.mjs unpublish 42
node .claude/skills/mod-actions/model3ds.mjs set-nsfw-level 42 --level 16 --lock
node .claude/skills/mod-actions/model3ds.mjs toggle-tos 42 --dry-run
node .claude/skills/mod-actions/model3ds.mjs restore 42

csam.mjs — NCMEC/CSAM 報告

node .claude/skills/mod-actions/csam.mjs <command> [options]
コマンド読み取り/書き込み説明
reports読み取りページ分割された CSAM レポート
stats読み取りCSAM レポートの統計
image-resources <imageIds>読み取りフラグが付けられた画像の生成に使用されたリソース
create-report <userId>書き込みNCMEC CyberTipline レポートを作成します

CSAM レポートの種類: Image、TrainingData、GeneratedImage

オプション: --type <CsamReportType>、--image-ids <id1,id2,...>、--minor-depiction <real|non-real>、--page、--limit、--json、--dry-run

node .claude/skills/mod-actions/csam.mjs stats
node .claude/skills/mod-actions/csam.mjs reports --limit 10
node .claude/skills/mod-actions/csam.mjs image-resources 12345,67890
node .claude/skills/mod-actions/csam.mjs create-report 3879899 --type GeneratedImage --image-ids 111,222 --dry-run

グローバルオプション

すべてのスクリプトで、次のオプションを使用できます。

フラグ説明
--json生の JSON を出力します(エージェント/スクリプトでの利用向け)
--dry-run書き込み操作を実行せずにプレビューします
--page <n>ページ分割された結果のページ番号(デフォルト:1)
--limit <n>ページ分割された結果のページサイズ(デフォルト:20)

安全に関する注意事項

  • 破壊的な操作や書き込み操作の前には、必ず最初に --dry-run を使用してください
  • すべての操作は ModActivity テーブルに記録されます
  • BAN 操作を行うと、ユーザーセッションはただちに無効になります
  • CSAM レポートは NCMEC に送信されます。細心の注意を払って使用してください
  • --reason および --message フラグを使って理由を記録してください
  • API キーにはモデレーター権限が必要です
  • エージェントデーモンでプログラムから利用する場合は --json を使用してください

コメント