FCoP
Protocolo de colaboração e governança nativo de arquivos para sistemas multiagentes. TASK, REPORT, ISSUE e REVIEW coordenam atribuições, entrega paralela e revisão baseada em evidências. Nenhum banco de dados de coordenação ou fila de mensagens necessário.
Documentação
FCoP — Protocolo de Coordenação Baseado em Arquivos
Mesmo quando o agente não está mais presente, o trabalho permanece.
Tarefas, entregas, problemas e decisões de revisão tornam-se arquivos duráveis que pessoas, ferramentas e o próximo agente podem inspecionar. Uma sessão pode terminar sem levar consigo o registro do trabalho.
Peça à IA para instalar · Referência manual · Série de arquitetura (中文) · Arquitetura · Artigos e citação
Versão estável: 4.0.3 — Lançamento 4.0.3. Este repositório contém o protocolo aberto, a implementação Python fcop e o adaptador opcional fcop-mcp. Python 3.10+; nenhuma chave de API de modelo é necessária para o exemplo local.
Peça à sua IA para instalar o FCoP
Cole isto no Cursor Agent, Codex ou outro agente de codificação com acesso a terminal e arquivos. O agente cuida da configuração e verifica o resultado.
Install FCoP for the coding client and project I am using. Follow:
https://github.com/joinwell52-AI/FCoP/blob/main/docs/ai-install.md
Run the environment checks, installation, configuration and verification yourself. Preserve my existing configuration and project state. Report what actually works; ask me only for a missing client/project choice or a required approval/reload.
O guia de instalação com IA cobre dependências, configuração do cliente e uma verificação de tarefa real. Se o cliente precisar de aprovação ou recarga, o agente identificará essa etapa. Instruções manuais de Python/MCP permanecem abaixo para referência.
Quer ver uma transferência primeiro? Peça à IA para executar o exemplo de transferência de sessão: English · 简体中文. Crie uma tarefa e um relatório, feche a sessão e depois leia-os de uma nova sessão MCP. Nenhuma chave de API é necessária; o resultado permanece disponível para inspeção.
macOS (Intel e Apple silicon): instalar CLI e MCP
O FCoP suporta macOS tanto em Intel quanto em Apple silicon. Os wheels publicados são independentes de plataforma; Rosetta não é necessária. Use Python 3.10–3.13. A CLI funciona diretamente no Terminal, enquanto o MCP adicionalmente requer um cliente que suporte servidores stdio locais, como Codex ou Cursor.
Crie um ambiente dedicado e instale o par Core/MCP correspondente:
python3 --version
python3 -m venv ~/.local/share/fcop/venv
~/.local/share/fcop/venv/bin/python -m pip install --upgrade \
"fcop>=4.0.3,<4.1.0" \
"fcop-mcp>=4.0.3,<4.1.0"
Verifique a CLI e o catálogo MCP instalado:
~/.local/share/fcop/venv/bin/fcop version
~/.local/share/fcop/venv/bin/fcop doctor
~/.local/share/fcop/venv/bin/fcop tools --json
A CLI instalada fornece todos os nove comandos listados abaixo: init, status, inspect, validate, tools, doctor, version, spec e migrate. A configuração e inspeção da CLI não exigem um cliente de IA compatível com MCP.
Para MCP, configure o cliente com caminhos absolutos do macOS; não use ~ dentro da configuração do cliente:
{
"mcpServers": {
"fcop": {
"command": "/Users/YOUR_NAME/.local/share/fcop/venv/bin/python",
"args": ["-m", "fcop_mcp"],
"env": {
"FCOP_PROJECT_DIR": "/Users/YOUR_NAME/path/to/your-project"
}
}
}
}
Substitua YOUR_NAME e o caminho do projeto, depois reinicie ou reconecte o cliente MCP. FCOP_PROJECT_DIR aponta para o projeto que usará o FCoP, não para este repositório de origem.
Veja o resultado mínimo
O resultado visível não é apenas um pacote instalado: o trabalho formal torna-se arquivos inspecionáveis que outra sessão pode ler. O exemplo de transferência vinculado verifica esse resultado de ponta a ponta.
Por que colocar o trabalho fora do modelo?
“Eu terminei” é uma declaração em uma conversa. Um colega ainda precisa saber qual tarefa foi tentada, o que foi entregue, quem revisou e o que permanece sem solução. Manter esses fatos apenas em um chat faz com que uma transferência dependa da reconstrução desse chat.
O FCoP dá ao trabalho formal uma representação compartilhada: arquivos Markdown com metadados estruturados, identidades estáveis, relacionamentos explícitos e transições de estado registradas. Um agente pode escrevê-los, um humano pode abri-los e um script pode validá-los. A implementação de referência baseada em sistema de arquivos não precisa de banco de dados ou broker de mensagens.
| Registro | O que preserva | Por que importa |
|---|---|---|
| TASK | Atribuição, participantes e ciclo de vida | O próximo trabalhador pode localizar o trabalho e seu estado atual. |
| REPORT | Reivindicação de entrega e evidência para uma tentativa | “Submetido” permanece distinguível de “aceito.” |
| ISSUE | Um problema e seu contexto | Um bloqueador sobrevive à sessão que o descobriu. |
| REVIEW | Fatos de revisão, aceitação ou autorização | Decisões podem ser verificadas contra o trabalho e as evidências a que se referem. |
A persistência torna uma reivindicação inspecionável; não torna a reivindicação verdadeira. O FCoP verifica relacionamentos e portões do protocolo. Revisores avaliam a substância do trabalho entregue, e o Runtime do host fornece execução, agendamento e permissões.
CLI — Configuração Local, Inspeção e Diagnóstico
CLI = Configuração + Observação + Diagnóstico; MCP = Trabalho.
| Comando | Propósito |
|---|---|
fcop init | Inicializar um espaço de trabalho FCoP |
fcop status | Ver o status do espaço de trabalho |
fcop inspect | Inspecionar TASK / REPORT / ISSUE / REVIEW |
fcop validate | Validar a estrutura do protocolo |
fcop tools | Inspecionar o Catálogo de Ferramentas MCP instalado |
fcop doctor | Diagnosticar instalação, ambiente e compatibilidade |
fcop version | Mostrar versões instaladas |
fcop spec | Mostrar identidade de especificação / regra |
fcop migrate | Migrar explicitamente um espaço de trabalho legado; inspecionar o plano antes de aplicar |
Instalar e Verificar
Em um ambiente Python 3.10+ ativado:
python -m pip install fcop
fcop version
fcop doctor
fcop init --root ./my-project
fcop status --root ./my-project
fcop validate --root ./my-project
Para o Catálogo de Ferramentas MCP opcional:
python -m pip install fcop-mcp
fcop tools
fcop tools merge_branches --json
Uma vez instalado, a CLI pode inicializar, inspecionar, validar e diagnosticar localmente e offline.
doctor não acessa a rede nem modifica a configuração do Host. A instalação do pacote em si pode precisar de um índice de pacotes; a instalação offline requer pacotes disponíveis localmente.
A CLI não executa operações de create_task, aprovação, Branch, merge ou autorização de trabalho; use MCP ou a API Python para essas operações.
Instalar fcop não cria arquivos de instrução do Host. O estado normal do espaço de trabalho v4 pertence a <project>/fcop/, nunca em AGENTS.md, CLAUDE.md ou regras do Cursor na raiz do projeto.
O staging de inicialização atômica existente e as evidências de inicialização com falha são preservados; arquivos do cliente nunca são limpos automaticamente.
migrate é uma operação legada explícita separada, não uma etapa automática de atualização de pacote.
tools requer o pacote MCP opcional e nunca inicia um servidor nem o instala automaticamente.
Referência da CLI · 中文 CLI 参考.
Instalação manual, exemplos Python/MCP e referência da CLI (opcional)
4.0.1 introduziu create_branch, inspect_family e merge_branches;
4.0.3 preserva todas as 49 ferramentas e suas assinaturas. O Core é responsável pela convergência atômica,
idempotência durável e recuperação. Famílias inacabadas retornam family_digest: null,
merge_ready: false e razões estruturadas. O chamador fornece a conclusão semântica.
Veja o contrato e exemplo de merge de Branch / 中文合同.
Experimente: crie uma vez, leia de outro cliente
Em um ambiente virtual Python 3.10+ ativado, instale a biblioteca publicada:
python -m pip install "fcop==4.0.3"
Salve isto como demo.py e execute python demo.py. Ele escreve uma TASK real, abre o espaço de trabalho através de uma nova instância Project e então tenta novamente a solicitação original.
from pathlib import Path
from tempfile import TemporaryDirectory
from fcop import Project
with TemporaryDirectory(prefix="fcop-demo-") as directory:
root = Path(directory) / "workspace"
project = Project(root)
workspace = project.create_workspace(protocol_version="4.0")
request = dict(
workspace_id=workspace["workspace_id"],
operation_id="demo-create-1",
sender="ME", recipient="ME",
subject="Inspect this handoff",
body="Read the task and check the evidence before accepting delivery.",
)
first = project.create_task(**request)
next_client = Project(root)
state = next_client.inspect_state(task_id=first["task_id"])
retry = next_client.create_task(**request)
assert Path(state["path"]).is_file()
assert retry["existing"] and retry["task_id"] == first["task_id"]
print("State read from disk:", state["stage"])
print("Same task after retry:", retry["task_id"] == first["task_id"])
State read from disk: inbox
Same task after retry: True
O exemplo limpa seu diretório temporário ao sair. Use seu próprio diretório de projeto para reter os arquivos. Tentar novamente create_task com o mesmo operation_id e payload normalizado reutiliza seu resultado durável; alterar o payload é um conflito. Essa garantia é especificamente para a criação de tarefas.
Continue com o guia de configuração e versão 4.0 para um espaço de trabalho duradouro, operações de ciclo de vida e a autorização necessária para concluir uma tarefa.
Dê ao seu agente as mesmas operações através do MCP
O adaptador opcional expõe o FCoP a um cliente compatível com MCP via stdio. Instale-o no mesmo ambiente ativado:
python -m pip install "fcop==4.0.3" "fcop-mcp==4.0.3"
Adicione esta entrada à configuração MCP do cliente. Substitua ambos os caminhos absolutos; no Windows, o comando termina em .venv/Scripts/fcop-mcp.exe.
{
"mcpServers": {
"fcop": {
"command": "/absolute/path/to/.venv/bin/fcop-mcp",
"env": {"FCOP_PROJECT_DIR": "/absolute/path/to/new-workspace"}
}
}
}
Uma vez conectado, inicialize um espaço de trabalho novo com init_solo(role_code="ME", protocol_version="4.0"). Use sua identidade de espaço de trabalho ao chamar create_task, depois inspecione a TASK com inspect_task(filename=task_id). Instalar um servidor MCP sozinho não inicializa um espaço de trabalho nem inicia uma equipe de agentes.
49 ferramentas / 12 recursos / 4 modelos de recursos. O adaptador roteia para o mesmo Core Python. A inicialização padrão não tem Perfil de autorização confiável: criação, reivindicação e submissão estão disponíveis, mas aceitação, rejeição, reabertura e arquivamento exigem um Perfil adotado explicitamente e um avaliador de emissor registrado pelo host confiável. Um nome de função digitado em uma solicitação não pode fornecer essa autoridade.
Referência de ferramentas MCP · Exemplo Python externo estável · Exemplo MCP externo estável. Os exemplos completos incluem um Perfil educacional; uma implantação real deve fornecer sua própria política de confiança.
De uma reivindicação de entrega a um resultado aceito
Cada TASK segue um ciclo de vida ordenado. No 4.0, entrar em active inicia uma nova tentativa, e a submissão vincula o REPORT dessa tentativa. A aceitação então vincula a revisão e a autorização às evidências atuais.
active → done está ausente no 4.0. Reabrir através de reopen_task cria uma nova tentativa para tarefas comuns, bem como Branches. Um REPORT antigo não pode satisfazer o portão de submissão de uma nova tentativa. Veja o ciclo de vida completo e contratos C1–C8 · 中文规范.
Trabalho paralelo, com uma maneira explícita de terminar
Vários fluxos de trabalho ordenados podem avançar concorrentemente. Um Branch é uma TASK comum vinculada a uma Root por branch_of; Branches irmãos mantêm suas próprias tentativas, relatórios e revisões. Seu Runtime decide quem os executa e quando.
Antes que uma Root com Branches possa ser arquivada, o FCoP verifica Branches concluídos, seus REPORTs atuais, um family_digest correspondente, um REVIEW de convergência e autorização separada de arquivamento da Root. Um Branch reaberto ou REPORT alterado invalida a convergência obsoleta. Escritas relacionadas compartilham um curto limite de commit; os agentes não seguram esse bloqueio enquanto fazem seu trabalho. Isso fecha um conjunto de evidências; a integração de código permanece responsabilidade da aplicação.
Um pequeno protocolo dentro de um sistema de agente maior
Outra implementação deve ser capaz de preservar as mesmas semânticas de trabalho sem copiar uma biblioteca Python específica, lista de ferramentas MCP ou produto.
| Camada | Responsabilidade |
|---|---|
| Core | C1–C8: identidade, envelopes, ciclo de vida, relações, convergência, autorização, idempotência de criação e recuperação atômica. |
| Especificação | Definir os campos, transições de estado, erros e comportamento observável. |
| Conformidade | Verificar implementações contra esses contratos usando fixtures, vetores e testes comportamentais. |
| Toolkit | Implementar e expor o protocolo; este repositório fornece Python e o adaptador MCP. |
| Perfil | Fornecer política organizacional e autoridade de emissor; funções fixas de PM/DEV/QA não são regras universais do Core. |
| Runtime | Executar modelos e ferramentas, gerenciar sessões, agendar trabalho e fornecer a interface do usuário. |
Leia a explicação do design: English · 简体中文. Ela desenvolve o raciocínio por trás de arquivos, entrega e aceitação separadas, trabalho paralelo e os limites entre FCoP, MCP e um Runtime.
Princípios de arquitetura: cinco ensaios completos em chinês, publicados em 10 de setembro de 2026 e revisados contra o 4.0:
- Trabalho além do contexto do modelo: por que arquivos?
- Extraindo o núcleo mínimo do FCoP
- Separando Núcleo, Especificação, Kit de Ferramentas, Perfil e Runtime
- Trabalho paralelo por meio de ciclos de vida de tarefas ordenados
- Como FCoP, MCP, A2A e CodeFlowMu se encaixam
Guia da série (中文) · Todos os cinco ensaios (中文)
O 4.0.3 distribui nove módulos de regras bilíngues por meio de recursos do pacote e do MCP, com manifestos estritos e assemblies sequential, parallel e repository-development separados. Instale → conecte o MCP → inicialize o workspace → use o FCoP. O FCoP possui <project>/fcop/, não arquivos de instrução do Host na raiz do projeto. Projeção do Host, adoção, implantação e reversão foram descontinuadas; redeploy_rules é Legacy v1–v3 apenas e rejeita v4 com zero gravações. Os arquivos existentes dos clientes permanecem inalterados. Recursos de regras / 规则资源.
Artigos, evidências e citação
Esses recursos são diretamente acessíveis; a leitura da coleção de ensaios é opcional.
| Recurso | Ler ou citar |
|---|---|
| Whitepaper de arquitetura | Inglês · 中文 — contexto histórico de pesquisa |
| Arquivo 3.2.5 | Zenodo DOI 10.5281/zenodo.20457285 · OSF DOI 10.17605/OSF.IO/92NWM |
| Instantâneo de pesquisa de abril de 2026 | Zenodo DOI 10.5281/zenodo.19886036 · Metadados de citação |
| 17 relatórios de campo e ensaios de design | Índice completo · 中文目录, incluindo links de publicação original e evidências |
Escolha o arquivo correspondente à versão que você estudou. Os DOIs históricos acima não são identificadores para 4.0.0; use a versão e a especificação versionadas ao discutir o comportamento atual.
Três repositórios, três pontos de entrada
| Repositório | Comece aqui para |
|---|---|
| FCoP | Projeto open-source principal: protocolo, biblioteca Python e servidor MCP; use, implemente ou contribua com a camada de coordenação. |
| joinwell52 | Pesquisa e comunicação: estudos sobre Agentes de IA, funcionários digitais e engenharia. |
| CodeflowMu-Distribution | Experiência do produto: aplicativo empacotado e downloads; consulte as notas de versão para versões suportadas. |
O FCoP é utilizável de forma independente sob a licença MIT. A distribuição do produto possui seu próprio licenciamento e cronograma de versões.
Marque o FCoP com estrela para salvar o protocolo e sua implementação. Para ajudar a melhorá-lo, compartilhe um problema de integração reproduzível, um exemplo do seu host ou um teste do comportamento público do protocolo por meio de Issues ou de um pull request.
Versões e instalações existentes
- 4.0.0: Notas de versão · Changelog · Decisões de arquitetura. A publicação seguiu o gate
FCOP_4_STABLE_RELEASE_READYregistrado; os usuários instalam o par estável do PyPI acima. - Candidato a versão: 4.0.0rc1 — mantido como pré-lançamento histórico.
- Workspaces 3.x: mantêm sua semântica original até migração explícita. Especificação legada EN · ZH.
finish_taske ferramentas de histórico legadas permanecem detectáveis, mas rejeitam workspaces v4. - Prompts de instalação legados: EN · ZH, também disponíveis em
fcop://prompt/install. Estes são materiais históricos de configuração; use o guia 4.0 acima para a versão atual.
