SLACK

Marque @tde. Hardware que você controla faz o trabalho.

Dois apps oficiais de Slack, um pipeline durável. O TDE Assistant responde menções @tde — e todo plano de mudança para num gate humano. Com Sync, isso roda no seu TDE self-hosted ou numa Machine que você designar. Com Enterprise, o trabalho de canal roda num Organization runtime incluso no plano — always-on, separado de cada laptop. O TDE Triage continua lendo o seu próprio ruído localmente e transforma demandas reais em tarefas revisáveis.

  • Sync ou Enterprise
  • Gate humano em toda mudança
  • 0 bot tokens no desktop
#eng-api · threadMOCKUP

mara

@tde checkout returns 500 when the cart is empty — can you fix it?

TDE APP

change · plan waiting for approval

  1. Reproduce the empty-cart 500 in the checkout API
  2. Add a guard + regression test
  3. Open a pull request against main
Approve planReject

mara

pode aprovar

TDE APP

Plan approved — task running on your machine

QUATRO AÇÕES

Cada menção vira exatamente uma coisa.

A classificação é um conjunto fechado de quatro políticas literais. O Assistant nunca improvisa um quinto comportamento.

reply

Responde na thread

Respostas diretas pra perguntas e contexto. Nunca cria tarefa, nunca pede aprovação.

@tde what does the retry backoff look like in the sync worker?

read_only_run

Investiga em somente-leitura

Investigação assíncrona num harness — Claude, Codex, TDE ou Ollama — forçado a somente-leitura pelo provider, com connectors cercados por projeto e zero segredos no prompt. Publica o resultado; nenhuma tarefa é criada.

@tde why did the nightly build fail on the migration step?

clarify

Devolve uma pergunta

Quando o pedido é ambíguo, você recebe exatamente uma pergunta de volta. Zero mutação no board.

@tde can you improve the onboarding?

change

Planeja e espera por você

Cria ou atualiza uma tarefa por thread com plano explícito — e fica bloqueada até um humano aprovar.

@tde add rate limiting to the public API endpoints

DA MENÇÃO À RESPOSTA

Um pipeline durável. Zero portas abertas.

Um admin do workspace instala o TDE Assistant uma vez pelo link público — sem criar app, sem gerar secret, sem colar token. Cada menção @tde percorre um caminho assinado, durável e idempotente até um runtime que só disca pra fora: seu host Sync no uso pessoal, ou o Organization runtime quando o Enterprise está ativo.

Nenhum runtime online? O evento espera de forma durável — nada se perde e nada é chutado. Hosts pessoais reconectam com backoff; o Organization runtime do Enterprise é provisionado com o plano e fica ligado para o trabalho de canal.

events.tde.sh → your machineLIVE PATH
  1. @tde num canal

    Canais públicos e privados onde o bot foi convidado. No Enterprise, cada canal pode mapear para um projeto; DMs ficam pessoais e nunca usam o Organization runtime.

    @tde

  2. Evento assinado

    A Events API do Slack entrega ao serviço de eventos da TDE, que valida a assinatura da requisição antes de qualquer outra coisa.

    x-slack-signature ✓

  3. Fila durável

    Cada evento é guardado com lease. Uma reentrega do Slack recebe a resposta original — nunca uma tarefa duplicada.

    lease · redelivery-safe

  4. WebSocket de saída

    Seu host Sync ou o Organization runtime disca pra fora até o router. Funciona atrás de NAT com zero portas abertas.

    wss:// dial-out · NAT ok

  5. Classificação semântica

    A mensagem vira exatamente uma de quatro ações: reply, read_only_run, clarify ou change.

    reply · read_only_run · clarify · change

  6. Board

    Um change cria ou atualiza uma tarefa por thread (TDE-N), com plano explícito, bloqueada até um humano aprovar — e transições de estágio podem escrever de volta na thread.

    1 task / thread · human gate

  7. Resposta na thread

    A resposta volta pelo router. O bot token é cifrado no servidor e nunca chega a nenhum desktop.

    AES-256-GCM · server-side

GATE HUMANO

O modelo nunca decide uma aprovação.

Dois jeitos de aprovar, um gate atômico. Os dois caminhos terminam na mesma checagem do lado do servidor — a inferência fica estruturalmente fora da decisão. No Enterprise, só approvers configurados passam no gate.

01

Botões com binding imutável

Approve plan e Reject são botões Block Kit amarrados a um task_id e um plan_id específicos. Um botão velho nunca aprova um plano mais novo.

02

Aprovação escrita, parseada de forma determinística

Responda “approve” ou “pode aprovar” na mesma thread. Um parser determinístico fora do caminho de inferência reconhece aprovações em inglês e português.

03

Uma tarefa por thread

Um change nunca se espalha: cria ou atualiza uma única tarefa, com plano de no máximo 8 passos, e espera.

Binding imutável

task_id: TDE-1873

plan_id: pl_09f2c4

Approve planReject

Frases que o parser aceita

approveaprovarpode aprovarrejectrejeitar

Parseadas por código determinístico, fora do modelo. O prefixo <@…> nunca é removido — uma mensagem dirigida a um humano nunca vira comando.

THREADS SÃO SESSÕES

Comece no Slack. Continue no TDE.

Cada thread do Slack é uma sessão de agente durável no runtime que a possui. Follow-ups na thread não precisam repetir o @tde — e você pode continuar a mesma conversa no AI Chat do TDE quando ela roda no seu host Sync.

01

