小学生でもわかる AI図鑑
速報
  1. ホーム
  2. 小学生でもわかるOpenCode
  3. 第4話

OpenCode 第4話

【小学生でもわかる】OpenCodeの巻き戻しと許可!Gitで戻せる範囲と、さわる前に聞かせる設定

AIに直してもらった結果が、思っていたのと違う。元に戻したいけれど、どこまで戻るのかがわからない。知らないうちにコマンドを打たれるのも、少しこわい。OpenCode には /undo という巻き戻しの命令があります。けれど、ファイルは本当に元どおりになるのか。AIがコマンドで何かを動かしていたら、それも戻るのか。

  • 無料(データを保存しないと説明書にある無料のモデル GLM-5.3-Flash Free で試した。お金を払うプランは試していない)
Xで記事を読む シェア
戻し方と許可のカバー

どんな話?

OpenCode の /undo を練習用のフォルダで試し、戻るもの・戻らないものと、Git の記録との使い分けを整理した回です。後半は opencode.jsonc に「コマンドは毎回聞く」「フォルダの外は聞く」を書き、4つの頼みで allow・ask・deny の効き方を確かめました。.env は、read の deny だけではコマンドで読まれました。成果物は「許可の設定ファイル」と「戻し方の早見表」です。

この記事でわかること

  • /undo を送ると「1 message reverted」「M index.html +1 -1」と出て、入力欄に頼みの文が戻った。git status --short は空だった
  • 取り消しの取り消しは ctrl+x のあと r。頼み直す文を送る前まで。入力欄に文が残ったまま /redo や /undo と打つと、文の続きとして送られた
  • /undo が届くのは、Git の中の、開いたフォルダの下のファイル。.gitignore のファイル、2MiB より大きい新しいファイル、外のファイル、コマンドで起きたことは戻らない
  • スナップショットは、ファイルの中身ごとデータフォルダに残る。/undo しても、"snapshots": false で止めても、すでにある記録は消えない
  • 許可は opencode.jsonc の permissions に action・resource・effect で書き、最後に当てはまった決まりが勝つ。git push の deny は「Permission denied: shell」で止まった
  • .env を読む道具の deny だけでは、AIが cat .env で中身を表示した。Always allow は「git log *」を保存し、設定の ask より強く効いた

やることチェックリスト

0/5

記事を読みながら、できたものにチェックを付けていけます。チェックはこの端末に残ります。

くわしい手順と画面の図は、Xの記事にあります。

こんな人に

  • AIに直してもらった結果を元に戻したいけれど、どこまで戻るのかがわからない人
  • 知らないうちにコマンドを打たれるのが、少しこわい人
  • コマンドや作業フォルダの外にさわる前に聞かせる設定を、自分で作りたい人

この話のTIPS

  • コツ/undo は、直前の1回を気軽に戻すためのもの。Git の記録は、何回か頼んだあとでも「ここまで」に戻るための印です。
  • 注意Always allow は、設定の ask より強く、思ったより広く効きます。そのうえ外し方が見つかりません。
すべてのTIPS