Skip to main content

ai-coordinator

Estado de tarefas compartilhado entre agentes de programação e operadores humanos, com retomada por checkpoints cognitivos, rotas configuráveis, avaliação comparável de candidatos, governança de ferramentas via Tool Broker com tokens HMAC e contenção física de workers em sandboxes nativas do sistema operacional. O núcleo funciona em Windows, macOS e Linux com Python 3.11 ou superior.


O que vem no repositório

  • Biblioteca Python: Coordinator para criar tarefas, ler contexto, gravar checkpoints cognitivos, consultar rotas e delegar execuções a workers isolados.
  • CLI: bootstrap de projetos, retomada, checkpoints, consulta de disponibilidade, planejamento, execução e monitoramento de workers.
  • Human-AI Cognitive Workspace: sessões supervisionadas (HumanPrincipal, HumanSession), controle de acesso por papéis (RBAC), checkpoints cognitivos com hashes SHA-256 de árvores de arquivos e integração com o ecossistema ai-memory.
  • Sandboxes Nativas de SO: isolamento físico de processos e sistema de arquivos em nível de kernel:
    • Windows NT: Win32 Job Objects suspensos (CREATE_SUSPENDED), cotas de recursos e perfis AppContainer com restrição NTFS.
    • Linux: Landlock LSM (Linux 5.13+) com PR_SET_NO_NEW_PRIVS e Trampoline seguro (sys.executable -I -S -c).
    • macOS: Apple Seatbelt Sandbox (/usr/bin/sandbox-exec) operando sob (deny default) e menor privilégio estrito.
  • Tool Broker e Capability Tokens: governança com negação por padrão (deny-by-default), tokens criptográficos HMAC-SHA256, cotas atômicas por ferramenta, expiração temporal (TTL), aprovações humanas pendentes e mediação assíncrona via Mailbox de arquivos (.broker).
  • Trilha de Auditoria Imutável: tabela SQLite append-only protegida por triggers contra UPDATE/DELETE, hash canônico de 15 campos e arquitetura de dupla ancoragem (tabela interna e arquivo externo desacoplado auth/audit.anchor com fsync()).
  • Servidor MCP: tools para estado de tarefas, checkpoints e delegação explicitamente chamada pelo agente via stdio.
  • Agent Skill: instruções para encontrar e retomar a tarefa adequada sem carregar históricos extensos.
  • Plugin Claude Code: skill e configuração integrada para conectar o servidor MCP.
  • Plugin OpenCode V2: tools para acessar o mesmo estado local pela CLI de forma determinística.
  • Avaliação de rotas: executa casos fixos contra candidatos selecionados e registra saída, tempo e métricas para nota humana.

O estado e a configuração ficam no diretório de dados do usuário. Na primeira execução, o programa copia routes.example.json e o protocolo compartilhado para esse diretório, sem substituir arquivos existentes. Defina AI_COORDINATOR_HOME para usar outro local. Credenciais e dados de execução não fazem parte do pacote.


Instalação do código-fonte

Clone o repositório e instale o pacote. Para habilitar o servidor MCP:

python -m pip install ".[mcp]"

Com o pacote instalado, os comandos disponíveis são:

ai-coordinator --help
ai-coordinator routes
ai-coordinator bootstrap --project .

Na primeira execução, revise routes.json no diretório de dados do usuário e configure os executáveis locais dos agentes que pretende usar. Os nomes e modelos do arquivo de exemplo são configurações iniciais; catálogo ou rota configurada não confirma saldo, cota ou acesso.


Isolamento e Segurança

O AI Coordinator executa workers sob política de menor privilégio e isolamento de processo no sistema operacional:

  • Protocolo de Inicialização em Duas Fases: O worker é criado suspenso no SO, seu PID e identidade estável são registrados na trilha de auditoria e a execução só é liberada (resume()) após o commit durável da auditoria. Falhas na auditoria abortam o processo antes da execução de qualquer comando (fail-closed).
  • Sandboxes de Filesystem: Workers têm permissão de escrita restrita exclusivamente à sua própria pasta temporária de sandbox. Tentativas de ler chaves do coordenador (auth/), banco SQLite, credenciais de usuário (.ssh, .aws) ou tarefas irmãs são bloqueadas pelo kernel do SO.
  • Tool Broker e Mailbox: Workers não possuem acesso a rede ou IPC direto. Ferramentas são solicitadas via arquivos JSON na pasta .broker/requests assinados com token HMAC e mediadas pelo supervisor durante o streaming. Tentativas de spoofing de PID ou adulteração de token encerram imediatamente a árvore de processos do worker.

Consulte docs/security.md e docs/architecture.md para detalhes completos sobre limites, ameaças e garantias.


Biblioteca Python

from ai_coordinator import Coordinator

with Coordinator() as coordinator:
    task = coordinator.new_task(".", "Revisar o tratamento de erros")
    print(task["id"])
    print(task["ai_memory_workstream_id"])
    print(coordinator.active_tasks("."))

Use Coordinator(root=".../dados") para escolher um diretório de dados próprio. A API exportada está em ai_coordinator.Coordinator e ai_coordinator.open_coordinator.

