Lark approval gateway for local AI agents

Lark から頼むAI作業を、実行前の承認で止める。

Claude Code / Codex が手元の PC を操作する前に、Lark へ確認カードを送ります。 危険な操作は本人が OK するまで進まず、遠隔からのAI活用を顧客へ説明できる形に整えます。

白ベースの運用LP Claude Code / Codex 両対応 Lark Channel Bridge 前提

Why it matters

遠隔の便利さと、ローカルPC操作の怖さを両立させる。

AI に作業を任せるほど、削除・上書き・外部送信・権限変更のような操作も発生します。 この仕組みは、その直前に本人確認の一拍を入れるための顧客向け運用パッケージです。

安全な停止

危険操作は、実行前に止まる

削除、強制上書き、権限変更などは、本人の Lark に確認カードを送り、承認されるまで実行しません。

説明しやすい

判断は「心当たり」だけ

技術名ではなく、これから起きることを平易に表示します。判断の負担を利用者へ押しつけません。

導入しやすい

入口は1つ、CLI差分は内部で吸収

Claude Code と Codex は別のプラグイン管理ですが、導入担当者が案内するコマンドは1つです。

Approval card

カードで尋ねるのは「あなたが頼んだ作業ですか」。

技術的な安全判断は仕組み側が担います。 利用者には、依頼した内容として心当たりがあるかだけを確認してもらいます。

OK の場合

AI は実行へ進み、結果カードと完了通知が同じチャットへ戻ります。

NG / 未応答の場合

実行しません。時間切れや送信失敗も、安全側として拒否扱いに倒します。

高リスク操作の確認 削除の確認
これから起きること
「見積書_下書き.xlsx」を消します。ごみ箱には入りません。元に戻せません。
確認
これはあなたが頼んだ作業に必要なものですか。心当たりがない場合は NG を押してください。
OK
NG

Workflow

Lark の依頼から、PC 上の実行完了まで。

1. Larkで依頼 利用者が専用チャットへ作業を頼みます。
2. Bridgeが中継 手元PCの Claude Code / Codex へ渡します。
3. 危険操作を確認 必要な場合だけ Lark へカードを送ります。
4. 結果を返す 承認後に実行し、結果を同じチャットへ返します。

Plans

利用者のターミナル理解度に合わせて、3つから選ぶ。

導入担当者は、利用者に次の違いを説明してから設定します。迷った場合は標準の「編集・更新・削除可能」を案内します。

self

自分で触れる人

ターミナルを直接操作できる人向けです。この確認ゲート自体が基本的に不要なので、確認なしで実行します。

view

閲覧のみ

内容を見るだけでよい人向けです。Bridge 側を read-only にし、AI が書き換え操作を行えない状態にします。

edit / 標準

編集・更新・削除可能

AI に変更も任せたい人向けです。危険な操作の直前に承認カードを出し、本人が OK した時だけ進みます。

Install

導入担当者が案内する入口は1つ。

Claude Code と Codex は内部のプラグイン管理コマンドが違います。 ただし利用者へ別々に案内せず、共通インストーラが対象 PC にある CLI を検出して登録します。

プラグイン導入の共通コマンド
INSTALL_DIR="$HOME/.local/share/suig-card-etsu"
if [ -d "$INSTALL_DIR/.git" ]; then
  git -C "$INSTALL_DIR" pull --ff-only
else
  git clone https://github.com/momiji-project/suig-card-etsu.git "$INSTALL_DIR"
fi
bash "$INSTALL_DIR/install.sh"
1

プラグインを登録

共通コマンドで Claude Code / Codex のうち入っている方へ登録します。

2

セットアップSkillを呼ぶ

Claude Code または Codex で「Lark承認カードを設定して」と依頼します。

3

プランと疎通を確認

CLI / Bridge の状態、3プラン、承認先、テストカードの往復を確認します。

For operators

導入担当者が利用者へ伝える順番。

1

これは何を守る仕組みか

Lark から手元PCのAIに頼むとき、危険な操作の前で本人承認を取る仕組みだと説明します。

2

誰に必要か

PC を自分で直接操作できる人には基本不要で、遠隔からAIに操作を任せる人向けだと伝えます。

3

どのプランを選ぶか

見るだけなら view、変更も任せるなら edit、ターミナルを直接扱える人は self を選びます。

