Skip to content

Locais de dados

O Jarvis Code CLI guarda todos os dados de execução — o arquivo de configuração, o histórico de sessões, as credenciais de login e os logs de diagnóstico — em ~/.jarvis-code/. Esta página ajuda você a entender onde cada tipo de dado fica, para que serve e como limpar ou realocar quando necessário.

Diretório raiz de dados

A raiz de dados padrão é ~/.jarvis-code/. O caminho real varia por plataforma:

  • macOS: /Users/<name>/.jarvis-code
  • Linux: /home/<name>/.jarvis-code
  • Windows: C:\Users\<name>\.jarvis-code

Se você precisar mover o diretório de dados para outro lugar (por exemplo, para isolar configurações de projetos diferentes em ambientes independentes), defina JARVIS_CODE_HOME:

sh
export JARVIS_CODE_HOME="$HOME/.config/jarvis-code"

Uma vez definido, todos os dados do Jarvis Code — configuração, sessões, logs, credenciais OAuth, skills de usuário específicas do Jarvis Code, AGENTS.md global e mais — passam a ficar sob o novo caminho. Para a referência completa de JARVIS_CODE_HOME, veja Variáveis de ambiente.

Nota

Recursos genéricos em .agents permanecem sob o home real do sistema operacional, para poderem ser compartilhados entre ferramentas. Por exemplo, skills genéricas de usuário continuam em ~/.agents/skills/, enquanto skills de usuário específicas do Jarvis Code acompanham JARVIS_CODE_HOME em $JARVIS_CODE_HOME/skills/.

Layout de diretórios

$JARVIS_CODE_HOME  (padrão: ~/.jarvis-code)
├── config.toml             # Configuração do usuário
├── tui.toml                # Preferências da interface de terminal (inclui o interruptor de atualização automática)
├── AGENTS.md               # Instruções globais de agente específicas do Jarvis Code (opcional)
├── mcp.json                # Declarações de servidor MCP no nível de usuário (opcional)
├── skills/                 # Skills de usuário específicas do Jarvis Code (opcional)
├── plugins/
│   ├── installed.json      # Registros de plugins instalados e estado de habilitação
│   └── managed/            # Cópias de plugins instalados a partir de zip ou caminho local
├── session_index.jsonl     # Índice de sessões
├── credentials/            # Credenciais OAuth (diretório 0700, arquivos 0600)
│   ├── <name>.json
│   └── mcp/
│       └── <key>-<suffix>.json
├── memory/                 # Registros de memória persistente (engine v2; opcional)
│   ├── user/
│   │   └── <ulid>.json
│   ├── workspace/<workspaceId>/
│   │   └── <ulid>.json
│   └── project/<workspaceId>/
│       └── <ulid>.json
├── sessions/               # Dados de sessão (veja abaixo)
│   └── <workDirKey>/<sessionId>/
├── bin/
│   ├── rg                  # binário ripgrep gerenciado, usado pelo Grep (rg.exe no Windows)
│   └── fd                  # binário fd gerenciado, usado nas referências de arquivo (fd.exe no Windows)
├── search-index/           # Índice MiniDB por trás da busca global de sessões (servidor)
├── server/
│   └── instances/          # Um registro JSON por instância de `jarvis server` em execução
├── server.token            # Bearer token persistente do `jarvis server` (arquivo 0600)
├── logs/
│   └── jarvis-code.log       # Log de diagnóstico global
├── updates/
│   ├── latest.json
│   ├── install.json
│   ├── install.lock
│   └── rollout.log
└── user-history/
    └── <md5(workDir)>.jsonl

Descrição dos arquivos

