Loading...
Loading...
Este módulo envolve o `jackMort/ChatGPT.nvim`, mas apresenta tudo com a marca Codex dentro do TurasVim.
# 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
```lua
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.
Despite the GUI going mainstream in the 80s, the programming community has largely opted to remain in the era of the terminal. Yet there have always been magnificent visual programming projects at the periphery. This repo exists to shine a light on these alternatives, see what costs and benefits they offer, and reflect on the work of people pushing for a future where programming leverages more of our senses and modalities.
You are working in a Decapod-managed repository.
The C-Team in Applifting is a group of dedicated leaders who guide the company's direction and embody our core values. They ensure Applifting runs smoothly, grows sustainably, and stays true to its teal principles. By living the ideals in this codex, the C-Team drives Applifting towards its mission of creating digital products with positive impact on planetary scale.
There are some notes on PHP RFCs, why some were declined, and what others might need for them to be implemented.