4

どのAIで使えるか

Claude Code と Codex の両方があれば両方へ設定し、片方だけなら見つかった方だけを使える状態にします。

5

導入後に何を確認するか

状態確認、Bridge 再起動、確認カードの疎通確認まで終わってから、利用者へ使える状態と伝えます。

Permission design

権限整理は、3層で扱う。

Lark 側の権限、ローカルPC側の Bridge 権限、最後の承認カードを分けて考えます。利用者へ説明するときは、内部名ではなく Lark の機能名で伝えます。

守る対象担当する仕組み現在の整理
Lark 上の個人データスコープ / bot-only新規導入時点で基本的に守られている層です。
ローカルPC操作Bridge permissionsview は read-only、edit は full。閲覧のみの主保証はここで担います。
許可された範囲内の危険操作承認カードedit で削除・上書き・権限変更などを本人確認します。

Lark の機能名で説明する。

権限案内カードでは、imvc のような内部名を主表示にしません。利用者には「Lark チャット」「Lark ビデオ会議」のように伝えます。

Lark の表示名何のために使うか導入担当者メモ
Lark チャットメッセージ送受信、Bot 通知、確認カードの送信に使います。im
Lark 連絡先承認先の本人確認、Bot・メンバー確認に使います。contact
Lark Docs文書の閲覧、作成、編集に使います。docs
Lark ドライブファイルやフォルダの確認、整理、アップロードに使います。drive
Lark WikiWiki ページや社内ナレッジの確認に使います。wiki
Lark Base表形式データ、業務台帳、レコードの確認・更新に使います。base
Lark Sheets表計算シートの閲覧・編集に使います。sheets
Lark Slidesスライド資料の確認・編集に使います。slides
Lark タスクタスクの確認、作成、更新に使います。task
Lark カレンダー予定、会議、空き時間の確認に使います。calendar
Lark ビデオ会議会議情報、録画、会議レポート、会議Bot操作に使います。vc
Lark Minutes会議メモ、文字起こし、要約の確認に使います。minutes
Lark 承認承認申請や承認状況の確認に使います。approval
Lark メールメールの確認、下書き、送信に使います。mail
Lark 勤怠勤怠・打刻情報の確認に使います。attendance
Lark OKR目標・進捗・KR の確認に使います。okr
Lark 通知イベントチャットやカード操作などの通知受信に使います。event
Lark アプリ情報Bot やアプリの基本情報確認に使います。application
Lark MarkdownMarkdown ファイルの作成・編集に使います。markdown
Lark MindNotes思考整理・マインドノート関連の確認に使います。mindnotes
Lark 会議ノート会議ノートの内容確認に使います。note

Card contents

Larkカードに、承認・設定の意味をその場で表示する。

デバイスフロー、追加権限、Larkアプリ設定、Bot権限不足などが発生した場合は、 URLだけを投げず、カード上で「何を要求されているか」「なぜ必要か」「次に何をするか」を説明します。 URL と QR コードは必ず同じカードに載せます。

カード種別カードに表示する内容導入担当者の確認
デバイスフロー必要なLark機能、目的、許可範囲、確認コード、承認URL、QRコード、承認後に戻って伝えること。カード自体では権限付与されず、Larkの正式な承認画面へ案内していると明記します。
初期設定URLLarkアプリ情報をこのPCへ登録する目的、開くURL、QRコード、設定後に導入担当者へ戻る案内。URLは加工せず、そのままカードに載せます。
追加権限追加で必要になったLark機能名、何に使うか、読み取り・送信・更新などの範囲。不足している機能だけを案内し、「すべてのLark機能」は原則選びません。
Bot権限不足利用者本人ではなく、管理者または導入担当者のLarkアプリ設定が必要であること。利用者が承認カードを押しても解決しないため、Lark開発者コンソールの案内として出します。
承認先確認確認カードが本人の1対1チャットに届くか、表示名が本人か、テストカードで何を押すか。別の人に届くと承認として使えないため、到着確認まで行います。
実行前確認これからPC上で起きること、頼んだ作業かどうか、OK/NG、時間切れは拒否扱いであること。技術的な判断を利用者に押しつけず、心当たりの有無で判断できる文面にします。
Bridge権限変更Lark上の権限ではなく、手元PCでAIがどこまで操作できるかの設定変更であること。view は read-only、edit は full。変更後はBridge再起動と疎通確認を行います。

