投稿

Zedのターミナルでキーバインド変更

Zedエディタをインストールした後にキーバインドを変更した時の覚書。 GeminiのDeep Researchで調査。 環境: Windows 11 Pro 25H2, Zed 1.7.2 1.ターミナルパネルでのキーバインドを変更 Claude Codeを実行しているときに、Ctrl + Hで単語単位で削除されるのが気持ち悪いので、設定を変更する。 参考:  Keybindings | Key Bindings and Shortcuts - Zed メニューのOpen Keymap Fileからkeymap.jsonを開く。 下記を追記。   {     "context": "Terminal",     "bindings": {       "ctrl-p": ["terminal::SendKeystroke", "ctrl-p"],       "ctrl-n": ["terminal::SendKeystroke", "ctrl-n"],       "ctrl-h": ["terminal::SendKeystroke", "backspace"],       "ctrl-k": ["terminal::SendKeystroke", "ctrl-k"],     },   }, 2.ターミナルスレッドとターミナルパネルの違い ターミナルスレッド(Terminal Threads)は、エージェントパネル(Agent Panel)の中に、通常のAIスレッドと同じ階層でターミナルセッションをマウントする仕組み。 エージェントパネルを開いて+ボタンでTerminalを選択するとターミナルスレッドが起動する。 一覧表 比較項目 ターミナルスレッド  (Terminal Threads) ターミナルパネル  (Terminal Panel) 主な配置場所 エージェント...

AIエージェントとマネーフォワードクラウド会計とのAPI連携

クレジットカードの明細書PDFを見ながらクラウド会計に登録するのをAIエージェントを使ってやらせてみた時の覚書。 1. APIキーによる認証ではクラウド会計にアクセスできない アプリポータルの「APIキー管理」で新規登録をクリックすると、利用可能サービスは「クラウド連結会計」しか登録できない。 サポートに問い合わせてみると、次のような回答。 恐れ入りますが、APIキーによる認証は、現状「マネーフォワード クラウド連結会計」のみ対応しております。 その他のサービスにつきましては未対応のため、選択肢に表示されません。 ご希望に添えず申し訳ございませんが、ご理解を賜りますようお願い申し上げます。   お手数ではございますが、その他のサービスはOAuthによる認証でご対応いただきますようお願いいたします。 詳細な手順は以下のページをご参照ください。   ■OAuthによる認可の仕組みを学ぶ https://developers.biz.moneyforward.com/docs/tutorials/getting-started-api-call-manually/ 2. 公式MCPサーバーを使う 2026年3月から公式MCPサーバーが使える(サポートからは案内されなかった)。 参考:  『マネーフォワード クラウド会計』、リモートMCPサーバーを全プランで提供開始|株式会社マネーフォワード まずはアプリポータルで権限付与を行う。 参考:  マネーフォワード クラウド会計MCPサーバーについて | マネーフォワード クラウド会計サポート MCPサーバーとして Claude Codeに登録する。 > claude mcp add --transport http mfc_ca https://beta.mcp.developers.biz.moneyforward.com/mcp/ca/v3 OAuth認証はClaude Codeを実行した後に/mcpコマンドから行う。 コンソールにOauth認証のURLが表示されるので、ブラウザに渡して認証を完了させる。 詳細はClaude Codeに聞けば教えてくれる。 ▼ 関連記事 「MFクラウド会計」と「Freee」を比較してMFクラウド会計にした

Windows TerminalでClaude Code実行時に通知センター表示

Claude Codeの処理が終わったタイミングでWindowsへ通知する設定をしたときの覚書。 Geminiと対話。 環境: Windows 11 Pro 25H2, PowerShell 7.6.3 1. BurntToastをインストール Windowsターミナルがアクティブ状態でも通知してほしいので、BurntToastをインストールする。 参考:  Windos/BurntToast: Module for creating and displaying Toast Notifications on Microsoft Windows 10. > Install-Module -Name BurntToast -Scope CurrentUser -Force 通知テストのコマンド。 > New-BurntToastNotification -Text '処理が完了しました。成果物を確認してください。' 画像を表示しない通知。 > Submit-BTNotification -Content (New-BTContent -Visual (New-BTVisual -BindingGeneric (New-BTBinding -Children (New-BTText -Content '処理完了'), (New-BTText -Content '画像表示領域のないクリーンな通知です。')))) 2.Claude CodeのHooks(フック)機能を使う ユーザーの確認を待っているパターンと、タスクが完了したパターンで通知を分ける。 Claude CodeはWindowsの標準的なシェルインターフェースで立ち上げるので、通知テストするときはcmd.exeで動作確認する。 cmdで動作確認 > pwsh.exe -NoProfile -Command "New-BurntToastNotification -Text '💡 cmdからのテスト', 'PowerShell 7経由での通知です。'" Claude Codeの設定ファイル(~/.claude/settings.json)を編集する。 Gemini先生から言われた下記内容を追...

