gpt.el & mcp.el で整う emacs llm環境

はじめに Emacs内での大規模言語モデル(LLM)との連携は、ここ数年で劇的な進化を遂げてきました。 思い返せば2022年11月、初めて copilot.el によるAI autocompletion を体験したときの感動は鮮明に覚えています。 その後間もなくChatGPT が登場し、ChatGPT.el 等でEmacs内でのAIとの対話ができるようになりましたが、当時は機能も少なく、EmacsでLLMを使うメリットはあまり感じられませんでした。 ブレークスルーとなったのは、東京Emacs勉強会 サマーフェスティバル2024 のTomoya さんの発表で ellama を知ったことでした。 ellamaでは従来の対話形式だけでなく、様々な関数を通じてLLMを利用でき、Emacs が何倍も強力な開発環境へと変貌しました。 そして最近では gptel が llm module として doom emacs に正式に組み込まれ、ツール連携やプロンプト/コンテクストエンジニアリング1が非常にスムーズになりました。 これとmcp.el と組み合わせることで、ある種 LLM in emacs のplateau を感じている今、タイミング的にちょうど良いかなと思い、この記事を書くことにしました。 gptel, mcp.el の設定方法や使う理由、補足としてmcp.el を用いる際のNixOS におけるエラー処理の方法などを紹介します。 gantt title 私のEmacs 内LLM 遍歴 todayMarker off dateFormat YYYY-MM axisFormat %Y-%m section 自動補完 copilot.el :2022-11, 32M section 黎明期 ChatGPT.el :2023-03, 17M org-ai :2023-12, 8M section 革命 ellama/llm :2024-08, 9M section 開拓期 ai-org-chat :2024-11, 2M ob-llm :2025-01, 2M elisa :2025-03, 1M copilot-chat.el :2025-03, 2M section 成熟期 gptel+mcp.el :2025-05, 2M claude-code.el :2025-06, 1M copilot-emacs/copilot.el: An unofficial Copilot plugin for Emacs. joshcho/ChatGPT.el: ChatGPT in Emacs rksm/org-ai: Emacs as your personal AI assistant s-kostyaev/ellama: Ellama is a tool for interacting with large language models from Emacs. ahyatt/llm: A package abstracting llm capabilities for emacs. ultronozm/ai-org-chat.el jiyans/ob-llm s-kostyaev/elisa: ELISA (Emacs Lisp Information System Assistant) is a system designed to provide informative answers to user queries by leveraging a Retrieval Augmented Generation (RAG) approach. chep/copilot-chat.el: Chat with Github copilot in Emacs ! karthink/gptel: A simple LLM client for Emacs lizqwerscott/mcp.el: An Mcp client inside Emacs stevemolitor/claude-code.el: Claude Code Emacs integration gptel とは gptelは、Emacsのためのシンプルかつ強力な大規模言語モデル(LLM)クライアントです。 Emacs内のあらゆる場所から自由な形式でLLMと対話できる環境を提供します。 このデモを見ると使用イメージが分かりやすいです。 ...

7月 2, 2025 · 4 分 · Kaoru Babasaki

ox-hugo で mermaid.js を使う方法

はじめに このブログは、以下のワークフローで運用されています。 graph LR org-mode -- <a href="https://ox-hugo.scripter.co/">ox-hugo</a> --> markdown -- <a href="https://gohugo.io/">Hugo</a> --> HTML 上のようなフローチャートなどのダイアグラムを載せようとすると、どのような方法が思い浮かぶでしょうか? まさか、パワポ等で作ったダイアグラムを画像としてエクスポートして…なんて方法は考えていませんよね? それ、Dティアです 図1: パワポはまじでDティア それはさておき、私はダイアグラムを作る方法について詳しくなかったので、ox-hugo を使うという前提で Gemini 2.5 Pro に、Deep research してもらいました。 結果、以下のようなTier Listができました。1 表 1: ox-hugo でのダイアグラム作成方法のTier List by Gemini 2.5 Pro & me S HugoレンダーフックによるMermaid.js A Org Babel + Hugo Kroki 純粋なOrg Babel実行 (PlantUML/Ditaa) B GUIツール (Excalidraw等) で作成し、SVG/PNG画像として挿入 レガシーなHugoショートコード C iFrame埋め込み アスキーアート (ditaa, GoAT) D 🤮 M社製品 (PowerPoint, Visio)で作成+バイナリ挿入 🤮 表で示しているように、個人的にはmermaid.js を使うのがベストです。 しかし、方法がそれほどシンプルではなく、 少し面倒だったので、書き残しておきます。 ...

6月 21, 2025 · 2 分 · Kaoru Babasaki