Emacs as AI assistant

Table of Contents

TODO Description

Set-up indications

To load the current file,

  1. add site-lisp to load-path

    (add-to-list 'load-path (concat (getenv "HOME") "/.emacs.d/site-lisp"))
    
  2. then, load the configuration file

    (load "emacs-as-ai-assistant" t t)
    

Configurations

;;; -*- lexical-binding: t; -*-

General set-up

(use-package gptel
  :ensure t
  :commands
  (gptel-mode gptel)
  :bind
  ("C-c u c" . gptel)
  :config
  (require 'gptel-transient)
  (setopt gptel-default-mode 'org-mode)
  (setopt gptel-use-curl t)
  )
(use-package auth-source
  :ensure nil
  :config
  (setq auth-sources '("~/.authinfo.gpg"))
  )

See https://docs.mistral.ai/getting-started/models

Agent support

(use-package gptel-agent
  :ensure t
  :bind
  ("C-c u A" . gptel-agent)
  :config
  (gptel-agent-update) ;Read files from agents directories
  )

Mistral

(use-package gptel
  :ensure t
  :config
  (require 'gptel-request)
  (require 'gptel-openai)
  (setopt gptel-model 'mistral-medium-latest)
  (setopt gptel-backend (gptel-make-openai "mistral" ;Any name you want
                          :host "api.mistral.ai"
                          :endpoint "/v1/chat/completions"
                          :protocol "https"
                          :key 'gptel-api-key-from-auth-source
                          :models '("mistral-large-2512")
                          ;; :request-params '(:tools [(:type "web_search")])
                          ))
  )

Created: 2026-07-19 Sun 16:45

Validate