Cada arquivo de nível superior da raiz de dados tem um propósito específico; a maioria é gerenciada automaticamente pelo CLI:

  • config.toml: o arquivo principal de configuração de execução, que guarda ajustes no nível de usuário como provedores, modelos e controle de loop. Veja Arquivos de configuração.
  • tui.toml: preferências do cliente de interface de terminal, incluindo [upgrade].auto_install (atualização automática, ligada por padrão). Você pode desativá-la em /settings ou definindo auto_install = false manualmente.
  • AGENTS.md: instruções globais de agente específicas do Jarvis Code. Este arquivo acompanha JARVIS_CODE_HOME; instruções genéricas entre ferramentas ainda podem ficar em ~/.agents/AGENTS.md.
  • mcp.json: declarações de servidor MCP no nível de usuário, mescladas na inicialização com o .jarvis-code/mcp.json local do projeto. Veja MCP.
  • skills/: skills de usuário específicas do Jarvis Code. Este diretório acompanha JARVIS_CODE_HOME; skills genéricas entre ferramentas ainda podem ficar em ~/.agents/skills/. Veja Agent Skills.
  • plugins/installed.json: registra os plugins instalados, o estado de habilitação de cada um e as mudanças de estado de capacidade de servidor MCP feitas por /plugins ou /plugins mcp disable|enable. Arquivos instalados a partir de caminhos locais ou URLs de zip são copiados para plugins/managed/<id>/. Veja Plugins.
  • credentials/: diretório de credenciais OAuth, com permissões 0o700 (diretório) e 0o600 (arquivos), legível e gravável apenas pelo usuário atual. Credenciais de provedores gerenciados ficam em credentials/<name>.json; credenciais de servidores MCP ficam em credentials/mcp/. As credenciais são escritas por um fluxo atômico (tmp → fsync → rename) para evitar corrupção.
  • memory/: registros opcionais de memória persistente do engine v2. Cada registro é um documento JSON em memory/<scope>/<id>.json: user/<ulid>.json para memória global do usuário, workspace/<workspaceId>/<ulid>.json para memória de workspace, ou project/<workspaceId>/<ulid>.json para memória de projeto. O id de workspace é a chave codificada do diretório de trabalho (wd_<slug>_<12-char-sha256>).
  • search-index/: o índice MiniDB que sustenta a busca global de sessões no jarvis server. É dado derivado, reconstruído a partir da varredura dos arquivos wire, então apagá-lo é seguro.
  • server/instances/: um registro JSON por instância de jarvis server em execução, para que várias instâncias possam coexistir em um mesmo diretório home. Registros mortos são varridos automaticamente.
  • server.token: o bearer token persistente do jarvis server, escrito com modo 0600 e compartilhado por todas as instâncias deste diretório home. Rotacione-o com jarvis server rotate-token.

Nota

O Tower mode não escreve na raiz de dados. O workspace dele fica em .tower/, dentro do repositório em que se está trabalhando. Veja Modo Tower.

Dados de sessão

Os dados de cada sessão ficam em sessions/<workDirKey>/<sessionId>/, e um índice session_index.jsonl de nível superior é mantido (um registro por linha, cada um contendo sessionId, sessionDir e workDir). O workDirKey é um nome de bucket derivado do caminho do diretório de trabalho, no formato wd_<slug>_<primeiros-12-caracteres-do-sha256>.

Dentro de cada diretório de sessão:

  • state.json: metadados da sessão, incluindo título, lastPrompt, carimbos de criação e atualização e forkedFrom.
  • upcoming-goals.json: a fila exclusiva da TUI criada por /goal next <objective>. Ela não faz parte da conversa do agente até que uma meta enfileirada seja promovida após a meta atual terminar.
  • agents/main/wire.jsonl: o registro completo de comunicação do agente principal, usado para retomada e replay da sessão.
  • agents/main/plans/: arquivos de plano escritos no Plan mode, nomeados pelo id do plano (<id>.md).
  • agents/agent-0/ etc.: diretórios de instância de subagente, cada um com seu próprio wire.jsonl.
  • logs/jarvis-code.log: log de diagnóstico desta sessão; presente apenas quando ocorre um evento de diagnóstico.
  • tasks/: persistência de tarefas em segundo plano — tasks/<task_id>.json guarda status, pid e código de saída; tasks/<task_id>/output.log guarda a saída.
  • cron/: persistência de tarefas agendadas; recarregada no agendador quando a sessão é retomada com jarvis --session. Veja Tarefas agendadas.