Quando AI_MEMORY_WORKSTREAM_ID estiver definido, uma tarefa nova guarda esse UUID como referência ao workstream atual do ai-memory. Também é possível passar ai_memory_workstream_id a new_task ou --ai-memory-workstream-id à CLI. O coordenador armazena o identificador e integra o contexto de forma resiliente, tratando memórias como dados não-confiáveis.


Avaliar candidatos de rota

benchmark executa cada caso contra os candidatos habilitados da categoria. Cada par caso/candidato agenda no máximo uma chamada; --max-calls é obrigatório porque a chamada pode consumir quota ou saldo. O comando grava as saídas e as métricas, mas não escolhe um vencedor automaticamente.

ai-coordinator benchmark --project . --cases evals/cases.example.json --max-calls 12

Depois de revisar as respostas, preencha quality_score de 0 a 5 e review_notes no JSON de resultados. Gere o resumo:

ai-coordinator benchmark-report --input caminho/benchmark.json

Veja evals/README.md para os limites da comparação e os exemplos. As respostas não são pontuadas por outro modelo: o ranking usa notas humanas e mostra separadamente tempo, tokens e custo informado.


Servidor MCP

Instale a dependência opcional e configure o host para iniciar ai-coordinator-mcp em transporte stdio:

{
  "mcpServers": {
    "ai-coordinator": {
      "command": "ai-coordinator-mcp",
      "args": []
    }
  }
}

O servidor oferece tools para bootstrap do projeto, listar/criar tarefas, retomar, gravar checkpoint, consultar rotas e planejar workers. delegate_to_worker inicia uma chamada externa aos clientes locais configurados e pode consumir cota ou saldo; a resposta é uma proposta que precisa de revisão.


Agent Skill

Use skills/ai-coordinator/SKILL.md em ferramentas compatíveis com Agent Skills. Ele orienta o agente a consultar o estado compartilhado sem carregar históricos completos.


Claude Code

O plugin está em plugins/claude-code. Depois de instalar ai-coordinator[mcp], adicione o marketplace e instale o plugin:

claude plugin marketplace add MaxxArtes/ai-coordinator
claude plugin install ai-coordinator@ai-coordinator-marketplace

O marketplace contém um plugin com skill e configuração MCP. Se instalar apenas o ZIP de release, carregue-o com claude --plugin-url <URL-do-asset>.


OpenCode V2

O plugin está em plugins/opencode. Instale o pacote Python e a dependência do plugin, depois adicione o caminho do plugin à configuração OpenCode:

{
  "plugins": ["./plugins/opencode"]
}

O plugin invoca a CLI por argumentos separados, sem passar comandos por um shell. Seu agente OpenCode terá tools para bootstrap, contexto, criação e retomada de tarefas, checkpoints, plano de rota e delegação.


Releases

Ao publicar uma tag v*, o workflow gera e anexa ao GitHub Release:

  • wheel e source distribution Python;
  • ZIP da skill;
  • ZIP do plugin Claude Code;
  • tarball npm do plugin OpenCode.

Cada formato é versionado a partir da tag e inclui LICENSE e NOTICE. O servidor MCP acompanha o pacote Python como extra opcional. Pull requests e releases executam verificações automatizadas; veja a matriz de suporte para saber o que é validado no CI e o que ainda exige conferência no cliente nativo.


Licença

O projeto usa a PolyForm Noncommercial 1.0.0. Ela permite uso e distribuição para fins não comerciais; uso comercial exige autorização separada do titular dos direitos. Essa restrição também pode se aplicar ao uso dentro de uma empresa. Consulte LICENSE e NOTICE antes de distribuir ou incorporar o pacote.

Metadata

Release files for ai-coordinator 0.5.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ai-coordinator 0.5.1
File Size Uploaded Provenance Actions
ai_coordinator-0.5.1.tar.gz 286.9 kB Without provenance Details for ai_coordinator-0.5.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for ai-coordinator 0.5.1
File Interpreter ABI Platform Actions
ai_coordinator-0.5.1-py3-none-any.whl Python 3 none any Details for ai_coordinator-0.5.1-py3-none-any.whl

Total release size: 474.3 kB

Release files / ai_coordinator-0.5.1.tar.gz

Download URL ai_coordinator-0.5.1.tar.gz
Size 286.9 kB
Tags Source
SHA-256 checksum
How to use checksums
3572846f3cd652eea63d69eeb2bba1e89e0c2ab52a6865c31b35a4523a794432
BLAKE2b-256 checksum
How to use checksums
6e13f9fb46c3bda026a57b8b45150cb0641c197de378e0d6768ecff18e99e8ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.5

Release files / ai_coordinator-0.5.1-py3-none-any.whl

Download URL ai_coordinator-0.5.1-py3-none-any.whl
Size 187.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6bc0faf8a1c3218b4b85fd68518d1c99ba5c220066ea1c274e53d9d2968a6bc1
BLAKE2b-256 checksum
How to use checksums
e725756e2fc3d5f84aab876cdb684836553e540c62742797c17d5557316cdf4d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.5

Security for ai-coordinator 0.5.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.5.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page