Neovim で Windsuf(Codeium) を使ってみる

はじめに 近年、GitHub Copilot をはじめとする AI 補完ツールが欠かせない存在になっています。今回は、個人利用が無料で、かつ Neovim との相性も抜群な AI 補完ツール Windsurf(Codeium) の導入方法をご紹介します。 Windsurf(Codeium) とは? Windsurf(Codeium) は、70以上のプログラミング言語をサポートする AI コード補完ツールです。 Windsurf - The best AI for Coding Windsurf is the world's most advanced AI coding assistant for developers and enterprises. Windsurf Editor — the first AI-native IDE that keeps developers in flow. Web で検索すると、Windsurf よりも Codeium の方がヒットします。2025年4月に社名変更があったようで、現在は Windsurf が正式名称のようです。 Changelist: April 2025 Windsurf updates from April 2025! vim プラグイン名についても、以前は Exafunction/codeium.nvim という名前でしたが、現在は Exafunction/windsurf.nvim にリネームされています。 ...

2月 11, 2026 · 1 分 · a2ito

Cloudflare D1 が本当にトランザクションをサポートしていないのか確かめた

最近、こんな記事を見ました。 Cloudflare D1でトランザクションが使えない問題 Zenn このブログしかり、Cloudflare で D1 を使って色々アプリケーションを動かしているので、ちゃんと自分の手で確かめてみよう、と思い確認してみました。 結論 SQLite はトランザクションをサポートしている。 Cloudflare D1 ではネイティブトランザクションをサポートしていないが、batch() によって制約はあるもののトランザクションを実現できる。 実際にやってみる SQLite はトランザクションを正式にサポートしています。 ローカル D1 環境で、実際にトランザクションが機能するかどうかを確認していきます。 wrangler init d1test category は Hello World Example、type は Worker Only を選択しました。 "d1_databases": [ { "binding": "DB", "database_name": "d1test-db", } ] セットアップ直後ではローカルDBは構築されていませんが、以下のようなコマンドを実行することで作成されます。 npx wrangler d1 execute d1test-db --local --command "select * from users" 以下のように sqlite ファイルが作成されていればOKです。 % ls .wrangler/state/v3/d1/miniflare-D1DatabaseObject e7352547963de7050bd7d94658afc4fe78b61811b7815da12d90be8e863abf4d.sqlite e7352547963de7050bd7d94658afc4fe78b61811b7815da12d90be8e863abf4d.sqlite-shm e7352547963de7050bd7d94658afc4fe78b61811b7815da12d90be8e863abf4d.sqlite-wal SQLite コマンドでデータベースに接続します。 ...

2月 6, 2026 · 3 分 · a2ito

Neovim で Markdown 編集時に画像を貼り付けたい

このブログは Neovim を使って書いているんですが、画像を挿入するときはかなり面倒です。 以前 Windows 環境で記事を書いていたときは、記事で紹介した VSCode プラグインの Paste Image を使っていました。 コピペでmarkdownに画像を取り込む VS Code plugin Paste Image を試す VS Code 拡張機能 Paste Image を使って、クリップボードの画像を markdown に貼り付けるだけで挿入できる環境のセットアップ方法を、Hugo の static ディレクトリに合わせた設定例とあわせて紹介します。 @a2ito Mac になってからはエディタを Neovim にしており、VS Code にイチイチ切り替えるのが嫌で上記のプラグインも使わなくなっていました。Mac では Shift + Command + 4 のショートカットで画面キャプチャを取得できるので、キャプチャ取得→リネームして画像フォルダに保存→マークダウンでファイルパスを追記、というとても面倒な方法で画像を挿入していました。 最近はよくここで記事を書いており、さすがに辛くなってきたのでキャプチャを Neovim に貼り付けるだけでマークダウンに取り込める Neovim のプラグインを探すことにしました。 早速、以下のプラグインが見つかりました。 img-paste-devs/img-paste.vim paste image to markdown. Contribute to img-paste-devs/img-paste.vim development by creating an account on GitHub. GitHub インストール 公式では Vundle のインストールのスクリプトが紹介されていますが、 僕は lazy.nvim を利用しているので以下でインストールしました。 ...

2月 2, 2026 · 1 分 · a2ito

Do not require status checks on creation オプションについて調べてみた

課題認識 以前、以下の記事で Dependabot について調査しました。 Dependabot でパッケージを自動アップデートする GitHub の Dependabot で npm や GitHub Actions の依存関係を週次でPR作成し、patch バージョンに限り GitHub Actions で自動マージする運用と、ステータスチェック必須化までの設定方法をまとめます。 @a2ito その際、Dependabot によって作成された PR の自動マージを適切に運用できるよう、(ビルドやテストが失敗した場合に自動マージされないよう)Require status checks to pass を有効化しました。 このオプションの追加設定として Do not require status checks on creation というものがありました。このオプションはブランチ(や PR)が作られた時点では、ステータスチェックを必須にしないというもので、push 後にしか CI が動かないケースなど、ステータスチェックの制限によってPRがマージができないことを防ぐためのオプションだと理解しました。 説明を読んでもイマイチ理解できなかったので、改めて実機検証を通じて理解したいと思いました。 改めて説明を読む 当該オプションの説明には以下のように記載されています。 Allow repositories and branches to be created if a check would otherwise prohibit it. (訳)ステータスチェックによって禁止されている場合でも、リポジトリとブランチの作成を許可します。 ...

2月 1, 2026 · 2 分 · a2ito

OpenCode から無課金で Gemini を使ってみる

以前の記事で OpenCode・ローカルLLM を試してみましたが、今回は 商用LLM を試していきます。 OpenCode と ローカルLLM を試してみる OSS の AI エージェント OpenCode から Ollama や LM Studio で動かしたローカルLLM を利用するセットアップ手順と、tools 対応モデルの選定、コンテキスト長調整など実際にハマったポイントを紹介します。 @a2ito ※ 2026年2月時点の情報になります。 LLM API の料金比較 主要な LLM API サービスの料金比較: ベンダ モデル 料金(1Mトークンあたり、入力/出力) 無料枠 OpenAI GPT-5.2 $1.75/$14.00 1M* OpenAI GPT-5 mini $0.25/$2.00 10M* Google Gemini 3 Pro Preview $2/$12 なし Google Gemini 2.5 Pro $1.25/$10 あり* Google Gemini 2.5 Flash $0.3/2.5 あり* Google Gemini 2.5 Flash Lite $0.1/0.4 あり* Anthropic Claude Opus 4.5 $5/$25 なし Anthropic Claude Haiku 4.5 $1/$5 なし https://openai.com/ja-JP/api/pricing/ Gemini Developer API pricing Gemini Developer API Pricing Google AI for Developers Models overview Claude is a family of state-of-the-art large language models developed by Anthropic. This guide introduces the available models and compares their performance. Claude API Docs 無料枠について OpenAI 及び Google が提供するモデルには無料枠があり、どちらもベンダも API リクエストをモデル改善に利用することで、無料枠を利用することができます。業務などで秘匿情報を扱っている場合、無料枠を使用するのはやめておきましょう。 ...

2月 1, 2026 · 3 分 · a2ito