How it works
- You open Albert's DM in Slack web.
- The extension reads recent messages and interactive elements (buttons, radios).
- An LLM decides: click a button, pick a radio, send text, or wait.
- The bot acts after a short random delay (default 3–6 seconds).
No Slack API token required. The extension uses your existing browser session on app.slack.com.
Requirements
| What | Notes |
|---|---|
| Google Chrome | Or another Chromium browser (Edge, Brave, …) |
| Slack web | app.slack.com — Albert app installed in your workspace |
| LLM | Local: Ollama · Cloud: OpenAI, Anthropic, or Google Gemini API key |
Option A — Local LLM (Ollama)
Recommended if you want everything to stay on your machine. Free after install.
1. Install Ollama
Download and install from ollama.com (macOS, Linux, or Windows).
2. Start the server
Ollama usually runs in the background after install. If needed:
ollama serve
3. Pull a model
Pick a model that handles JSON reasoning well. Example:
ollama pull gemma4:12b
Other options: llama3.2, qwen2.5, mistral — use whatever you already have; the popup lets you pick from installed models.
4. Verify Ollama is running
curl http://127.0.0.1:11434/api/tags
You should get JSON listing your installed models.
http://127.0.0.1:11434Change it in the extension popup only if Ollama runs on another host or port.
Install the extension
From source (today)
-
Get the project folder — clone the repo or download a release zip.
git clone https://github.com/rbobillot/albye.git cd albye
- Open
chrome://extensionsin Chrome. - Enable Developer mode (top right).
- Click Load unpacked and select the
albyefolder. - Pin the Albye icon to your toolbar.
Developers — build after clone
If you cloned the repo (not a release zip), bundle the content script once:
bun install bun run build
Requires Bun. Re-run bun run build after editing content.js or lib/, then reload the extension and refresh Slack.
bun run pack (build + tests + dist/albye-<version>.zip). Use that zip for the store upload; link this page as homepage/support.
After every extension update
- Click Reload on the extension card at
chrome://extensions - Refresh your Slack tab (F5) — required for the content script to reconnect
Optional — first-time setup
All settings live in the extension popup (saved to Chrome storage). Open Albert's DM in Slack, click the Albye icon, use Fill from current Slack tab, then Start (which tests the LLM automatically). Use Test connection first if you only want to verify the LLM without running.
Configure Slack
- Open Slack web and go to your Albert direct message.
- Click the extension icon → open the Slack panel.
- Click Fill from current Slack tab (easiest), or copy IDs from the URL:
https://app.slack.com/client/{WID}/{CID}
| Field | URL part |
|---|---|
| Workspace ID | {WID} — first ID after /client/ |
| Channel ID | {CID} — Albert DM channel (usually starts with D) |
When you're already on Albert's page, the Slack panel collapses automatically — use Open Albert tab in the header to jump back.
Configure the LLM
Open the extension popup → LLM panel.
Local (Ollama)
- Provider: Local (Ollama)
- Pick your model in the dropdown (or click Test connection to refresh the list)
- Start will test Ollama again before monitoring begins
Cloud (API key)
- Provider: OpenAI, Anthropic, or Google Gemini
- Paste your API key (stored locally on your device, never synced)
- Click Test connection to load models, or go straight to Start (tests the LLM first)
- Choose a model from the dropdown
Behavior (optional)
- Response delay — random pause before each action (default 3–6 s)
- Auto-click "Start your next course" — recommended
- Auto-start when opening the channel — starts monitoring when you open Albert's DM
Start the bot
- Slack tab open on Albert's DM (same channel ID you configured).
- Extension popup → Start (tests LLM, then monitors).
- Status should show Running · on Albert channel. Activity logs refresh in the popup.
Debug in the Slack tab
Open DevTools (F12) → Console. You should see [Albye] logs.
__albye.dump() // full diagnostic __albye.getLlmPayload() // payload sent to the LLM __albye.forceTick() // run one decision cycle
Privacy & data
Albye stores settings and optional API keys on your device only. With Ollama, course text stays on your machine; with cloud LLMs, conversation context is sent to the provider you choose.
Read the full privacy policy → (required for Chrome Web Store).
Troubleshooting
- Extension context invalidated — reload the extension, then refresh Slack (F5).
- Not on Albert channel — check Slack IDs or use Fill from current Slack tab.
- LLM not ready — click Start (tests automatically) or Test connection; cloud needs an API key first.
- Ollama unreachable — run
ollama serveand verify withcurl …/api/tags. - Button found but not clicked — refresh Slack; check console for
[Albye]errors.
More detail in the repo: docs/TROUBLESHOOTING.md and docs/SETUP.md.
Setup checklist
- ☐ Ollama installed + model pulled (or cloud API key ready)
- ☐ Extension loaded in Chrome
- ☐ Slack IDs filled (autofill or manual)
- ☐ LLM model selected (Start tests the connection for you)
- ☐ Slack tab refreshed after extension load
- ☐ Start → status Running · logs appear in popup