Repolode
iii-hq

iii-hq/iii

Um runtime em Rust que permite compor, descobrir e rastrear serviços, workers, filas, tarefas agendadas e agentes em um catálogo único e dinâmico de funções.

Estrelas
18,848
Forks
1,267
Issues abertas
100
Último commit
há 10 horas

O que é?

iii é um engine para criar backends a partir de pequenas unidades chamadas workers, funções e triggers. Um worker é qualquer processo que se registra no engine iii, como um serviço de API em TypeScript, um pipeline em Python ou um microsserviço em Rust. As funções têm identificadores estáveis, e os triggers declaram quando elas são executadas: em uma chamada direta, por um endpoint HTTP, em um agendamento cron, por uma assinatura de fila ou após uma mudança de estado. O engine cuida do roteamento, da serialização e da entrega.

O projeto oferece uma camada Compose em que os workers são declarados em um arquivo worker-compose.yaml ou adicionados a um daemon em execução por meio de um comando CLI. Cada novo worker passa a fazer parte de um catálogo dinâmico, sobre o qual os outros workers recebem notificações e que podem chamar imediatamente. Há SDKs oficiais para Node.js, Python, Rust e Go, além de um console para desenvolvedores que exibe workers, funções, triggers, filas, traces e logs.

O runtime do engine é licenciado sob a Elastic License 2.0, enquanto os SDKs, o CLI, o console e a documentação são licenciados sob a Apache 2.0.

Recursos principais

  • 01Registra qualquer processo como um worker que disponibiliza funções para o restante do sistema.
  • 02Oferece suporte a triggers de HTTP, cron, fila, estado e stream que invocam funções de forma declarativa.
  • 03Adiciona workers durante a execução por meio de um daemon Compose, permitindo incorporar novos recursos sem reiniciar.
  • 04Disponibiliza SDKs oficiais para Node.js, Python, Rust e Go.
  • 05Inclui um console para inspecionar workers, funções, triggers, filas, traces e logs.

Casos de uso

  • Conectar microsserviços escritos em diferentes linguagens por meio de um conjunto único de funções invocáveis.
  • Oferecer a agentes de IA um catálogo compartilhado de recursos que possam descobrir, chamar e rastrear.
  • Substituir integrações separadas de fila, cron e HTTP por um único modelo de triggers.
  • Rastrear e depurar chamadas entre serviços em uma única visualização.

Início rápido

  1. 1
  2. 2

    Iniciar um namespace do Compose com workers

    iii compose --namespace dev --up
  3. 3

    Adicionar um worker ao sistema em execução

    iii trigger -n dev compose::add worker=queue

Antes de usar

  • O mecanismo é licenciado sob a Elastic License 2.0, que disponibiliza o código-fonte, mas não é uma licença de código aberto aprovada pela OSI.
  • Somente os SDKs, a CLI, o console e a documentação estão sob a licença Apache 2.0. Verifique a licença do mecanismo antes de usá-lo comercialmente.

Tópicos

Perguntas frequentes

O que é iii?
Um runtime em Rust que permite compor, descobrir e rastrear serviços, workers, filas, tarefas agendadas e agentes em um catálogo único e dinâmico de funções. iii é um engine para criar backends a partir de pequenas unidades chamadas workers, funções e triggers. Um worker é qualquer processo que se registra no engine iii, como um serviço de API em TypeScript, um pipeline em Python ou um microsserviço em Rust. As funções têm identificadores estáveis, e os triggers declaram quando elas são executadas: em uma chamada direta, por um endpoint HTTP, em um agendamento cron, por uma assinatura de fila ou após uma mudança de estado. O engine cuida do roteamento, da serialização e da entrega.
iii é gratuito? Qual é a licença?
iii não declara licença. O código é público, mas sem licença você não tem permissão explícita para reutilizá-lo; fale com o autor antes de depender dele.
iii ainda é mantido?
Manutenção ativa. O último commit de iii foi em 19 de out. de 2026.
Para que posso usar iii?
Conectar microsserviços escritos em diferentes linguagens por meio de um conjunto único de funções invocáveis. Oferecer a agentes de IA um catálogo compartilhado de recursos que possam descobrir, chamar e rastrear. Substituir integrações separadas de fila, cron e HTTP por um único modelo de triggers. Rastrear e depurar chamadas entre serviços em uma única visualização.
Como instalar iii?
Instalar a CLI iii Iniciar um namespace do Compose com workers: iii compose --namespace dev --up Adicionar um worker ao sistema em execução: iii trigger -n dev compose::add worker=queue
Onde consigo iii?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/iii-hq/iii

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados