Documentação
A sua stack.Já suportada.
Python, TypeScript, OpenAI, LangChain, n8n.Dois clientes sem dependências de execução, adaptadores que registam as chamadas que já faz e uma receita n8n sem código.
Fale connoscoPython
Só biblioteca standard, Python 3.9 ou superior. O AgentClient usa a chave de ingestão do agente; o Client usa um token de serviço bfk_ com âmbito (leitura ou escrita). As chamadas idempotentes repetem em erros de rede e 5xx; a ingestão só repete se todas as mensagens tiverem id. Os erros levantam ApiError com status, code e message.
from blue_falnoa import AgentClient, Client
bf = AgentClient(url, "bfa_…") # ingest key of one agent
bf.send_messages("c1", [{"id": "m1", "role": "user", "content": "Hello"}])
bf.search_knowledge("refund window")
Client(url, "bfk_…").approve(occurrence_id, reason="Checked") # service token, write scopeTypeScript
Usa fetch, Node 18 ou superior, ou um browser. Os mesmos dois clientes, com ApiError a trazer status e code.
import { AgentClient, Client } from "@blue-falnoa/sdk";
const bf = new AgentClient(url, "bfa_…");
await bf.sendMessages("c1", [{ id: "m1", role: "user", content: "Hello" }]);
console.log(await bf.doctor());
await new Client(url, "bfk_…").approve(occurrenceId, "Checked");OpenAI
record_openai (Python) e recordOpenAI (TypeScript) enviam a última pergunta, a resposta e os tokens de uma resposta de chat.
from blue_falnoa import AgentClient, record_openai
bf = AgentClient(url, "bfa_…")
messages = [{"role": "user", "content": "Where is my order?"}]
response = openai.chat.completions.create(model="gpt-4o-mini", messages=messages)
record_openai(bf, "order-123", messages, response) # question, answer and tokensLangChain
Um handler de callbacks. Passe-o em callbacks e cada chamada fica registada.
from blue_falnoa import AgentClient, LangChainHandler
bf = AgentClient(url, "bfa_…")
llm.invoke("Where is my order?", config={"callbacks": [LangChainHandler(bf, "order-123")]})n8n
Sem nó especial: um nó HTTP Request com a chave de ingestão num cabeçalho chega.
HTTP Request node
Method: POST
URL: https://YOUR-INSTANCE/api/agent/v1/conversations/{{ $execution.id }}/messages
Header: Authorization = Bearer bfa_…
Body (JSON):
{
"messages": [
{ "role": "user", "content": "{{ $json.question }}" },
{ "role": "assistant", "content": "{{ $json.answer }}" }
]
}Os adaptadores leem objetos de resposta e são testados com simulações, não com fornecedores reais. Os fontes dos SDK são fornecidos por nós e não estão em registos públicos de pacotes.
Todos os guias
Início rápido
Crie uma chave, envie uma mensagem e veja o agente ligado.
API de agentes
Conversas, pesquisa de conhecimento, o doctor e passos A2A.
Gateway de ações
request_approval: pagar, enviar ou apagar só depois de uma pessoa aprovar.
Verificação offline
Verifique um pacote de evidência offline com o bf-verify, ou no browser.
