[{"data":1,"prerenderedAt":951},["ShallowReactive",2],{"content-/antigravity-cli-setup-japanese-proofreading":3,"all-pages-for-dir":930,"related-/antigravity-cli-setup-japanese-proofreading":931,"og-image-/antigravity-cli-setup-japanese-proofreading":950},{"id":4,"title":5,"body":6,"category":912,"concepts":913,"description":914,"extension":915,"meta":916,"navigation":679,"ogImage":913,"path":917,"project_name":918,"published":919,"publishedAt":920,"seo":921,"source":913,"stem":922,"tags":923,"todo":913,"unpublished":919,"updatedAt":913,"__hash__":929},"pages/2026-09/2026-09-12/antigravity-cli-setup-japanese-proofreading.md","Gemini CLIの後継、Antigravity CLIを入れて日本語の推敲に使うまで",{"type":7,"value":8,"toc":903},"minimark",[9,14,27,46,56,63,67,74,88,91,129,136,139,145,152,170,174,181,187,194,201,256,263,286,289,293,300,333,340,533,536,566,569,607,620,627,633,651,709,712,715,726,729,762,765,771,775,778,785,791,796,803,853,860,863,896,899],[10,11,13],"h2",{"id":12},"gemini-cliが止まったので後継を入れる","Gemini CLIが止まったので、後継を入れる",[15,16,17,18],"p",{},"Gemini CLIは2026年5月のGoogle I/Oで Antigravity CLI に統合され、旧CLIとGemini Code AssistのIDE拡張は6月18日でリクエストの受付を終えた。",[19,20,26],"a",{"href":21,"target":22,"rel":23},"https://developers.googleblog.com/an-important-update-transitioning-gemini-cli-to-antigravity-cli/","_blank",[24,25],"noopener","noreferrer","→ Googleの告知（Google Developers Blog）",[15,28,29,30,34,35,37,38,41,42,45],{},"手元にはAntigravityのIDEだけが入っていて、CLIは入っていなかった。紛らわしいのは、IDEにも ",[31,32,33],"code",{},"antigravity"," というコマンドが付いてくる点だ。これはVS Codeの ",[31,36,31],{}," に相当するランチャで、",[31,39,40],{},"--diff"," や ",[31,43,44],{},"--install-extension"," しか持たない。エージェントは動かない。",[47,48,53],"pre",{"className":49,"code":51,"language":52},[50],"language-text","$ antigravity --version\n1.107.0\n\n$ antigravity --help | head -3\nAntigravity 1.107.0\nUsage: antigravity.exe [options] [paths...]\n","text",[31,54,51],{"__ignoreMap":55},"",[15,57,58,59,62],{},"ターミナルで動くエージェントは別物で、コマンド名は ",[31,60,61],{},"agy"," である。以下は、これを入れて日本語の推敲に組み込むまでの記録になる。",[10,64,66],{"id":65},"インストールはpowershellの一行ただし中身は読んでから","インストールはPowerShellの一行、ただし中身は読んでから",[15,68,69,70,73],{},"公式の手順は次の一行だ。macOSとLinuxは ",[31,71,72],{},"curl -fsSL https://antigravity.google/cli/install.sh | bash"," になる。",[47,75,79],{"className":76,"code":77,"language":78,"meta":55,"style":55},"language-powershell shiki shiki-themes vitesse-light vitesse-light","irm https://antigravity.google/cli/install.ps1 | iex\n","powershell",[31,80,81],{"__ignoreMap":55},[82,83,86],"span",{"class":84,"line":85},"line",1,[82,87,77],{},[15,89,90],{},"ネットワーク越しのスクリプトをそのままシェルに流し込む形なので、今回は一度ファイルに落として中身を読んでから実行した。172行のスクリプトがやっていたのは次の5つで、余計なことはしていなかった。",[92,93,94,106,109,116,123],"ol",{},[95,96,97,98,101,102,105],"li",{},"CPUアーキテクチャを見て ",[31,99,100],{},"windows_amd64"," / ",[31,103,104],{},"windows_arm64"," を決める",[95,107,108],{},"配布マニフェスト（バージョン・URL・SHA512）を取得する",[95,110,111,112],{},"バイナリをステージング領域へ落とし、",[113,114,115],"strong",{},"SHA512を照合する",[95,117,118,119,122],{},"一致したら ",[31,120,121],{},"%LOCALAPPDATA%\\agy\\bin\\agy.exe"," へ配置する",[95,124,125,128],{},[31,126,127],{},"agy install"," を呼んでユーザーPATHへ登録する",[15,130,131,132,135],{},"管理者権限は要らない。3のハッシュ照合が入っているので、",[31,133,134],{},"| iex"," を避けたい場合でも同じ手順を手で踏めばよい。",[15,137,138],{},"実行後の状態はこうなった。バイナリは184MBある。Go製の単体実行ファイルで、npmもNode.jsも要らない。",[47,140,143],{"className":141,"code":142,"language":52},[50],"$ agy --version\n1.2.1\n",[31,144,142],{"__ignoreMap":55},[15,146,147,148,151],{},"PATHはレジストリのユーザー環境変数に追加される。",[113,149,150],{},"すでに開いているターミナルには反映されない","ので、そこだけ注意がいる。インストーラ自身も「restart your active terminal session」と警告を出す。",[15,153,154,155,157,158,161,162,165,166,169],{},"サインインは ",[31,156,61],{}," を起動するとブラウザが開く。ブラウザを使えない環境では ",[31,159,160],{},"~/.gemini/antigravity-cli/settings.json"," に ",[31,163,164],{},"modelProvider: gemini"," を書いて ",[31,167,168],{},"GEMINI_API_KEY"," を渡す経路がある。",[10,171,173],{"id":172},"使えるモデルは15種無料プランにもclaudeが並ぶ","使えるモデルは15種。無料プランにもClaudeが並ぶ",[15,175,176,177,180],{},"サインインが済むと ",[31,178,179],{},"agy models"," が通る。手元で返ってきたのは15種だった。",[47,182,185],{"className":183,"code":184,"language":52},[50],"gemini-3.8-flash-high / -medium / -low\ngemini-3.7-flash-high / -medium / -low\ngemini-3.6-flash-high / -medium / -low\ngemini-3.1-pro-high / -low\nclaude-sonnet-4-6            Claude Sonnet 4.6 (Thinking)\nclaude-opus-4-6-thinking     Claude Opus 4.6 (Thinking)\ngpt-oss-120b-medium          GPT-OSS 120B (Medium)\n",[31,186,184],{"__ignoreMap":55},[15,188,189,190,193],{},"Flash系は推論の強さがモデルIDそのものに埋まっている。",[31,191,192],{},"--effort"," というフラグも別にあるが、Flashについてはスラッグを選ぶ形になる。",[15,195,196,197,200],{},"意外だったのは料金ページの記載で、",[113,198,199],{},"無料プランでもこの顔ぶれに一通り触れる","。無料と有料の差は「使えるモデル」ではなく「レート制限の緩さ」に寄っている。",[202,203,204,220],"table",{},[205,206,207],"thead",{},[208,209,210,214,217],"tr",{},[211,212,213],"th",{},"プラン",[211,215,216],{},"料金",[211,218,219],{},"内容",[221,222,223,235,246],"tbody",{},[208,224,225,229,232],{},[226,227,228],"td",{},"For Individuals",[226,230,231],{},"$0/月",[226,233,234],{},"上記モデルへのアクセス、Tab補完と Command リクエストは無制限、週次のレート制限は「基本」",[208,236,237,240,243],{},[226,238,239],{},"Google AI Pro",[226,241,242],{},"有料",[226,244,245],{},"無料の内容に加えて、レート制限がより緩い。AIクレジットのプールを融通できる",[208,247,248,251,253],{},[226,249,250],{},"Google AI Ultra",[226,252,242],{},[226,254,255],{},"最新のGeminiモデルにさらに高い頻度でアクセスできる",[15,257,258],{},[19,259,262],{"href":260,"target":22,"rel":261},"https://antigravity.google/pricing",[24,25],"→ Antigravityの料金ページ",[15,264,265,266,269,270,273,274,277,278,281,282,285],{},"自分がどのプランなのかは、CLIの対話画面で ",[31,267,268],{},"/usage","（別名 ",[31,271,272],{},"/quota","）を叩くと出る。クレジットの残量は ",[31,275,276],{},"/credits"," になる。ただし",[113,279,280],{},"この2つは対話画面専用","で、後述するヘッドレス実行からは呼べない。手元で ",[31,283,284],{},"agy -p \"/usage\""," を試したら、モデルがファイルを読もうとして権限で弾かれ、何も出ずに終わった。",[15,287,288],{},"ブラウザ側で手早く確かめたいなら、Gemini（gemini.google.com）のサイドバーにあるアカウント名の下を見る。プラン名がそのまま出ている。手元のアカウントはここが Pro になっていた。契約はGoogle Workspace側の割り当てで、個人の「定期購入」一覧には出てこない。",[10,290,292],{"id":291},"ヘッドレスで呼ぶただしパイプは効かない","ヘッドレスで呼ぶ。ただしパイプは効かない",[15,294,295,296,299],{},"ここからが本題になる。",[31,297,298],{},"-p"," を付けると対話画面を開かずに1回だけ実行して終了する。",[47,301,305],{"className":302,"code":303,"language":304,"meta":55,"style":55},"language-bash shiki shiki-themes vitesse-light vitesse-light","agy -p \"次の文章を推敲してください\" --model gemini-3.8-flash-high\n","bash",[31,306,307],{"__ignoreMap":55},[82,308,309,312,316,320,324,327,330],{"class":84,"line":85},[82,310,61],{"class":311},"senZ8",[82,313,315],{"class":314},"snbK4"," -p",[82,317,319],{"class":318},"sMJiu"," \"",[82,321,323],{"class":322},"sdGka","次の文章を推敲してください",[82,325,326],{"class":318},"\"",[82,328,329],{"class":314}," --model",[82,331,332],{"class":322}," gemini-3.8-flash-high\n",[15,334,335,336,339],{},"応答はstdout、進捗やエラーはstderrに分かれて出る。スクリプトから読むなら ",[31,337,338],{},"--output-format json"," を付ける。返ってくるのはこの形だった。",[47,341,345],{"className":342,"code":343,"language":344,"meta":55,"style":55},"language-json shiki shiki-themes vitesse-light vitesse-light","{\"conversation_id\":\"6e46dcea-...\",\"status\":\"SUCCESS\",\"response\":\"OK\\n\",\n \"duration_seconds\":1.11,\"num_turns\":1,\n \"usage\":{\"input_tokens\":12994,\"output_tokens\":1,\"thinking_tokens\":0,\n          \"cache_read_tokens\":0,\"total_tokens\":12995}}\n","json",[31,346,347,415,447,501],{"__ignoreMap":55},[82,348,349,353,356,360,362,365,367,370,372,375,377,380,382,384,386,389,391,393,395,398,400,402,404,407,410,412],{"class":84,"line":85},[82,350,352],{"class":351},"shFtX","{",[82,354,326],{"class":355},"sqvqQ",[82,357,359],{"class":358},"sz8Xr","conversation_id",[82,361,326],{"class":355},[82,363,364],{"class":351},":",[82,366,326],{"class":318},[82,368,369],{"class":322},"6e46dcea-...",[82,371,326],{"class":318},[82,373,374],{"class":351},",",[82,376,326],{"class":355},[82,378,379],{"class":358},"status",[82,381,326],{"class":355},[82,383,364],{"class":351},[82,385,326],{"class":318},[82,387,388],{"class":322},"SUCCESS",[82,390,326],{"class":318},[82,392,374],{"class":351},[82,394,326],{"class":355},[82,396,397],{"class":358},"response",[82,399,326],{"class":355},[82,401,364],{"class":351},[82,403,326],{"class":318},[82,405,406],{"class":322},"OK",[82,408,409],{"class":314},"\\n",[82,411,326],{"class":318},[82,413,414],{"class":351},",\n",[82,416,418,420,423,425,427,431,433,435,438,440,442,445],{"class":84,"line":417},2,[82,419,319],{"class":355},[82,421,422],{"class":358},"duration_seconds",[82,424,326],{"class":355},[82,426,364],{"class":351},[82,428,430],{"class":429},"sM54T","1.11",[82,432,374],{"class":351},[82,434,326],{"class":355},[82,436,437],{"class":358},"num_turns",[82,439,326],{"class":355},[82,441,364],{"class":351},[82,443,444],{"class":429},"1",[82,446,414],{"class":351},[82,448,450,452,455,457,460,462,465,467,469,472,474,476,479,481,483,485,487,489,492,494,496,499],{"class":84,"line":449},3,[82,451,319],{"class":355},[82,453,454],{"class":358},"usage",[82,456,326],{"class":355},[82,458,459],{"class":351},":{",[82,461,326],{"class":355},[82,463,464],{"class":358},"input_tokens",[82,466,326],{"class":355},[82,468,364],{"class":351},[82,470,471],{"class":429},"12994",[82,473,374],{"class":351},[82,475,326],{"class":355},[82,477,478],{"class":358},"output_tokens",[82,480,326],{"class":355},[82,482,364],{"class":351},[82,484,444],{"class":429},[82,486,374],{"class":351},[82,488,326],{"class":355},[82,490,491],{"class":358},"thinking_tokens",[82,493,326],{"class":355},[82,495,364],{"class":351},[82,497,498],{"class":429},"0",[82,500,414],{"class":351},[82,502,504,507,510,512,514,516,518,520,523,525,527,530],{"class":84,"line":503},4,[82,505,506],{"class":355},"          \"",[82,508,509],{"class":358},"cache_read_tokens",[82,511,326],{"class":355},[82,513,364],{"class":351},[82,515,498],{"class":429},[82,517,374],{"class":351},[82,519,326],{"class":355},[82,521,522],{"class":358},"total_tokens",[82,524,326],{"class":355},[82,526,364],{"class":351},[82,528,529],{"class":429},"12995",[82,531,532],{"class":351},"}}\n",[15,534,535],{},"問題はファイルの渡し方だった。素直に考えると次のように書きたくなる。",[47,537,539],{"className":302,"code":538,"language":304,"meta":55,"style":55},"cat draft.md | agy -p \"日本語として自然に推敲して\"\n",[31,540,541],{"__ignoreMap":55},[82,542,543,546,549,553,556,558,560,563],{"class":84,"line":85},[82,544,545],{"class":311},"cat",[82,547,548],{"class":322}," draft.md",[82,550,552],{"class":551},"stQ0i"," |",[82,554,555],{"class":311}," agy",[82,557,315],{"class":314},[82,559,319],{"class":318},[82,561,562],{"class":322},"日本語として自然に推敲して",[82,564,565],{"class":318},"\"\n",[15,567,568],{},"これが動かない。試しに標準入力の中身をそのまま返すよう頼んでみると、こうなる。",[47,570,572],{"className":302,"code":571,"language":304,"meta":55,"style":55},"$ printf \"ZZTOP42\" | agy -p \"標準入力の文字列をそのまま出力して。無ければ NO-STDIN と出力して\"\nNO-STDIN\n",[31,573,574,602],{"__ignoreMap":55},[82,575,576,579,582,584,587,589,591,593,595,597,600],{"class":84,"line":85},[82,577,578],{"class":311},"$",[82,580,581],{"class":322}," printf",[82,583,319],{"class":318},[82,585,586],{"class":322},"ZZTOP42",[82,588,326],{"class":318},[82,590,552],{"class":551},[82,592,555],{"class":311},[82,594,315],{"class":314},[82,596,319],{"class":318},[82,598,599],{"class":322},"標準入力の文字列をそのまま出力して。無ければ NO-STDIN と出力して",[82,601,565],{"class":318},[82,603,604],{"class":84,"line":417},[82,605,606],{"class":311},"NO-STDIN\n",[15,608,609,615,616,619],{},[113,610,611,612,614],{},"素の ",[31,613,298],{}," は標準入力を読まない","。パイプで渡したつもりの本文はプロンプトに入っていない。ドキュメントを見ると、標準入力を受け取るのは ",[31,617,618],{},"--input-format stream-json"," を指定したときだけで、そのときは1行1メッセージのNDJSONを渡す形になる。",[15,621,622,623,626],{},"もう一つ引っかかったのが権限だった。ヘッドレスでは許可を尋ねる相手がいないため、ツールの要求は",[113,624,625],{},"すべて自動で拒否される","。",[47,628,631],{"className":629,"code":630,"language":52},[50],"jetski: no output produced — a tool required the \"read_file\" permission that\nheadless mode cannot prompt for, so it was auto-denied.\n",[31,632,630],{"__ignoreMap":55},[15,634,635,636,639,640,643,644,647,648,626],{},"「ファイル名を渡して読ませる」書き方はここで止まる。",[31,637,638],{},"settings.json"," の ",[31,641,642],{},"permissions.allow"," に許可を足すか、",[31,645,646],{},"--dangerously-skip-permissions"," を付けるかになるが、推敲のように読み書きの要らない用途なら",[113,649,650],{},"本文をプロンプトに埋め込むのが速い",[47,652,654],{"className":302,"code":653,"language":304,"meta":55,"style":55},"agy -p \"$(cat prompt-header.txt)\n\n---本文ここから---\n$(cat chunk-01.txt)\n---本文ここまで---\" --model gemini-3.8-flash-high\n",[31,655,656,675,681,686,697],{"__ignoreMap":55},[82,657,658,660,662,664,667,669,672],{"class":84,"line":85},[82,659,61],{"class":311},[82,661,315],{"class":314},[82,663,319],{"class":318},[82,665,666],{"class":351},"$(",[82,668,545],{"class":311},[82,670,671],{"class":322}," prompt-header.txt",[82,673,674],{"class":351},")\n",[82,676,677],{"class":84,"line":417},[82,678,680],{"emptyLinePlaceholder":679},true,"\n",[82,682,683],{"class":84,"line":449},[82,684,685],{"class":322},"---本文ここから---\n",[82,687,688,690,692,695],{"class":84,"line":503},[82,689,666],{"class":351},[82,691,545],{"class":311},[82,693,694],{"class":322}," chunk-01.txt",[82,696,674],{"class":351},[82,698,700,703,705,707],{"class":84,"line":699},5,[82,701,702],{"class":322},"---本文ここまで---",[82,704,326],{"class":318},[82,706,329],{"class":314},[82,708,332],{"class":322},[15,710,711],{},"日本語をこの経路で渡しても文字化けは起きなかった。ただしWindowsのコマンドライン長は約32,000文字なので、長い原稿は段落の境目で分割して投げる。3,000字を目安にしている。",[10,713,714],{"id":714},"推敲をスラッシュコマンドにする",[15,716,717,718,721,722,725],{},"毎回おなじ制約を打ち込むのは続かないので、Claude Code側のスラッシュコマンドにした。",[31,719,720],{},".claude/commands/ja.md"," に手順と制約を書いておけば、",[31,723,724],{},"/ja \u003Cファイル>"," の一発で回る。",[15,727,728],{},"コマンドに書いたのは次の内容になる。",[730,731,732,735,742,745,748,755],"ul",{},[95,733,734],{},"対象を決める。ファイルパスか、見出しを指定して章の一部だけを対象にする",[95,736,737,738,741],{},"本文だけを抜く。HTMLならタグや図表に触らず ",[31,739,740],{},"\u003Cp>"," の中身だけ、Markdownならfrontmatterやコードブロックを除いた段落だけ",[95,743,744],{},"3,000字ずつに分ける。切るのは段落の境目で、文の途中では切らない",[95,746,747],{},"agyへ投げる。本文はプロンプトに埋め込む（パイプは使わない）",[95,749,750,751,754],{},"差分を出す。",[113,752,753],{},"変更があった段落だけ","を前後で並べる",[95,756,757,758,761],{},"書き戻しは ",[31,759,760],{},"--apply"," が付いたときだけ。元ファイルは既定では触らない",[15,763,764],{},"肝心の推敲指示は、コマンド本文にそのまま置いている。",[47,766,769],{"className":767,"code":768,"language":52},[50],"制約:\n(1) 事実・数値・専門用語・固有名詞を変えない。内容を足さない、削らない\n(2) 体言止めを使わない\n(3) 比喩的な動詞を使わない（例: 取り戻す、押し上げる、切り拓く）\n(4) 一文が長すぎるときだけ分割する。接続詞を足して細切れにしない\n(5) 修飾語は長いものから先に置く\n(6) 読点は意味の切れ目に打つ。主語の直後に機械的に打たない\n(7) 段落の構成と改行の位置は元のままにする\n(8) HTMLタグ・Markdown記法・数式・コードはそのまま残す\n\n出力は推敲後の本文だけ。前置きも説明も付けない。\n",[31,770,768],{"__ignoreMap":55},[10,772,774],{"id":773},"短くしろと言い過ぎると文章が壊れる","「短くしろ」と言い過ぎると文章が壊れる",[15,776,777],{},"(4)は最初から入れていたわけではない。最初は「一文を短くし」とだけ書いていて、その結果が良くなかった。",[15,779,780,781,784],{},"法人税の講座から6段落（639字）を取り出して投げたところ、",[113,782,783],{},"6段落すべてが書き換わった","。たとえば冒頭はこうなった。",[786,787,788],"blockquote",{},[15,789,790],{},"原文: 益金は会計の収益とほぼ同じですが、完全には一致しません。損金も費用とほぼ同じですが、やはり一致しません。",[786,792,793],{},[15,794,795],{},"出力: 益金は、会計の収益とほぼ同じです。しかし、完全には一致しません。損金も、費用とほぼ同じです。しかし、やはり一致しません。",[15,797,798,799,802],{},"1文が2文に割れ、「しかし」と「そして」が全段落で連続する。文は短くなったが、読みにくくなった。指示を「一文が長すぎるときだけ分割する。接続詞を足して細切れにしない」に替えて投げ直すと、同じ原稿で",[113,800,801],{},"書き換えは6段落中3段落","に収まり、冒頭の段落は変更なしで返ってきた。残った3つはいずれも小さい。",[202,804,805,818],{},[205,806,807],{},[208,808,809,812,815],{},[211,810,811],{},"変更点",[211,813,814],{},"前",[211,816,817],{},"後",[221,819,820,831,842],{},[208,821,822,825,828],{},[226,823,824],{},"比喩的な動詞を外した",[226,826,827],{},"後の年度で「取り戻す」ための調整です",[226,829,830],{},"後の年度で課税するための調整です",[208,832,833,836,839],{},[226,834,835],{},"主語直後の読点を削った",[226,837,838],{},"損金も同様に、売上原価や販管費を…",[226,840,841],{},"損金も同様に売上原価や販管費を…",[208,843,844,847,850],{},[226,845,846],{},"同上",[226,848,849],{},"受け取った配当金は、簿記3級でも…",[226,851,852],{},"受け取った配当金は簿記3級でも…",[15,854,855,856,859],{},"どれも自分で直すなら直す箇所で、意味は動いていない。ただし1つ目は判断が要る。原文の「取り戻す」はカギ括弧付きで、書き手が意図して選んだ比喩の可能性がある。",[113,857,858],{},"機械が消してよい比喩かどうかは人が決める","べきなので、コマンド側は差分を見せるところまでにして、書き戻しは別の操作に分けている。",[10,861,862],{"id":862},"残っているもの",[730,864,865,873,879],{},[95,866,867,626,870,872],{},[113,868,869],{},"プランの残量をターミナルから見る方法がない",[31,871,268],{}," は対話画面専用で、ヘッドレスからは呼べない。日次のバッチに組み込むなら、上限に当たったときのエラーを見て判断するしかない",[95,874,875,878],{},[113,876,877],{},"保存のたびに走らせる自動化は見送った","。フックで拾えば漏れはなくなるが、書くたびにクォータを消費する。1日に何十回も保存する書き方をしているので、明示的に呼ぶ形のほうが合っている",[95,880,881,884,885,888,889,41,892,895],{},[113,882,883],{},"モデルの比較はこれから","。今回は ",[31,886,887],{},"gemini-3.8-flash-high"," だけで確かめた。同じ原稿を ",[31,890,891],{},"gemini-3.1-pro-high",[31,893,894],{},"claude-sonnet-4-6"," に投げて、どれが日本語の校正に向くかを見てみたい",[15,897,898],{},"インストールからここまでで、半日はかかっていない。止まったのはパイプと権限の2か所だけで、どちらも先に知っていれば避けられる。",[900,901,902],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .senZ8, html code.shiki .senZ8{--shiki-default:#59873A;--shiki-dark:#59873A}html pre.shiki code .snbK4, html code.shiki .snbK4{--shiki-default:#A65E2B;--shiki-dark:#A65E2B}html pre.shiki code .sMJiu, html code.shiki .sMJiu{--shiki-default:#B5695977;--shiki-dark:#B5695977}html pre.shiki code .sdGka, html code.shiki .sdGka{--shiki-default:#B56959;--shiki-dark:#B56959}html pre.shiki code .shFtX, html code.shiki .shFtX{--shiki-default:#999999;--shiki-dark:#999999}html pre.shiki code .sqvqQ, html code.shiki .sqvqQ{--shiki-default:#99841877;--shiki-dark:#99841877}html pre.shiki code .sz8Xr, html code.shiki .sz8Xr{--shiki-default:#998418;--shiki-dark:#998418}html pre.shiki code .sM54T, html code.shiki .sM54T{--shiki-default:#2F798A;--shiki-dark:#2F798A}html pre.shiki code .stQ0i, html code.shiki .stQ0i{--shiki-default:#AB5959;--shiki-dark:#AB5959}",{"title":55,"searchDepth":417,"depth":417,"links":904},[905,906,907,908,909,910,911],{"id":12,"depth":417,"text":13},{"id":65,"depth":417,"text":66},{"id":172,"depth":417,"text":173},{"id":291,"depth":417,"text":292},{"id":714,"depth":417,"text":714},{"id":773,"depth":417,"text":774},{"id":862,"depth":417,"text":862},"dev",null,"GoogleのターミナルエージェントAntigravity CLI（agy）をWindowsに入れ、モデル一覧とプランを確かめ、日本語の推敲をスラッシュコマンドにするまでの記録。パイプが効かない、ヘッドレスではツールが自動拒否される、といった実測の落とし穴も含む。","md",{},"/antigravity-cli-setup-japanese-proofreading","claude-code-tools",false,"2026-09-12T00:00:00.000Z",{"title":5,"description":914},"2026-09/2026-09-12/antigravity-cli-setup-japanese-proofreading",[924,925,926,927,928],"Antigravity","Gemini","CLI","日本語","校正","f3N0o0QbWmGFroVkMz1OodldkR1Bf6Xs_x_qukdxUWE",[],[932,935,939,943,946],{"title":933,"path":934,"publishedAt":920},"日本語の推敲は、出力より差分の見せ方で使い勝手が決まる","/ja-proofread-diff-viewer",{"title":936,"path":937,"publishedAt":938},"honda-sakubunスキル有効性検証","/honda-sakubun-skill-validation","2025-12-24T00:00:00.000Z",{"title":940,"path":941,"publishedAt":942},"表の画像をCSVに起こすOCRを、Claude CodeとGemini 3.1 Pro（agy）で突き合わせた記録","/image-table-ocr-two-model-crosscheck","2026-09-15T00:00:00.000Z",{"title":944,"path":945,"publishedAt":920},"2026年9月12日の開発日記 - 財務諸表Q&A 28本を書き切り、年金サイトを立ち上げた","/2026-09-12-diary",{"title":947,"path":948,"publishedAt":949},"Windows Terminalの日本語が詰まって見える。変更履歴をたどってHackGenに替えた","/windows-terminal-hackgen-font-history","2026-09-05T00:00:00.000Z","https://log.eurekapu.com/og/blog/antigravity-cli-setup-japanese-proofreading.png?v=2026-09-12T00%3A00%3A00.000Z&title=Gemini%20CLI%E3%81%AE%E5%BE%8C%E7%B6%99%E3%80%81Antigravity%20CLI%E3%82%92%E5%85%A5%E3%82%8C%E3%81%A6%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%81%AE%E6%8E%A8%E6%95%B2%E3%81%AB%E4%BD%BF%E3%81%86%E3%81%BE%E3%81%A7&author=Kei%20Komatsu&sig=2f8787810f72aeb8",1789529464070]