Uma thread, uma sessão

O contexto da thread carrega até 30 mensagens; uma sessão roda até 30 turnos.

02

A mesma conversa nas duas superfícies

Abra a sessão no AI Chat do TDE e siga em frente — mesmo histórico, mesmo agente, mesma máquina.

03

Idempotente por construção

Se o Slack reentregar um evento, ele recebe a resposta original — nunca uma tarefa duplicada.

A visão real de tarefa do My Loop, mostrando uma tarefa criada pelo Slack com plano e atividade.

TDE TRIAGE

Sua própria caixa de entrada, triada na sua própria máquina.

O segundo app é um Bot local. A cada 15 minutos ele consulta suas DMs, conversas em grupo e canais com o seu user token — guardado no vault local cifrado do TDE, nunca num servidor — e julga o que é demanda de verdade.

O board real do My Loop onde demandas triadas do Slack chegam como tarefas no estágio Context.

01

Token local, vault local

Seu user token mora em ~/.tde/secrets.db, cifrado com uma chave no keyring do sistema. Ele nunca sai da máquina.

02

Demandas viram tarefas

Pedidos reais caem no estágio Context do My Loop; mensagens novas da mesma thread viram comentários ou notificações, nunca tarefas duplicadas.

03

Rascunhos, nunca posts

O Triage nunca escreve no Slack. A skill slack-triage, provisionada automaticamente, produz um rascunho de resposta pra revisão humana.

04

Budgets rígidos

50 mensagens por conversa e 10 chamadas de IA por rodada — passou disso, uma heurística determinística assume. A primeira conexão nunca tria o backlog de canal.

slack:C08…/1722Context

Customer asks how licensing works on air-gapped machines

Rascunho pronto pra revisão — nunca postado sozinho

DOIS APPS, UM OAUTH

Assistant e Triage, lado a lado.

Instalar o Assistant num workspace faz o backfill e vincula automaticamente identidades Triage existentes — e vice-versa. Um único OAuth cobre os dois.

AspectoTDE AssistantTDE Triage
IdentidadeApp bot do workspace, instalado uma vez por um adminSeu próprio usuário do Slack, conectado via QR no TDE Browser
TokenBot token cifrado no servidor (AES-256-GCM); nunca chega a um desktopUser token no vault local cifrado; nunca chega a um servidor
RuntimeSync: seu TDE self-hosted ou Machine escolhida. Enterprise: Organization runtime incluso no planoBot local por polling, a cada 15 minutos
GatilhoMenção @tde num canal onde o bot foi convidado; /tde tasks lista cards abertosCron; lê suas próprias DMs, conversas em grupo e canais
Visível no SlackSim — responde na thread como o botNão — nunca posta, só rascunhos pra sua revisão

MODELO DE SEGURANÇA

Escrito pro revisor paranoico.

A versão honesta, não a versão de folheto.

01

O bot token nunca viaja

Cifrado no servidor com AES-256-GCM e AAD por team. Nenhum desktop jamais o segura.

02

Assinatura validada na borda

Todo evento é validado contra a assinatura de requisição do Slack antes de tocar o pipeline.

03

Project fence, sempre

Roteamento canal→projeto e cercas de MCP/sandbox mantêm cada run dentro de um projeto. Relink de canal nunca mistura duas empresas no mesmo prompt.

04

Papéis no Enterprise

No Sync pessoal, autoriza o usuário linkado. No Enterprise, membros do workspace podem pedir; só approvers configurados aprovam mutações. DMs nunca usam o Organization runtime.

05

Texto é dado, não instrução

Conteúdo do Slack é tratado como dado, uma postura explícita anti prompt-injection. O prefixo <@…> nunca é removido.

06

Somente-leitura falha fechado

Investigações rodam em harnesses forçados a somente-leitura pelo provider, com connectors vinculados ao projeto e sem segredos no prompt.

07

Uma primária, com cerca

O Sync pessoal mantém um único Assistant host. O Organization runtime do Enterprise dono do tráfego de canais da org — laptops na mesma licença não competem por esses eventos.

Preciso criar um app de Slack?

Não. O TDE Assistant é um app distribuído: um admin do workspace instala uma vez pelo link público. Você nunca cria app, gera secret nem cola token — e instalar não exige TDE Desktop nem licença.

Sync ou Enterprise — o que roda o @tde?

Com Sync, o @tde roda no seu TDE self-hosted ou numa Machine comprada definida como Assistant host. Com Enterprise, menções de canal rodam num Organization runtime incluso no plano (always-on). DMs ficam pessoais e nunca usam esse runtime.

Posso mandar DM pro bot?

DMs ficam no caminho Sync pessoal quando habilitadas na sua conta — nunca roteiam para o Organization runtime. O trabalho do time é pensado para canais onde o bot foi convidado.

E se eu tiver várias máquinas?

Conecte quantos devices Sync quiser; um Assistant host pessoal é autoritativo. O Enterprise adiciona um Organization runtime separado para canais da org — não substitui a frota de laptops.

O /tde tasks está disponível?

Sim. Em canais onde o Assistant está instalado, /tde tasks lista cards abertos do Board daquele canal. Transições de estágio também podem escrever de volta na thread de origem.

TDE PARA SLACK

Coloque um runtime que você controla atrás das suas menções.

Instale o TDE, conecte o Slack uma vez, e cada @tde vira trabalho com responsabilidade atrás de um gate humano — no seu host Sync ou no Organization runtime incluso no Enterprise.