Sobre o projeto

skillstate-proxy é um proxy HTTP local destinado a fluxos de trabalho de agentes que conseguem expressar seu progresso como estado estruturado explícito. Ele fica entre um cliente e um provedor de modelo configurado, constrói o contexto a partir da especificação da tarefa, do estado JSON da sessão e da observação mais recente, e então extrai um state_patch da resposta do modelo. O README enquadra a redução de tokens como dependente da carga de trabalho e afirma explicitamente que economia, latência, precisão e compatibilidade com provedores não são garantidas. A instalação usa npm (Node.js 20 ou mais recente). O executável é skillstate, também disponível como skillstate-proxy. A configuração é feita por variáveis de ambiente como SKILLSTATE_UPSTREAM, SKILLSTATE_API_KEY, SKILLSTATE_PORT (padrão 127.0.0.1:8789), SKILLSTATE_SCHEMA, SKILLSTATE_INITIAL_STATE, SKILLSTATE_CONFIG e SKILLSTATE_VERBOSE, além de flags de CLI --config, --upstream, --port, --schema e --verbose. A precedência é flags de CLI, variáveis de ambiente, arquivo de configuração e, por fim, padrões. Um cliente de chat compatível aponta para http://127.0.0.1:8789/v1. O contrato de estado mescla patches substituindo arrays, mesclando objetos recursivamente e excluindo uma chave quando o valor do patch é null. O README enfatiza que isto não é um arquivo de transcrição sem perdas: fatos não preservados no estado podem ficar indisponíveis depois, e um registro de auditoria separado é recomendado quando evidências literais importam. Listas de chaves permitidas não limitam o tamanho de valores ou observações. A superfície HTTP inclui POST /v1/chat/completions, POST /v1/messages (tradução no formato Anthropic), GET /v1/models, GET /health, GET /state (com ?session=ID), DELETE /state?session=ID e GET /cost. O README alerta que uma rota implementada não é prova de que todos os recursos de um SDK funcionam, e recomenda testar streaming, correlação de chamadas de ferramentas, sessões concorrentes, retentativas e cancelamento com o cliente, provedor e modelo exatos. Configurações opcionais de rpm/tpm por upstream usam uma janela deslizante local de um minuto e não são cotas do lado do provedor nem limitadores distribuídos. A verificação a partir do código-fonte usa npm ci, npm run build e npm test com o package-lock.json versionado; a CI verifica Node.js 20, 22 e 24. Verificações opcionais de layout de documentação estática usam Python Playwright. Benchmarks (conversa e loop de ferramentas) exigem configuração explícita do provedor e podem custar dinheiro; o README aconselha reter revisão, carga de trabalho, modelo, schema, uso bruto, retentativas, pontuações de qualidade e falhas junto com qualquer resultado, e comparar os custos totais faturados de entrada/saída. O projeto faz referência ao artigo SKILL.state (arXiv:2608.26263) e observa que resultados de pesquisa não estabelecem a precisão desta implementação nem compatibilidade universal. Tem licença MIT, não é afiliado à OpenAI nem à Anthropic, e a licença não cobre inferência ou hospedagem upstream. O estado é persistido localmente e pode conter informações sensíveis da tarefa; o upstream recebe o contexto reescrito, portanto o listener deve ser mantido privado. O README afirma que o projeto não é uma fronteira de segurança multi-inquilino apenas por ter IDs de sessão.