Skip to content

feat(slack): Manage PI Agent from Slack#14

Open
ryaneggz wants to merge 5 commits intodevelopmentfrom
feat/slack-mom
Open

feat(slack): Manage PI Agent from Slack#14
ryaneggz wants to merge 5 commits intodevelopmentfrom
feat/slack-mom

Conversation

@ryaneggz
Copy link
Copy Markdown
Owner

Summary

  • Integrate Mom (Master Of Mischief) Slack bot into Open Harness sandboxes
  • Mom runs in --sandbox=host mode inside the existing container — no Docker-in-Docker needed
  • Auto-starts on container boot when MOM_SLACK_APP_TOKEN and MOM_SLACK_BOT_TOKEN env vars are set
  • New Makefile targets: mom-start, mom-stop, mom-status for lifecycle management
  • Updated setup.sh with optional @mariozechner/pi-mom install + interactive Slack token prompts
  • Full documentation in README.md (Slack app setup guide) and workspace/AGENTS.md

Closes #2

Test plan

  • make NAME=test-mom BASE_BRANCH=main build — image builds without errors
  • docker exec --user root test-mom bash -c '/home/sandbox/install/setup.sh --non-interactive' — mom installs, shows in summary
  • docker exec --user sandbox test-mom bash -lc 'type mom' — alias resolves to mom --sandbox=host ~/workspace/mom-data
  • Start container with MOM_SLACK_APP_TOKEN=test MOM_SLACK_BOT_TOKEN=test — mom process auto-starts
  • make NAME=test-mom mom-status — reports running state and log tail
  • make NAME=test-mom mom-stop — stops mom process
  • make NAME=test-mom clean — full cleanup

🤖 Generated with Claude Code

ryaneggz and others added 5 commits March 30, 2026 18:57
Add support for the Mom (Master Of Mischief) Slack bot from pi-mono,
enabling users to interact with sandbox agents via Slack channels.
Mom runs in --sandbox=host mode inside the existing container.

Changes:
- setup.sh: add @mariozechner/pi-mom as optional install with Slack token config
- docker-compose.yml: pass MOM_SLACK_APP_TOKEN and MOM_SLACK_BOT_TOKEN env vars
- Dockerfile: add mom alias with default --sandbox=host flags
- entrypoint.sh: auto-start mom on container boot when tokens are present
- heartbeat.sh: capture MOM_ env vars for cron jobs
- Makefile: add mom-start, mom-stop, mom-status targets
- AGENTS.md: document Mom in sandbox agent instructions
- README.md: add Slack Integration section with setup guide
- provision skill: add Mom/Slack awareness to interactive provisioning

Closes #2

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ck manifest

- config/ directory: bind-mounted at /home/sandbox/config for persistent
  env config (.env for tokens, API keys). Sourced at runtime by
  entrypoint.sh, heartbeat.sh, Makefile mom-start, and .bashrc — no
  container restart needed to pick up changes.
- /setup:slack skill: interactive orchestrator skill that configures Mom
  Slack bot on any sandbox (tokens, OAuth/API key auth, verification).
  Includes bundled slack-manifest.json for one-click Slack app creation.
- setup.sh: tokens written to config/.env instead of ephemeral .bashrc.
- README/AGENTS.md: updated project structure, Slack setup docs with
  manifest-based app creation, OAuth auth instructions, config/.env usage.
- Provision skill: updated to reference /setup:slack for post-provision
  Slack configuration.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant