Tour pela Plataforma
Checklist, Documentação, Código, Fontes de Dados, Memórias & Habilidades, Segredos e Chat de IA da Harumi, seção por seção.
Checklist
A aba Checklist é o mapa do projeto: o objetivo, o que está feito, o que falta e o Próximo passo, ao longo de toda a vida do projeto. O assistente a mantém atualizada e cada item tem um botão que faz a ação. Veja O checklist do projeto.
Documentação
A aba Documentação guarda documentos em markdown do projeto — notas de
design, regras de negócio, ou qualquer coisa que você queira registrar junto
com o código. Documentos são arquivos .md versionados no mesmo repositório
do seu código.
Clique em New doc na barra lateral, dê um nome (.md é adicionado
automaticamente se você não colocar), e comece a escrever. Cada documento tem
três modos de visualização:
Markdown renderizado, somente leitura, incluindo blocos de código e equações matemáticas.
Salvar um documento faz commit dele no repositório, da mesma forma que editar um arquivo na aba Código.
Código
A aba Código é uma visão no navegador do repositório git do projeto: uma árvore de arquivos à esquerda e um visualizador/editor à direita.
- URL de clone — copie no topo da aba Código para fazer
git clonedo projeto localmente, ou use a CLI harumi para vincular uma pasta local ao projeto. - Download .zip — baixe um snapshot da branch atual sem clonar.
- Branches — o botão New version cria uma nova branch para trabalhar
em mudanças sem afetar a
main. Uma execução não fica travada namain, porém: o diálogo de opções de execução da barra de ferramentas eharumi run --branchpodem executar qualquer branch diretamente, e uma execução agendada também pode ter como alvo uma. Fazer merge de uma branch de volta para amain(via git) só é necessário para torná-la o padrão que um clique simples em Run usa. O mesmo diálogo lista suas tags, versões com nome, comoprod, que você pode executar ou agendar pelo nome e gerenciar pelo menu … de cada branch. - New file (Novo arquivo) e Upload files (Enviar arquivos) — New
file cria um arquivo vazio num caminho que você digita; Upload files,
no menu … da barra de ferramentas, adiciona um ou mais arquivos dentro
da pasta atual, junto do que já existe. Cada ação gera um único commit.
Para começar um projeto a partir de um
.zipou pasta inteira, use o diálogo New project — veja Começando um projeto. - Editando um arquivo — selecione um arquivo, mude para Edit, faça sua alteração e clique em Commit changes. As edições vão direto para a branch que você está visualizando — não há um estado separado de rascunho/publicação.
Datasets versionados em git vs. dados enviados
Upload files faz commit no repositório — bom para
código e arquivos de configuração pequenos, mas o git pull de cada
colaborador baixa esses arquivos de novo, e diffs de formatos binários (CSV,
Parquet) não servem de nada. Para qualquer coisa parecida com um dataset,
prefira a seção Files da aba Fontes de Dados — ela não é
versionada em git, e aparece em inputs/ dentro de cada execução.
Fontes de Dados
Acessada pelo botão Inputs da barra lateral do projeto, esta aba tem três partes: conectar bancos de dados externos, um SQL Editor somente leitura, e upload de arquivos fora do git.
Fontes de Dados conecta um projeto a um banco de dados externo para que seu código possa consultá-lo diretamente, sem incluir credenciais no repositório. Tipos suportados: PostgreSQL, MySQL, SQL Server e Oracle.
Para adicionar uma, clique em Connect new data source e preencha os detalhes da conexão (host, porta, banco, usuário, senha). Se o banco não for acessível diretamente, ative Connect through a proxy para rotear a conexão pelo proxy VPN da Harumi, informando host/porta do proxy e os certificados mTLS. Clique em Test connection antes de salvar — a Harumi verifica a conectividade antes de persistir a fonte de dados.
Depois de conectada, consulte-a de duas formas:
- A partir do seu código — a fonte de dados fica disponível na sua execução pelo nome que você deu a ela.
- No SQL Editor da aba Fontes de Dados — um editor somente leitura
(apenas
SELECT/WITH) para exploração rápida.
Files
Arquivos enviados aqui não são versionados no Código (git) — eles ficam
armazenados separadamente, por projeto, e aparecem em inputs/ dentro do
diretório de trabalho de cada execução, então main.py pode ler um deles com
um caminho relativo simples como inputs/model.pkl. Faça upload clicando em
Upload file ou arrastando um arquivo até a seção; cada arquivo pode ser
baixado ou excluído individualmente.
Um projeto pode ter no máximo 500 arquivos ou 500 MB no total. Uma execução se recusa a começar quando os arquivos enviados excedem esse limite — a interface mostra o quanto desse limite um projeto já usou, para que você remova arquivos antes que isso se torne um problema.
Memórias & Habilidades
O atalho Memórias & Habilidades na barra lateral do projeto abre uma aba com dois tipos de contexto que o Chat de IA da Harumi pode usar no projeto — visíveis e editáveis por qualquer membro do projeto.
Memórias
Uma memória é um fato ou preferência curta que o assistente deve levar em conta neste projeto (por exemplo, "Sempre reporte a receita em USD"). Digite uma na caixa e clique em Add.
Cada memória tem um Retrieval mode:
- On demand — só é usada quando o assistente busca nas memórias.
- Always — incluída em toda mensagem do chat deste projeto.
Qualquer memória pode ser editada ou removida a partir da sua linha depois.
Habilidades
Uma habilidade (skill) é uma instrução reutilizável que o assistente carrega
sob demanda, armazenada como um arquivo skills/<name>/SKILL.md no
repositório do projeto. Esta aba apenas as lista — clique em uma para abrir
seu SKILL.md na aba Código, onde ela é realmente editada.
New skill cria uma pasta e um SKILL.md inicial no repositório com o
nome que você escolher, e então o abre na aba Código para edição.
Segredos
Configurações → Segredos guarda variáveis de ambiente para o código do seu projeto — chaves de API, credenciais, ou qualquer outro valor de configuração que você não queira versionado em texto puro no repositório. Os valores são criptografados em repouso e nunca são exibidos novamente depois de salvos; você só pode substituí-los ou excluí-los, não visualizá-los.
Clique em Add secret, informe um nome e um valor, e ele fica disponível como variável de ambiente na próxima execução do seu projeto.
Chat de IA da Harumi
Chat abre o Chat de IA da Harumi, disponível como um painel a partir de qualquer aba ou como página própria. Ele tem dois modos:
- Agent — modo totalmente agêntico. Encaminha solicitações de otimização para um solver dedicado que constrói um modelo e executa código, e também pode responder perguntas gerais.
- Ask — modo conversacional. Busca nos arquivos do seu projeto e pode executar código para responder perguntas, mas não encaminha para o solver de otimização.
Em ambos os modos, o chat pode ler e escrever arquivos no repositório do seu projeto e executar código, exibidos como cartões de etapa (saída de execução de código, leitura/escrita de arquivos) enquanto trabalha.
Painel
Painel é a aba padrão e mostra:
- Latest run — widgets declarados nos arquivos de
dashboard do projeto, renderizados a partir do
output/output.jsonda execução mais recente na branch live. - Recent runs — uma lista de execuções anteriores; clique em uma para abrir sua saída.
- View latest output — um terminal em tempo real mostrando stdout/stderr enquanto uma execução está em andamento, e o log completo quando ela termina.
- Execution history — todas as execuções do projeto, com status e horários.
- Schedule — configure um agendamento cron para executar o projeto automaticamente, incluindo em qual branch ou tag ele executa.
Múltiplos dashboards e versões
Cada dashboard/<nome>.toml no repositório é um dashboard próprio (um
dashboard.toml na raiz, de projetos mais antigos, continua funcionando).
Quando um projeto tem dois ou mais, um seletor de dashboard aparece acima dos
widgets; cada opção leva o title do arquivo, ou o nome do arquivo. Arquivos
em uma subpasta de dashboard/ são ignorados, então você pode guardar
rascunhos lá.
Por padrão, o Painel mostra a execução mais recente na branch live (main). O
seletor de execução ao lado lista todas as execuções com status, branch e
origem, agrupadas por branch. Escolher uma execução de outra branch a
renderiza com os arquivos de dashboard daquela branch, então uma mudança de
layout pode ser testada em uma versão antes de ser mesclada. O Execution
history tem um botão Show on dashboard que faz o mesmo para uma execução
específica. Links de compartilhamento só mostram execuções da branch live.
Além de [[widgets]], um arquivo de dashboard pode declarar datasets
reutilizáveis, definir novos KPIs como SQL, e adicionar playback controlado
por clock — veja
Datasets, métricas e o clock do dashboard.
Antes da primeira execução
O Painel de um projeto só mostra valores reais depois de uma execução bem sucedida, e mostra um destes estados dependendo do que já aconteceu:
- No runs yet — nada foi executado neste projeto ainda. Clique em Run para ver algo aqui. Enquanto isso, todo dashboard da lista continua abrindo, desenhado com dados de exemplo (veja Pré-visualizando um dashboard antes de executar).
- Run in progress — o painel aparece quando essa execução terminar.
- This run didn't finish successfully — corrija o problema e execute de novo; View output abre o log bruto da execução que falhou.
- This run has no dashboard output — a execução terminou com sucesso,
mas o
main.pynunca escreveuoutput/output.json, então não há nada para os widgets do dashboard associarem.
Pré-visualizando um dashboard antes de executar
Um dashboard não precisa ter sido executado para ser visto. Quando um agente
(ou você) adiciona ou altera um dashboard/<nome>.toml, abra-o na lista de
dashboards e ele é desenhado com dados de exemplo: valores fictícios
gerados a partir das chaves às quais os widgets se ligam, então um timeline
mostra uma agenda plausível, um map mostra algumas paradas e um donut
mostra fatias. Um aviso acima dos widgets deixa isso claro.
- Sem nenhuma execução, um dashboard abre assim por conta própria.
- Com uma execução, ative o botão Sample data na barra logo abaixo do topo da página para pré-visualizar um layout cujas chaves a saída da última execução ainda não tem; escolha uma execução no seletor para voltar aos valores reais dela.
- Os dados de exemplo servem só para avaliar o layout. Copiar e baixar ficam ocultos nos widgets, e links de compartilhamento nunca os mostram.
Se um projeto não está pronto para executar
Um banner de aviso acima do painel significa que o projeto está sem algo que execuções e agendamentos precisam — mais comumente em um projeto anterior ao provisionamento do seu repositório git. Ele lista exatamente o que está bloqueando, por exemplo:
- Git repository — este projeto ainda não tem repositório, então não há código para executar. Um botão Set up repository corrige isso em um clique.
harumi.toml— adicione um com um comando[run], pela aba Código ou pela CLI.- Valid
harumi.toml— o arquivo existe mas não pôde ser lido. - Kernel — o kernel indicado em
harumi.tomlnão existe.
O banner desaparece quando todas as verificações passam.
Diálogo de opções de execução
Clicar na seta ao lado de Run abre o diálogo de opções de execução para
sobrescrever uma única execução, sem alterar o harumi.toml:
- Environment — escolha um kernel de computação diferente só para essa execução.
- Branch ou tag — execute uma branch diferente da padrão do projeto,
escolhida entre as branches reais do repositório, ou uma
tag como
prod. - Command — sobrescreva o comando que a seção
[run]doharumi.tomlexecutaria.
Deixar um campo sem alterar usa o padrão do projeto para ele. Esses campos
correspondem diretamente às flags --kernel, --branch (ou --tag) e
--command do harumi run na CLI (veja Comandos da CLI) — tudo
que você pode definir aqui também pode ser definido de um terminal ou de um
job de CI.
O checklist do projeto
Um mapa vivo do seu projeto — onde ele está, o que falta e o que fazer em seguida — que o assistente mantém atualizado enquanto você trabalha.
Datasets, métricas e o clock do dashboard
Declare o formato de um dataset uma única vez, defina novos KPIs como SQL em vez de um widget, e adicione playback controlado por clock a um dashboard.