Tipo de página: docs
Primeiros passos
Execute o site Astro e o plano de controle Phoenix localmente e, em seguida, percorra o fluxo de trabalho alfa atual.
Resposta direta
Execute o site Astro e o plano de controle Phoenix localmente e, em seguida, percorra o fluxo de trabalho alfa atual.
Conteúdo fonte
# Primeiros passos TextTree é dividido em dois aplicativos: - `apps/site` para o site público Astro - `apps/web` para o aplicativo Phoenix, API do desenvolvedor, webhooks e endpoints MCP ## Fluxo de trabalho local 1. Instale Node 22+, Elixir 1.19+, Erlang/OTP 28+ e PostgreSQL. 2. Copie `apps/web/.env.example` para `apps/web/.env.local`. 3. Copie `apps/site/.env.example` para `apps/site/.env.local`. 4. Gere um token de envio Proton SMTP antes de enviar e-mails locais reais. 5. Execute `pnpm setup` na raiz do repositório. 6. Inicie o Astro com `pnpm --dir apps/site dev`. 7. Inicie o Phoenix com `cd apps/web && mix phx.server`. ## URLs locais - Site público astro: `http://localhost:4321` - Aplicativo e API Phoenix: `http://localhost:4001` ## Grupos ambientais As variáveis de ambiente são organizadas por responsabilidade: - Ambiente de execução local Phoenix: `apps/web/.env.local` - Configuração pública do Astro local: `apps/site/.env.local` - operações de implantação/gerenciamento de produção: `devops/env/prod.env.local` - testar operações de implantação/gerenciamento: `devops/env/test.env.local` Não use arquivos env na raiz. Somente arquivos de amostra são versionados por escopo. ## Modo de autenticação Configure `TEXTREE_AUTH_MODE` no tempo de execução do Phoenix para escolher qual Os métodos de registro e login são visíveis. | Valor | Interface de registro/login | Habilitado nos bastidores | Requer entrega de correio? | Uso típico | | --- | --- | --- | --- | --- | | `magic_link_or_ethereum` | Apenas link mágico por correio e carteira Ethereum. Solana, Google e e-mail/senha estão ocultos. | Link mágico via e-mail, e-mail/senha e carteira Ethereum. | Sim, configure o SMTP. | Modo de inicialização padrão atual. | | `wallet_only` | Apenas botões de carteira Ethereum e Solana. O link mágico por correio, Google e e-mail/senha estão ocultos. | Carteira Ethereum e Solana. | Não. | Liberação somente criptográfica ou entrega de correio não verificado. | | `wallet_first` | Botões de carteira, Google, link mágico por correio e e-mail/senha. | Carteiras, Google, link mágico por email e email/senha. | Sim, configure o SMTP. | Ampla superfície de autenticação após verificação de correio e OAuth. | | `full` | Google, link mágico de e-mail, e-mail/senha e botões de carteira. | Google, link mágico por correio, email/senha e carteiras. | Sim, configure o SMTP. | Superfície completa de autenticação no navegador para versões posteriores. | Para qualquer modo que mostre links mágicos por correio, defina `TEXTREE_MAILER_ADAPTER=smtp` e as variáveis `TEXTREE_SMTP_*` antes de iniciar e, em seguida, execute `mix textree.email.test recipient@example.com`. ## Primeiro fluxo de trabalho alfa Assim que a pilha estiver instalada e funcionando: 1. Registre-se ou faça login via TextTree em `/signup` ou `/login`, ou crie um conta de agente headless com `POST /api/v1/accounts` ou `POST /mcp/accounts`. 2. Abra `/app`. 3. Crie ou recupere um token de acesso ao portador TextTree `txt_...` com `messages:write`. 4. Adicione saldo de SMS pré-pago com uma fatura de financiamento em USDC. 5. Verifique o status da fatura até que o saldo seja creditado. 6. Confirme se o destinatário não está sendo excluído do espaço de trabalho. 7. Use o token de acesso ao portador do TextTree em relação ao `POST /api/v1/messages`. 8. Verifique `GET /api/v1/messages/:id` ou inspecione `/app` para status de fornecedor e financiamento. ## Integração programática A API atual expõe configurações de inicialização e inicialização da conta para usuários e agentes autenticados:- `POST /api/v1/accounts` para criar contas headless com nome de usuário/senha - `POST /mcp/accounts` para o mesmo bootstrap sem cabeça no namespace MCP -`GET /api/v1/onboarding` com `onboarding:read` - `POST /api/v1/onboarding/api-key` com `onboarding:write` para emitir um token de portador `txt_...` com escopos -`POST /api/v1/onboarding/funding-invoices` com `onboarding:write` -`GET /api/v1/onboarding/funding-invoices/:id` com `onboarding:read` -`POST /api/v1/onboarding/branded-request` com `onboarding:write` Headless bootstrap retorna códigos de backup únicos e um token de portador `txt_...` de TextTree com escopos API/MCP. O mesmo status de financiamento está disponível para agentes por meio de Ferramentas MCP `onboarding.status`, `onboarding.create_invoice` e `onboarding.invoice_status`. ## Comandos de verificação -`pnpm test` -`pnpm verify` -`pnpm app:test` -`pnpm www:check` -`pnpm www:build` ## O que a versão alfa atual garante - namespaces de rota estáveis - Configuração Ecto pronta para neon - Filas Oban para trabalho de correio e webhooks - autenticação nativa Phoenix e normalização de identidade local - aplicação de exclusões de espaço de trabalho e campanha - Reconciliação de STOP/exclusão do fornecedor em exclusões de espaço de trabalho - autorização de despesas antes da execução no fornecedor - ingestão verificada de webhooks de mensagens e financiamento - Auditorias de execução de MCP, cotas e política de tempo de espera ## O que ainda não é público A versão alfa atual ainda mantém algumas das configurações críticas no aplicativo autenticado em vez de Terminais de API públicos: - gerenciamento de exclusões de espaços de trabalho/campanhas - gerenciamento de limites de gastos - rotação de código substituto no navegador após inicialização inicial sem cabeça