Harumi

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 clone do 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 na main, porém: o diálogo de opções de execução da barra de ferramentas e harumi run --branch podem executar qualquer branch diretamente, e uma execução agendada também pode ter como alvo uma. Fazer merge de uma branch de volta para a main (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, como prod, 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 .zip ou 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.json da 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.py nunca escreveu output/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.toml nã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] do harumi.toml executaria.

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.

On this page