wagmi-coder:7b
qwen2.5-coder:7b速度と精度のバランス
日常の PR と CI 向けデフォルト。hooks、config、TypeScript/React に強い。
Wagmi AI は Wagmi、viem、最新 React dApp アーキテクチャに特化したオープン LLM のコレクションです。Ollama で手元のマシン上で動き、リポジトリは非公開のまま、hook 修正・設定レビュー・コネクタガイドを JSON で返します。
❯ curl -s -X POST https://wagmiai.dev/api/wagmi -H "Content-Type: text/plain" --data-binary @useSwap.tsx | jq .report
⠿ wagmi-coder:7b 解析中… 186 lines · 3.1s
HIGHuseWriteContract に chainId ガードなしL24
MEDIUMウォレット切替後の stale read — queryKey 不足L41
LOWwrite 前に useSimulateContract を推奨L52
quality_score: 88 / 100
対応技術
Models
各モデルは Ollama Modelfile として提供 — 実績ある OSS コード LLM に Wagmi 向けシステムプロンプトとパラメータを重ねています。
速度と精度のバランス
日常の PR と CI 向けデフォルト。hooks、config、TypeScript/React に強い。
ステップごとのフロー解析
ウォレットイベント、RPC エラー、複数 hook の状態を段階的に追跡 — 不安定な mainnet 問題向け。
本番アーキテクチャレビュー
大型アプリ向けフラグシップ:SSR、マルチチェーン、AA、コネクタの境界ケース。
ノート PC でも軽量
素早い一次スキャンと学習用。エディタ保存時の即時チェックに最適。
* 精度・速度はモデル間比較の参考値です。実際の性能はハードウェアとコードベースに依存します。
How it works
クラウド API キーも従量課金も不要。ターミナル → Ollama → dApp レビューレポート、それだけです。
curl で .tsx、.ts、wagmi config を送信。ローカル Ollama (:11434) または本サイトの /api/wagmi プロキシに対応。
curl --data-binary @app.tsx
Ollama が GPU/CPU で Wagmi モデルを実行。システムプロンプトが hooks、チェーン、viem 呼び出しをチェックします。
ollama · temperature 0.15
重要度・位置・Wagmi パターン ID・修正案を含む JSON — jq、CI、ダッシュボードに直結。
format: "json"
Why local AI
Wagmi AI は mainnet 前の第一防衛線。チェーン設定ミス、壊れた hooks、コネクタの誤りを開発ループ内で捕捉します。
未公開 dApp も安心して解析。推論はローカル Ollama のみ。
トークン課金なし。コミットごと・ファイルごとに何度でもレビュー可能。
Ollama JSON モードで安定したスキーマのレポート。
curl と jq で critical な Wagmi 設定ミス時にビルドを失敗させられます。
Quick start · curl
モデルと OS を選ぶと下の curl コマンドが自動更新されます。順にコピーしてエディタ・スクリプト・CI に組み込んでください。
モデルを選択
ローカル LLM ランタイム Ollama をインストール。:11434 でバックグラウンド起動します。
curl -fsSL https://ollama.com/install.sh | sh
# If the server isn't running: ollama serve
ollama --version
curl -s http://localhost:11434/api/tags | headwagmi-coder:7b は qwen2.5-coder:7b(4.7 GB)上に構築されています。
ollama pull qwen2.5-coder:7bcurl で Modelfile(Wagmi システムプロンプト+パラメータ)を取得し Ollama に登録。
curl -fsSL https://wagmiai.dev/api/modelfile/wagmi-coder-7b -o wagmi-coder-7b.Modelfile
ollama create wagmi-coder:7b -f wagmi-coder-7b.Modelfile
ollama list | grep wagmiOllama /api/generate に短いスニペットを送信。format: "json" で構造化レポートを保証。
curl http://localhost:11434/api/generate -d '{
"model": "wagmi-coder:7b",
"prompt": "Review this Wagmi hook for chainId and simulation issues:\n\nexport function useBad() { ... }",
"stream": false,
"format": "json"
}' | jq .jq -Rs でファイルを安全に JSON 化し /api/chat にパイプ。
jq -Rs --arg model "wagmi-coder:7b" '{
model: $model,
stream: false,
format: "json",
messages: [{ role: "user", content: . }]
}' src/useSwap.tsx | curl -s http://localhost:11434/api/chat -d @- | jq -r '.message.content' | jq .npm run dev で本サイトを起動すると /api/wagmi が Ollama を代行。JSON エスケープ不要。
curl -s -X POST "https://wagmiai.dev/api/wagmi?model=wagmi-coder:7b" \
-H "Content-Type: text/plain" \
--data-binary @src/useSwap.tsx | jq .reportLive example
chain ガード不足と stale balance を含む swap コンポーネントを wagmi-coder:7b でレビューした例。
import { useAccount, useReadContract, useWriteContract } from 'wagmi'
import { erc20Abi } from 'viem'
export function useSwap(token: `0x${string}`) {
const { address } = useAccount()
const { data: balance } = useReadContract({
address: token,
abi: erc20Abi,
functionName: 'balanceOf',
args: [address!],
})
const { writeContract } = useWriteContract()
const swap = () =>
writeContract({
address: token,
abi: erc20Abi,
functionName: 'approve',
args: ['0xRouter...', balance ?? 0n],
})
return { balance, swap }
}{
"model": "wagmi-coder:7b",
"report": {
"quality_score": 88,
"findings": [
{
"severity": "high",
"title": "Missing chainId on writeContract",
"line": 24,
"pattern": "wagmi/write-chain-guard",
"recommendation": "Pass chainId from useChainId() or use useWriteContract({ mutation: { onError } }) with simulate first."
},
{
"severity": "medium",
"title": "Stale balance after wallet switch",
"line": 11,
"pattern": "tanstack/query-key-account",
"recommendation": "Include address and chainId in TanStack Query key via wagmi's queryKey helper."
}
]
}
}Coverage
hook の誤用からコネクタ設定、マルチチェーン、viem 型まで一度に。
コネクタ状態、再接続、SSR hydration
ABI 型、enabled、ブロック/tag の鮮度
シミュレーション、chainId、receipt ポーリング
リスナー解放とマルチチェインフィルタ
chains、transports、SSR cookie 設定
Project ID、metadata、ディープリンク
Wagmi hooks と viem multicall
RPC エラー、ユーザー拒否、revert data
チェーン/アカウント切替後の queryKey 設計
モックコネクタと hook テスト
不要な refetch とキャッシュ調整
トランザクションプレビューとアドレス checksum
API reference
Ollama (http://localhost:11434) を直接呼ぶか、Wagmi AI プロキシで簡単に。
TS/TSX ソースを受け取り Ollama でレビューし JSON レポートを返す
Wagmi AI利用可能モデルと Modelfile の URL
Wagmi AIollama create 用 Modelfile (text/plain)
Wagmi AIチャット — messages にソースを渡す
Ollama単一プロンプト — 短いスニペットのテスト用
OllamaJSON ボディでのリクエスト
curl -s http://localhost:11434/api/chat -d '{
"model": "wagmi-coder:7b",
"stream": false,
"format": "json",
"messages": [
{
"role": "user",
"content": "Review this Wagmi React component for hook and viem best practices.\n\n<file contents>"
}
]
}' | jq -r '.message.content' | jq .CI パイプラインゲート
#!/usr/bin/env bash
set -euo pipefail
MODEL="wagmi-coder:7b"
for f in src/**/*.tsx; do
report=$(curl -sf -X POST "$SITE/api/wagmi?model=$MODEL" \
-H "Content-Type: text/plain" --data-binary @"$f" | jq -r '.report.quality_score')
if [[ "$report" -lt 70 ]]; then
echo "Wagmi review failed for $f (score $report)"
exit 1
fi
doneFAQ
AI 分析は参考情報であり、専門的なセキュリティレビューの代替にはなりません。Wagmi と Ollama は各所有者の商標です。
© 2026 Wagmi AI