{"_id":"@arvoretech/pi-slack-agent","_rev":"2-10d5f05c367b39bc8a390086107a103d","name":"@arvoretech/pi-slack-agent","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@arvoretech/pi-slack-agent","version":"0.1.0","keywords":["pi","slack","agent","rpc","streaming","thinking-steps"],"author":{"name":"Arvore"},"license":"MIT","_id":"@arvoretech/pi-slack-agent@0.1.0","maintainers":[{"name":"joao.barros.arvore","email":"joao.barros@arvore.com.br"},{"name":"rafsouza","email":"rafasouza@protonmail.com"},{"name":"pedro.adas","email":"pedro.adas@gmail.com"},{"name":"guilhermebs","email":"guilhermebscontact@gmail.com"},{"name":"ricardoraposorfox","email":"ricardorbxx1@gmail.com"},{"name":"jott4","email":"jvgcunha2002@gmail.com"},{"name":"vitor.piovezan","email":"vitor.piovezan@arvore.com.br"}],"homepage":"https://github.com/arvoreeducacao/arvore-pi-extensions#readme","bugs":{"url":"https://github.com/arvoreeducacao/arvore-pi-extensions/issues"},"bin":{"pi-slack-agent":"dist/cli.js"},"dist":{"shasum":"0b8ae69b0820c09ff7d26ea3b9d175343a021ec4","tarball":"https://registry.npmjs.org/@arvoretech/pi-slack-agent/-/pi-slack-agent-0.1.0.tgz","fileCount":26,"integrity":"sha512-oADP5nn66aOYSzY/8EvEogbfpV1zJU7hxstbGbOfNOKUtq+VVSor0wO8bwxBWMbS0w+SLG3Xd6TEV+IxV8kVtQ==","signatures":[{"sig":"MEUCIHJG5Q/i4LcjoDkuAGEq3nwMbw+phUuUitDDlT1AUMUVAiEAz9ei6zzq6+0H9dn0JDg1VVr6juStFb70YuLDVLx8l8E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47016},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"7ad745b366a7ecbf75ae89886d0bc1b4e7c4695c","scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","build":"tsc","start":"node dist/cli.js"},"_npmUser":{"name":"guilhermebs","email":"guilhermebscontact@gmail.com"},"repository":{"url":"git+https://github.com/arvoreeducacao/arvore-pi-extensions.git","type":"git","directory":"packages/slack-agent"},"_npmVersion":"10.9.3","description":"Slack Agent that drives Pi via RPC with native streaming, thinking steps, and assistant APIs","directories":{},"_nodeVersion":"22.19.0","dependencies":{"@slack/bolt":"4.7.3","@slack/web-api":"7.17.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-slack-agent_0.1.0_1781799145669_0.7299070383840169","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@arvoretech/pi-slack-agent","version":"0.1.1","description":"Slack Agent that drives Pi via RPC with native streaming, thinking steps, and assistant APIs","type":"module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"pi-slack-agent":"dist/cli.js"},"dependencies":{"@slack/bolt":"4.7.3","@slack/web-api":"7.17.0"},"devDependencies":{"@types/node":"^20.10.0","typescript":"^5.3.0"},"engines":{"node":">=20.0.0"},"keywords":["pi","slack","agent","rpc","streaming","thinking-steps"],"repository":{"type":"git","url":"git+https://github.com/arvoreeducacao/arvore-pi-extensions.git","directory":"packages/slack-agent"},"author":{"name":"Arvore"},"license":"MIT","scripts":{"build":"tsc","dev":"tsc --watch","start":"node dist/cli.js","lint":"tsc --noEmit"},"_id":"@arvoretech/pi-slack-agent@0.1.1","bugs":{"url":"https://github.com/arvoreeducacao/arvore-pi-extensions/issues"},"homepage":"https://github.com/arvoreeducacao/arvore-pi-extensions#readme","_integrity":"sha512-DYDFpnDhTNt1cjHx2QSrdm6rjRwjLCLrwMsA1ZuzUmIYkrdQ0QdgzAAZIgElhntTRYchXh1DAo0ay0UcO5IUqA==","_resolved":"/tmp/arvoretech-pi-slack-agent-0.1.1.tgz","_from":"file:/tmp/arvoretech-pi-slack-agent-0.1.1.tgz","_nodeVersion":"22.22.3","_npmVersion":"11.17.0","dist":{"integrity":"sha512-DYDFpnDhTNt1cjHx2QSrdm6rjRwjLCLrwMsA1ZuzUmIYkrdQ0QdgzAAZIgElhntTRYchXh1DAo0ay0UcO5IUqA==","shasum":"4b7cbb8f795c7994d7ef300e28c21d39a959d041","tarball":"https://registry.npmjs.org/@arvoretech/pi-slack-agent/-/pi-slack-agent-0.1.1.tgz","fileCount":26,"unpackedSize":46876,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arvoretech%2fpi-slack-agent@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIE+dhJ+dTLLDzspSQ5g8CXUh035gC4E7W0DNrVun6+dlAiEAtkQB+5yZaq58vIicaRO9uRfzOtHYIbP4JOMFixJiC+8="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:46fb0bbe-7de6-4094-aace-98949cbedd7c"}},"directories":{},"maintainers":[{"name":"joao.barros.arvore","email":"joao.barros@arvore.com.br"},{"name":"rafsouza","email":"rafasouza@protonmail.com"},{"name":"pedro.adas","email":"pedro.adas@gmail.com"},{"name":"guilhermebs","email":"guilhermebscontact@gmail.com"},{"name":"ricardoraposorfox","email":"ricardorbxx1@gmail.com"},{"name":"jott4","email":"jvgcunha2002@gmail.com"},{"name":"vitor.piovezan","email":"vitor.piovezan@arvore.com.br"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-slack-agent_0.1.1_1781799720061_0.7674279659654801"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-18T16:12:25.483Z","modified":"2026-06-18T16:22:00.583Z","0.1.0":"2026-06-18T16:12:25.838Z","0.1.1":"2026-06-18T16:22:00.193Z"},"bugs":{"url":"https://github.com/arvoreeducacao/arvore-pi-extensions/issues"},"author":{"name":"Arvore"},"license":"MIT","homepage":"https://github.com/arvoreeducacao/arvore-pi-extensions#readme","keywords":["pi","slack","agent","rpc","streaming","thinking-steps"],"repository":{"type":"git","url":"git+https://github.com/arvoreeducacao/arvore-pi-extensions.git","directory":"packages/slack-agent"},"description":"Slack Agent that drives Pi via RPC with native streaming, thinking steps, and assistant APIs","maintainers":[{"name":"joao.barros.arvore","email":"joao.barros@arvore.com.br"},{"name":"rafsouza","email":"rafasouza@protonmail.com"},{"name":"pedro.adas","email":"pedro.adas@gmail.com"},{"name":"guilhermebs","email":"guilhermebscontact@gmail.com"},{"name":"ricardoraposorfox","email":"ricardorbxx1@gmail.com"},{"name":"jott4","email":"jvgcunha2002@gmail.com"},{"name":"vitor.piovezan","email":"vitor.piovezan@arvore.com.br"}],"readme":"# Pi Agent — Slack\n\nAgente de IA no Slack que conecta o [Pi](https://github.com/earendil-works/pi) como agente nativo, com streaming em tempo real, thinking steps e suporte a imagens.\n\n## Setup rápido (5 min)\n\n### 1. Crie o Slack App\n\n1. Vá em https://api.slack.com/apps → **Create New App** → **From a manifest**\n2. Selecione o workspace da Árvore\n3. Cole o conteúdo de [`manifest.json`](./manifest.json) \n4. Crie o app\n5. Em **Socket Mode** → gere um App-Level Token com scope `connections:write` → copie o `xapp-...`\n6. Em **Install App** → instale no workspace → copie o Bot Token `xoxb-...`\n7. Em **App Home** → ative **Messages Tab** e marque \"Allow users to send messages from the chat tab\"\n\n### 2. Descubra seu Slack User ID\n\nNo Slack: clique no seu perfil → `⋮` → **Copy member ID** (formato `U...`)\n\n### 3. Configure o `.env`\n\n```bash\ncd packages/slack-agent\ncp .env.example .env\n```\n\nEdite o `.env`:\n```env\nSLACK_BOT_TOKEN=xoxb-seu-token\nSLACK_APP_TOKEN=xapp-seu-token\nALLOWED_USER_IDS=seu-user-id\nANTHROPIC_API_KEY=sk-ant-sua-key\nWORKSPACE_PATH=/caminho/dos/seus/repos\n```\n\n### 4. Rode\n\n**Com Docker (recomendado):**\n```bash\ndocker compose up -d\n```\n\n**Sem Docker:**\n```bash\npnpm install && pnpm build\nnode dist/cli.js\n```\n\n### 5. Use\n\nAbra o Slack → busque \"Pi Agent\" nos apps → mande uma mensagem. Cada thread é uma sessão independente.\n\n## Features\n\n| Feature | Descrição |\n|---|---|\n| Streaming | Respostas aparecem em tempo real |\n| Thinking Steps | Cada tool executada aparece como task card com status |\n| Imagens | Cole screenshots/figmas e o Pi analisa |\n| Steering | Mande outra mensagem durante execução para corrigir o rumo |\n| Suggested Prompts | Botões prontos ao abrir o agent |\n| Thread = Sessão | Cada thread é uma sessão Pi persistente |\n\n## Comandos úteis\n\n```bash\n# Ver logs\ndocker logs -f slack-agent-pi-slack-agent-1\n\n# Parar\ndocker compose down\n\n# Rebuild após mudanças\ndocker compose up -d --build\n```\n\n## Variáveis de ambiente\n\n| Variável | Obrigatória | Descrição |\n|---|---|---|\n| `SLACK_BOT_TOKEN` | sim | Bot token `xoxb-...` |\n| `SLACK_APP_TOKEN` | sim | App-level token `xapp-...` |\n| `ALLOWED_USER_IDS` | sim | Seu Slack user ID (vírgula-separados se >1) |\n| `ANTHROPIC_API_KEY` | sim | API key do Anthropic (para o Pi usar Claude) |\n| `WORKSPACE_PATH` | sim | Caminho dos repos na sua máquina |\n| `PI_MODEL` | não | Modelo (default: Pi decide) |\n\n## Segurança\n\n- O agent tem acesso **total** aos repos montados (leitura + escrita + bash)\n- Só user IDs na allowlist podem usar\n- Rode apenas na sua própria máquina\n","readmeFilename":"README.md"}