Windows Terminal(PowerShell)の日本語ファイルの文字化け

ターミナル(Windows Terminal)からClaude Codeを使っているときに日本語の文字化けが気になったので、対応した時の覚書。 Geminiと対話。 環境: Windows 11 Pro 25H2, PowerShell 7.6.3 PowerShellの現在の文字コードを確認。 > [Console]::OutputEncoding EncodingName      : Japanese (Shift-JIS) WebName           : shift_jis HeaderName        : iso-2022-jp BodyName          : iso-2022-jp WindowsCodePage   : 932 IsBrowserDisplay  : True IsBrowserSave     : True IsMailNewsDisplay : True IsMailNewsSave    : True Preamble          : IsSingleByte      : False EncoderFallback   : System.Text.InternalEncoderBestFitFallback DecoderFallback   : System.Text.InternalDecoderBestFitFallback IsReadOnly        : False CodePage          : 932 Shift-JISになっているので、UTF-8に変更する。 プロファイルの場所を確認。 > echo $PROFILE なければ下記コマンドで作れるらしい(未実行)。 > if ...

Mac miniにfnm経由でNode.jsをインストール

Mac miniにNode.jsをインストールした時の覚書。 Gemini 3.5 Flashと対話。 Mac mini 2024 メモリ24GB, Tahoe 26.5.1 1. fnm (Fast Node Manager)のインストール プロジェクトごとに異なるNode.jsのバージョン(最新のLTSや過去のバージョン)が必要になった際、直接インストールしていると切り替えが困難になるのでパッケージマネージャーを導入する。 今はRUSTで開発されたfnmが人気らしい。 公式サイト:  Schniz/fnm: 🚀 Fast and simple Node.js version manager, built in Rust Homebrew経由でインストールする。 % brew update % brew search fnm % brew install fnm 確認。 % fnm --version fnm 1.39.0 ターミナル起動時に fnm が自動的に有効化され、ディレクトリ移動時にバージョンが自動で切り替わるように設定する。 % echo 'eval "$(fnm env --use-on-cd)"' >> ~/.zshrc % source ~/.zshrc 2. node.jsのインストール 最新のLTS(推奨版)をインストール。 % fnm install --lts Node v24.16.0 (x64)がインストールされた。 デフォルトになるように設定。 % fnm default lts-latest 確認。 % node -v % npm -v 3. fnmの基本的な使い方 fnm list-remote — インストール可能なすべてのNode.jsのバージョンをリモートから取得して一覧表示 fnm list — 手元のMacにインストール済みのバージョン一覧を表示 fnm install <バージョン> — 指定したバージョンをインストール (例:fnm install --lts で最新のLTS推奨版をインストール) fnm use <バージョン> — 現在開いているターミナル内だ...

Claude CodeをMac miniにインストールしてAPIキーを設定。ワークスペースとは?

Mac miniをAI社員にしようと試行錯誤しているときの覚書。 Microsoft 365 Copilotと対話。 環境: Mac mini 2024 メモリ24GB, Tahoe 26.5 1. Claude Consoleでワークスペース設定 Claude Consoleへログイン。 「アカウントをクリック → 組織の設定 → ワークスペース」 で「Claude Code」はWindows 11のPC名に変更。 「ワークスペースを作成」からMac miniの名前で作成。 「キーを作成」から新規APIキーを作成。 ※ APIキーは作成した直後しか表示されないので注意。 命名規則は次のようにしている。 (サービス名)_(ホスト名/PC名)_(用途) 例)claude-code_macmini2024_cli 2.Mac mini に Claude Code をインストール(brew失敗編) 運用とアンインストールのしやすさからHomebrewでインストールする。 ただ手動での更新が必要。 % brew update % brew search claude % brew install --cask claude-code APIキーを設定するして反映させる。 % echo 'export ANTHROPIC_API_KEY="sk-ant-xxxxxxxx"' >> ~/.zshrc % source ~/.zshrc 確認。 % less ~/.zshrc % echo $ANTHROPIC_API_KEY % claude --version warn: CPU lacks AVX support, strange crashes may occur. Reinstall Bun or use *-baseline build:   https://github.com/oven-sh/bun/releases/download/bun-v1.3.14/bun-darwin-x64-baseline.zip 2.1.153 (Claude Code) なぜかdarwin-x64(Intel版)がインストールされたので、アンインストールする。 % brew uninsta...

