Back to .md Directory

Codex (Wrapper ChatGPT.nvim)

Wraps ChatGPT.nvim to redirect OpenAI calls through a local `codex` CLI binary, disabling streaming and using environment variables for configuration.

May 2, 2026
0 downloads
0 views
ai prompt openai
View source

What this file does

Wraps ChatGPT.nvim to redirect OpenAI calls through a local codex CLI binary, disabling streaming and using environment variables for configuration.

When to use it

  • You have a local codex CLI and want Neovim to use it instead of direct OpenAI API calls
  • You need non-streaming chat responses and full conversation history sent to the CLI
  • You want to brand the ChatGPT.nvim UI as a different product (Codex) inside your dotfiles

Assumes this stack

LuaNeovimChatGPT.nvimcodex CLIwhich-key.nvim

Codex (Wrapper ChatGPT.nvim)

Este módulo envolve o jackMort/ChatGPT.nvim, mas apresenta tudo com a marca Codex dentro do TurasVim.

-## Especificação

  • Local: lua/plugins/ai/codex.lua.
  • Dependências Lazy: nvim-lua/plenary.nvim, MunifTanjim/nui.nvim, folke/which-key.nvim.
  • Requer o binário codex acessível no PATH.

Configuração

require("chatgpt").setup({
  openai_params = {
    model = os.getenv("CODEX_MODEL") or "o1-mini",
    max_tokens = tonumber(os.getenv("CODEX_MAX_TOKENS") or "800"),
    stream = false,
  },
  codex = {
    bin = os.getenv("CODEX_BIN") or "codex",
    extra_args = vim.tbl_extend(
      "force",
      { "--full-auto" },
      vim.split(os.getenv("CODEX_ARGS") or "", "%s+", { trimempty = true })
    ),
  },
})
  • O módulo ignora api_key_cmd e redireciona as chamadas OpenAI para o CLI codex usando vim.system.
  • Variáveis CODEX_MODEL, CODEX_MAX_TOKENS, CODEX_BIN e CODEX_ARGS sobrescrevem os valores padrão quando definidas.
  • O histórico do chat é serializado para texto (roles USER/ASSISTANT) e enviado ao comando codex exec --model <modelo> --output-last-message <tmp>; o arquivo temporário retornado alimenta a UI.

Keymaps

O módulo registra um grupo Code With AI no which-key:

  • <leader>a — Prefixo que revela o grupo.
  • <leader>ac — Abre a interface principal do Codex em modo normal.

Uso

  1. Garanta que o codex CLI esteja instalado e autenticado (codex login) e, se desejar, configure CODEX_MODEL/CODEX_ARGS.
  2. Abra o Neovim e pressione <leader>ac para iniciar uma sessão com o layout tradicional, agora identificado como Codex.
  3. A resposta aparece após o término do processo (não há streaming); erros retornados pelo CLI são exibidos no cabeçalho.

Observações

  • O prompt enviado ao Codex inclui todo o histórico da conversa para preservar contexto.
  • Caso o binário não esteja acessível ou retorne código diferente de zero, a mensagem de erro é repassada ao usuário.
  • Falhas comuns (ex.: config ausente ou "No such device or address") trazem instruções: instalar o CLI, rodar codex login em um terminal interativo e garantir ~/.codex acessível.
  • Como vim.system retorna a resposta completa, o chat aguarda o término da execução antes de atualizar a janela.

What's inside

1 setup block, 4 environment variables, 2 keymaps, 1 which-key group, 1 error handling section

Change this for your project

  • Replace "codex" in bin = os.getenv("CODEX_BIN") or "codex" with your actual CLI binary name
  • Replace "o1-mini" in model = os.getenv("CODEX_MODEL") or "o1-mini" with your preferred model ID
  • Replace "Codex" references (e.g., -- Codex (Wrapper ChatGPT.nvim)) with your own product name

Where it goes

Keep it in your repository where the agent or team that needs it will read it.

Related Documents