Repository navigation
Closed
Labels
area:docsDocumentação em PT-BR e notas de releaseDocumentação em PT-BR e notas de release
Milestone
Description
Contexto
O README.md ainda é o do Manifest: seções "Cloud version" e "Deploy with one click", badges e assets em .github/assets (api-bot-readme-banner.png, logos, home-gh*.png). Não há documentação do usuário em PT-BR. A instalação via Docker é o único caminho oficial. A atribuição do logo depende de #10, e a seção de privacidade depende de #11 (decidida: ADR 0003) e da implementação dela, #39.
Escopo
-
README.mdem PT-BR:- o que é o Thinker;
- origem (snapshot do
mnfst/llm-gatewaymanifest@6.28.6, MIT, crédito à MNFST, Inc.); - quick start Docker (
install.she compose manual); - harnesses suportados, links para a documentação e licença;
- atribuição do logo (texto de Logo: autor, licença e atribuição do ícone Flaticon 5337422 #10).
Remover as seções Cloud e "Deploy with one click" e os badges da Manifest. Limpar.github/assets.
-
docs/usuario/com:instalacao-docker.md: requisitos;install.sh; compose manual; variáveis obrigatórias (BETTER_AUTH_SECRET+THINKER_ENCRYPTION_KEY); porta 2099,HOST_BIND_ADDRESSeBETTER_AUTH_URL; proxy reverso com HTTPS; atualização manual de versão (não há aviso de update); backup do volumethinker_pgdata;configuracao.md: referência de variáveisTHINKER_*e das demais; gravações (30 dias, S3); e-mail; login social; MCP; cadastro fechado eTHINKER_ALLOW_SIGNUP(se aprovada em Fechar o cadastro público depois do primeiro admin #29);primeiros-passos.md: setup do admin, conectar um provedor, criar um agente e a chavethk_, configurar Claude Code, Codex, OpenClaw/Hermes, OpenCode e os SDKs;cli.md: instalação local e comandos da CLIthinker;erros.md: códigosM###, destino dos links de Rebranding do backend: textos, e-mails, MCP e atribuição de provedores #22;privacidade.md: o produto não faz phone-home. Lista exata e completa de todo destino de saída que sobrar no código depois da v0.1, cada um com o gatilho e como desligar. Hoje a lista prevista é:- catálogos públicos, a única exceção à regra "sem phone-home" (ADR 0003, implementada em Catálogos públicos: chave THINKER_CATALOG_SYNC e OpenCode Go só com provedor cadastrado #39):
openrouter.ai/api/v1/modelsemodels.dev/api.json(boot e uma vez por dia), eraw.githubusercontent.com/anomalyco/opencode/...(só se houver um provedor OpenCode Go cadastrado). Os três são desligados porTHINKER_CATALOG_SYNC=false; nesse caso, os custos vêm dos dados embutidos na imagem e muitos modelos ficam sem preço; - provedores que o operador configurou: APIs de inferência e de listagem de modelos (incluindo Ollama Cloud em
ollama.come oOLLAMA_HOSTlocal), e as URLs de provedores customizados, inclusive na LAN; - fluxos OAuth e de assinatura dos provedores que o operador conecta (ex.:
auth.openai.com,claude.ai/console.anthropic.com,accounts.google.com/oauth2.googleapis.com/cloudcode-pa.googleapis.com,api.github.com/copilot_internal,auth.x.ai, AWS SSO); a lista sai derouting/oautherouting/proxy/provider-endpoints.tsno momento da escrita; - e-mail, se
EMAIL_PROVIDERestiver definido (Resend, SendGrid, Mailgun); - login social, se configurado (Google, GitHub, Discord);
- armazenamento S3 das gravações, se configurado (
THINKER_RECORDING_S3_ENDPOINT); - CIMD do MCP: o documento de metadados na URL
client_idHTTPS informada por um cliente MCP durante o OAuth; só endereços públicos, salvoTHINKER_CIMD_ALLOW_PRIVATE=true(Modo único self-hosted: remover MANIFEST_MODE #18).
Dizer explicitamente quemodelparams.dev(removido em Remover phone-home do backend e da CLI #17), telemetria, update-check e Sentry não existem, e que o dashboard não faz requisições a terceiros (os links externos só abrem por clique). Odocs-ptbrconfere a lista com obackend-devcontra o código (grepporfetch(e URLs fixas empackages/backend/src) antes do merge;
- catálogos públicos, a única exceção à regra "sem phone-home" (ADR 0003, implementada em Catálogos públicos: chave THINKER_CATALOG_SYNC e OpenCode Go só com provedor cadastrado #39):
deploy-comunidade.md: templates não testados.
-
docs/providers/subscription-based-providers.md→ traduzir para PT-BR no mesmo caminho (docs/providers/, para ondeProviderSubscriptionTab.tsxaponta desde Rebranding do dashboard #25), com o nomeprovedores-por-assinatura.md(o link de Rebranding do dashboard #25 aponta para a pasta). É documentação do usuário (como reaproveitar planos pagos), então não pode ficar em inglês. -
docker/DOCKER_README.md: descrição curta em PT-BR para o Docker Hub.
Fora de escopo
- Guia do desenvolvedor (Guia do desenvolvedor do Thinker #32).
- Notas de release (Release 0.1.0 e primeira imagem no Docker Hub #35).
Critérios de aceite
- Seguindo só
instalacao-docker.mdnuma máquina limpa, oqa-docker(ou o usuário) sobe a instância e chega ao primeiro chat via mock. - Todos os links internos resolvem.
- A lista de
privacidade.mdfoi conferida contra o código pelobackend-dev(registro no PR); Baseline do qa-docker: smoke e e2e da imagem v0.1 #34 confirma na rede que nenhum destino fora dela é contatado. node scripts/check-legacy-names.js --strictnão acusa nada nos arquivos tocados por esta issue.
Dependências
- Logo: autor, licença e atribuição do ícone Flaticon 5337422 #10, Catálogos externos de modelos e preços versus a regra de não fazer phone-home #11
- Catálogos públicos: chave THINKER_CATALOG_SYNC e OpenCode Go só com provedor cadastrado #39: a chave
THINKER_CATALOG_SYNCe o gate do OpenCode Go, descritos emprivacidade.mdeconfiguracao.md. - Docker, Compose e instalador do Thinker #26, CLI thinker #23, THINKER_ENCRYPTION_KEY obrigatória e separada do BETTER_AUTH_SECRET #27, Gravações de requisição: retenção padrão de 30 dias #28, Fechar o cadastro público depois do primeiro admin #29, Templates de deploy da comunidade #30, Release, Changesets 0.1.0 e publicação no Docker Hub #31
Agente responsável
docs-ptbr
Metadata
Metadata
Assignees
Labels
area:docsDocumentação em PT-BR e notas de releaseDocumentação em PT-BR e notas de release
Activity
patrickbrandao commentedon Oct 11, 2026
ANTHROPIC_API_KEY(virax-api-key) ouANTHROPIC_AUTH_TOKEN(vira Bearer), apontando para a chavethk_do harness. Se as duas estiverem definidas com valores diferentes, o gateway responde M006 (Gateway: aceitar x-api-key (SDK Anthropic) além de Bearer #61, PR feat(gateway): accept x-api-key as an agent key transport #63).patrickbrandao commentedon Oct 11, 2026
Da QA do PR #71, para a documentação de instalação e operação: a verificação de token do MCP busca o JWKS em
BETTER_AUTH_URL. Se essa URL não for acessível de dentro do container (porta do host diferente da interna semPORTcorrespondente, ou URL pública que o container não alcança), as chamadas MCP respondem 401no token payload. Documentar:BETTER_AUTH_URLprecisa ser alcançável de dentro do container; atrás de proxy reverso, garantir a resolução do nome ou o hairpin NAT.patrickbrandao commentedon Oct 11, 2026
Restos do #60 (#15) para o README e a documentação: o badge de estrelas do GitHub em
README.md:24edocker/DOCKER_README.md:11, a linha "Gemini Free" emREADME.md:100e emdashboard-redesign-brief.md:189.