Claude Code で Ctrl+H が単語削除になる問題を1文字削除に直す

Claude Code(CLI)のプロンプト入力中に Ctrl+H を押すと、1文字ではなく単語ごとまとめて消えてしまう。 通常の Backspace と同じく「1文字だけ削除」したい、という挙動の調整メモです。 この記事はClaude Codeで生成。 PC環境 OS: Windows 11 Pro(10.0.26200) ターミナル: Windows Terminal シェル: PowerShell 7(pwsh) ツール: Claude Code(CLI) 症状 Claude Code のプロンプトで Ctrl+H を押すと単語単位で削除される 通常の Backspace キーは正しく1文字ずつ削除できる Ctrl+H でも Backspace と同じく1文字だけ削除したい 原因 ポイントは2つあります。 1. Claude Code のキーバインド設定では直せない Claude Code の ~/.claude/keybindings.json(Windows では C:\Users\<ユーザー名>\.claude\keybindings.json)で再割り当てできる「アクション」の一覧には、入力欄での「1文字削除」「単語削除」に該当するアクションが存在しません。 テキスト入力欄の編集はキーバインド層より下(入力処理層)で処理されているためです。 そのため、以下のように ctrl+h を null にしても効果がありません(もともと ctrl+h にアクションが割り当てられていないため、消すものが無い)。 {   "$schema": "https://www.schemastore.org/claude-code-keybindings.json",   "bindings": [     { "context": "Chat", "bindings": { "ctrl+h": null } }   ] } 2. 本当の原因はターミナルが送るバイト ターミナルでは、各キーが特定のバイトをアプリへ送ります。 Backspace キー → 0x7f(DEL)→ アプリ側で「1文字削除」 Ctrl+H → 0x0...

APIキーとIAM認証の違い

AIエージェントを整理整頓しているときの覚書。 Gemini 3.5 Flashと対話。 1. APIキーとは APIキーは、特定のアプリケーションやプロジェクトを識別するために発行されるシンプルな文字列。 APIの呼び出し時に、リクエストヘッダーやクエリパラメータにキーを付与して送信する。 基本的に一度発行すると、手動で無効化や再生成(ローテーション)をしない限り、同じキーが使われ続ける。 一言でいうとAPIキーは、簡易的な「通行証(プロジェクト識別子)」のようなもの。 手軽に導入できますが、紛失や漏洩時のリスク管理には注意が必要。 Google AI Studioで生成したAPIキーを本番環境で使うことのリスク データ漏洩とプライバシーのリスク(無料枠の場合) 送信したプロンプトやデータ(個人情報や社内機密など)が、Googleのモデル学習や改善に利用される可能性がある。 キー漏洩時の不正利用・高額請求リスク シンプルなAPIキー認証であるため、キーが一度流出すると権限の細かい制限や制御ができず、第三者に悪用されやすくなる。 レート制限(クォータ)によるエラー頻発 大規模なトラフィックに耐えられる設計になっておらず、ユーザー増に伴い「429 Too Many Requests(リクエスト過多)」エラーが発生しやすくなる。 SLA(サービス品質保証)やサポートの不在 あくまでプロトタイプ向けツールであるため、システムの稼働率保証がなく、万が一の障害発生時に迅速なテクニカルサポートを受けられない。 企業向けセキュリティ統制(ガバナンス)の欠如 詳細なアクセスログ(監査ログ)の取得や、プライベートネットワーク制限(VPC)、詳細なアクセス権限(IAM)の管理ができない。 2. IAM(Identity and Access Management)認証とは IAM認証は、クラウド環境や社内システムにおいて、ユーザーやサービスの「アイデンティティ(身元)」を厳密に管理し、詳細な権限を設定するための仕組み。 多くのIAMシステムでは、セキュリティを高めるために、数分〜数時間だけ有効な一時的な認証情報(トークン)を発行してアクセスする。 一言でいうとIAM認証は、より高度な「身分証明書と権限のセット」。 導入や設定には設計が必要だが、堅牢で柔軟なアクセス制御を実現できる。 O...