After the sad demise of Slack workflows on the HC Slack, I moved what used to be a custom workflow here. It started as a simple bot that would listen to my DMs and forward them to a specific channel, as well as allow me to send things to CDN to get uploaded, but now it's much more..
The latest features have brought her a full AI assistant capabilities w/ Hack Club AI behind, with memory storage in Upstash Vector DB. There's also a separate consciousness simulation layer in n8n (sleep, dreams, world simulation, prompt updating...)
- AI assistant for myself
- Custom CDN on Appwrite
- Daily summary message with HackaTime coding stats
- Notifications for new channel members
- Ping group for new channel members
- Yap replies and follow-ups
- Web UI with Appwrite auth + conversation threads
- Consciousness simulation (n8n) with sleep/dream cycles, autonomous action loop, emotional state, and self-updating identity prompt
- Clone the repository.
- Install dependencies:
pnpm install
pnpm web:install
- Configure Environment Variables:
- Rename
.env.exampleto.env. - Fill in all required environment variables in the
.envfile. - Copy
web/.env.exampletoweb/.env.localand fill it too.
- Rename
pnpm start(complex asf :D use pnpm pls it's fire)
pnpm web:dev- Create a new Slack App.
- Enable Socket Mode.
- Enable Events and subscribe to
message.im. - Add
chat:write,im:historyto Bot Token Scopes. - Enable Interactivity.
- Create a new Appwrite project.
- Create a new API key with:
files.read,files.writedatabases.read,databases.write
- Create a Storage Bucket for CDN uploads.
- In your configured database, create collections:
memory-items(orAPPWRITE_MEMORY_COLLECTION_ID)settings(orAPPWRITE_SETTINGS_COLLECTION_ID)reminders(orAPPWRITE_REMINDERS_COLLECTION_ID)conversations(orAPPWRITE_CONVERSATIONS_COLLECTION_ID)conversation-messages(orAPPWRITE_CONVERSATION_MESSAGES_COLLECTION_ID)
- Enable Appwrite Email OTP auth for users.
To run the consciousness simulation, you need to set up n8n locally and import the workflows located in conscience-sim/.