Cache de ferramentas integradas

Na primeira vez que a ferramenta Grep precisa do ripgrep, o CLI pode baixar o rg automaticamente e guardá-lo em bin/rg (bin/rg.exe no Windows). O autocompletar de referências de arquivo na interface de terminal usa o fd; o CLI o baixa e guarda em bin/fd (bin/fd.exe no Windows) em segundo plano quando necessário. Execuções seguintes reutilizam os binários em cache. O rg prefere o PATH do sistema antes do cache, enquanto o fd consulta o cache gerenciado antes de recorrer ao fd / fdfind do sistema. Apagar o diretório bin/ dispara um novo download no próximo uso.

Logs e estado de atualização

  • logs/jarvis-code.log (global): registra inicialização, login, exportação e outros eventos que cruzam sessões.
  • <sessionDir>/logs/jarvis-code.log (por sessão): registra eventos de diagnóstico dentro de uma única sessão.

Ao relatar um bug, prefira exportar a sessão relevante com jarvis export; o log da sessão é incluído na exportação por padrão. Adicione --no-include-global-log se você não quiser compartilhar o log global.

Os arquivos em updates/ (latest.json, install.json, install.lock, rollout.log) são mantidos automaticamente pelo mecanismo de atualização e normalmente não precisam de edição manual. O rollout.log registra qual caso de rollout escalonado cada verificação de atualização atingiu, o que ajuda a explicar quando um dispositivo receberá um novo release.

Histórico de entrada

O histórico de entrada do terminal é salvo separadamente por diretório de trabalho, em user-history/<md5(workDir)>.jsonl. Ele é usado para percorrer prompts digitados anteriormente na interface de terminal com as setas.

Limpar dados

Apagar o diretório raiz de dados (~/.jarvis-code/ ou o caminho definido por JARVIS_CODE_HOME) remove todos os dados de execução. Para limpar apenas parte deles:

ObjetivoAção
Redefinir a configuraçãoApague ~/.jarvis-code/config.toml
Redefinir as preferências da interface de terminalApague ~/.jarvis-code/tui.toml
Limpar todas as sessõesApague ~/.jarvis-code/sessions/ e session_index.jsonl
Limpar os logs de diagnósticoApague ~/.jarvis-code/logs/
Limpar o histórico de entradaApague ~/.jarvis-code/user-history/
Redefinir o estado de atualizaçãoApague ~/.jarvis-code/updates/latest.json
Forçar novo download de rg e fd gerenciadosApague ~/.jarvis-code/bin/
Limpar o estado de login OAuth de provedorExecute /logout, ou apague o credentials/<name>.json correspondente
Limpar o estado de login OAuth de servidor MCPApague credentials/mcp/ (o /logout não limpa credenciais MCP)
Remover declarações MCP no nível de usuárioApague $JARVIS_CODE_HOME/mcp.json (padrão ~/.jarvis-code/mcp.json)
Limpar instruções globais de agente específicas do Jarvis CodeApague $JARVIS_CODE_HOME/AGENTS.md (padrão ~/.jarvis-code/AGENTS.md)
Limpar registros de instalação de pluginsApague $JARVIS_CODE_HOME/plugins/ (diretórios de origem de plugins locais não são afetados)
Limpar skills de usuário específicas do Jarvis CodeApague $JARVIS_CODE_HOME/skills/ (padrão ~/.jarvis-code/skills/)
Limpar a memória persistenteApague $JARVIS_CODE_HOME/memory/
Reconstruir o índice de busca de sessõesApague $JARVIS_CODE_HOME/search-index/; o servidor o reconstrói na próxima busca
Invalidar o bearer token do servidorExecute jarvis server rotate-token, ou apague $JARVIS_CODE_HOME/server.token

Próximos passos