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:
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)>.jsonlDescriçã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/settingsou definindoauto_install = falsemanualmente.AGENTS.md: instruções globais de agente específicas do Jarvis Code. Este arquivo acompanhaJARVIS_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.jsonlocal do projeto. Veja MCP.skills/: skills de usuário específicas do Jarvis Code. Este diretório acompanhaJARVIS_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/pluginsou/plugins mcp disable|enable. Arquivos instalados a partir de caminhos locais ou URLs de zip são copiados paraplugins/managed/<id>/. Veja Plugins.credentials/: diretório de credenciais OAuth, com permissões0o700(diretório) e0o600(arquivos), legível e gravável apenas pelo usuário atual. Credenciais de provedores gerenciados ficam emcredentials/<name>.json; credenciais de servidores MCP ficam emcredentials/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 emmemory/<scope>/<id>.json:user/<ulid>.jsonpara memória global do usuário,workspace/<workspaceId>/<ulid>.jsonpara memória de workspace, ouproject/<workspaceId>/<ulid>.jsonpara 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 nojarvis 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 dejarvis serverem 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 dojarvis server, escrito com modo0600e compartilhado por todas as instâncias deste diretório home. Rotacione-o comjarvis 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 eforkedFrom.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ópriowire.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>.jsonguarda status, pid e código de saída;tasks/<task_id>/output.logguarda a saída.cron/: persistência de tarefas agendadas; recarregada no agendador quando a sessão é retomada comjarvis --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:
| Objetivo | Ação |
|---|---|
| Redefinir a configuração | Apague ~/.jarvis-code/config.toml |
| Redefinir as preferências da interface de terminal | Apague ~/.jarvis-code/tui.toml |
| Limpar todas as sessões | Apague ~/.jarvis-code/sessions/ e session_index.jsonl |
| Limpar os logs de diagnóstico | Apague ~/.jarvis-code/logs/ |
| Limpar o histórico de entrada | Apague ~/.jarvis-code/user-history/ |
| Redefinir o estado de atualização | Apague ~/.jarvis-code/updates/latest.json |
Forçar novo download de rg e fd gerenciados | Apague ~/.jarvis-code/bin/ |
| Limpar o estado de login OAuth de provedor | Execute /logout, ou apague o credentials/<name>.json correspondente |
| Limpar o estado de login OAuth de servidor MCP | Apague credentials/mcp/ (o /logout não limpa credenciais MCP) |
| Remover declarações MCP no nível de usuário | Apague $JARVIS_CODE_HOME/mcp.json (padrão ~/.jarvis-code/mcp.json) |
| Limpar instruções globais de agente específicas do Jarvis Code | Apague $JARVIS_CODE_HOME/AGENTS.md (padrão ~/.jarvis-code/AGENTS.md) |
| Limpar registros de instalação de plugins | Apague $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 Code | Apague $JARVIS_CODE_HOME/skills/ (padrão ~/.jarvis-code/skills/) |
| Limpar a memória persistente | Apague $JARVIS_CODE_HOME/memory/ |
| Reconstruir o índice de busca de sessões | Apague $JARVIS_CODE_HOME/search-index/; o servidor o reconstrói na próxima busca |
| Invalidar o bearer token do servidor | Execute jarvis server rotate-token, ou apague $JARVIS_CODE_HOME/server.token |
Próximos passos
- Arquivos de configuração — referência completa dos campos do
config.toml - Variáveis de ambiente — uso detalhado de
JARVIS_CODE_HOMEe variáveis de caminho relacionadas