権限が必要になったら、標準でDevice Flowへ進む。

user権限が不足した場合は、導入担当者が別途手順を組み立てなくても、 権限案内カードにURL・QRコード・確認コードを表示して承認へ進めます。 bot権限不足だけは利用者本人のDevice Flowでは解決しないため、Larkアプリ設定カードとして案内します。

権限不足の種類標準の動きカードに出すこと
user権限不足Device Flowを開始し、Larkカードを送ります。必要なLark機能、目的、許可範囲、承認URL、QRコード、確認コード。
追加スコープ不足している機能だけを指定してDevice Flowへ進みます。追加で必要な理由と、承認しない場合に進められない作業。
bot権限不足Device Flowではなく、Larkアプリ設定カードを出します。管理者または導入担当者がLark開発者コンソールで設定すること。
カード送信前の初期状態カードを送れる前提がない場合は、URLとQRコードを通常表示して先に認証します。この段階だけはLarkカードではなく、画面上の案内で進めること。
URL + QR

開く先を迷わせない

PCでもスマートフォンでも進められるように、承認URLとQRコードを同じ案内に載せます。

Feature names

Larkの機能名で説明

内部名ではなく「Lark チャット」「Lark ドライブ」のように、画面を見た人が理解できる名前で説明します。

No blind approval

許可内容を先に示す

承認を求める前に、目的・範囲・次に起きることを短く表示します。分からない場合は承認しない運用にします。

「何のために必要か」の表示例。

カード上では、機能名だけではなく、その権限を何に使うのかを一緒に表示します。導入担当者はこの例を見せながら説明できます。

Lark機能カードに表示する目的許可範囲の例
Lark チャット確認カードを送信し、OK/NGの結果を受け取るため。Botからの通知、確認カードの送信、承認結果の受け取り。
Lark 連絡先承認カードを届ける本人とBotを確認するため。承認先の本人確認、Bot・メンバー確認。
Lark ドライブ依頼されたファイルを確認・整理するため。ファイルやフォルダの確認、整理、アップロード。
Lark Docs依頼された文書を確認・作成・編集するため。文書の閲覧、作成、編集。
Lark Base業務台帳やレコードを確認・更新するため。表形式データ、業務台帳、レコードの確認・更新。
Lark カレンダー予定、会議、空き時間を確認して調整するため。予定の確認、会議情報の確認、空き時間確認。
Lark 承認承認申請や承認状況を確認するため。承認申請の確認、承認状況の確認。
Larkアプリ設定Botが必要なLark機能を使えるようにするため。管理者または導入担当者によるアプリ権限追加。

Components

導入時に置かれるもの。

共通インストーラ

導入の共通入口。Claude Code / Codex の差分を吸収します。

セットアップSkill

プラン選択、承認先、Bridge 再起動、疎通確認を進めます。

初期設定スクリプト

Bridge 権限、Codex hooks、共有フック配置を反映します。

実行前確認

実行直前に危険度を判定し、必要ならカードを送ります。

結果通知

実行後にカード更新と結果通知を行います。

カード共通処理

カード生成、応答照合、リスク判定を集約する共通処理です。

認証・権限案内カード

デバイスフローURL、確認コード、QRコード、要求理由を同じカードに表示します。

Device Flow開始

権限不足時に承認URLを発行し、案内カードへつないで完了待ちします。

Scope

この仕組みの範囲と注意点。

動作する範囲

Lark Channel Bridge 経由で Claude Code / Codex に依頼したセッションで動作します。手元で直接ターミナルを操作する場合には影響しません。

view プランの注意

閲覧のみは Bridge 側の read-only が効いて初めて成立します。設定後は状態確認と疎通確認で、カードが正しく届くことを確認します。

カードを押さなかった場合

時間切れは拒否扱いです。カード送信や応答判定に失敗した場合も、勝手に実行する側には倒しません。

プライベート配布の場合

導入コマンドを実行する PC から、配布元の GitHub リポジトリへアクセスできる必要があります。

Ready for rollout

顧客へ説明し、導入担当者がそのまま進められる構成へ。

入口は1つ。説明は3プラン。権限は3層。 Lark承認カードは、Lark からのAI遠隔操作を「便利なだけ」ではなく「説明できる運用」にします。