2.8 KiB
2.8 KiB
What TabBot is (and is not)
TabBot is a local-first Discord bot studio. You pick a Visual (no-code) or Code (TypeScript / discord.js names, bundled with esbuild-wasm) track per bot. Official modules run on both. Real discord.js 14 runs in a dedicated runner tab on your machine, through BridgeSwarm’s native host (window.BridgeSwarm.DiscordJS).
The product line is:
Real discord.js in a tab. Your token never leaves your machine. Close the tab, kill the bot.
HoneyPeer, LLC publishes TabBot at tab-bot.rest. HoneyPeer does not host your bot, does not keep it online, and does not hold your token. Company site: honeypeer.llc.
What you get
- A vault in this origin’s IndexedDB (
tabbot-vault): AES-256-GCM tokens and named secrets, PBKDF2-SHA-256 at 600,000 iterations - Studio: list, wizard, settings, invite URL, modules, visual builder or Monaco code studio (one track per bot), logs, KV
- A runner at
/run/:botIdwhose lifetime is the bot process (named window + Web Lock so one gateway per bot id) - 35 official modules (GNU GPL v3 or later) plus JSON import/export and share codes
- Docs, legal, and a community page on this same origin
What TabBot is not
- A 24/7 cloud host. Sleep the laptop, close the runner, or quit the native host and the gateway dies.
- An account system. There is no HoneyPeer login.
- A custodian of bot tokens. Ciphertext never uploads to a TabBot server.
- Affiliated with Discord Inc. or BotGhost. Feature overlap with BotGhost’s maker surface is intentional; partnership is not.
- A replacement for
@discordjs/voiceon the current BridgeSwarm host. There is no music player or temp-voice hub in the catalog. - A remote marketplace of eval’d modules.
Architecture in one picture
- You unlock the vault in Studio.
- Launch opens a real browser tab (
window.open) namedtabbot-run-{botId}. - Studio and runner handshake over same-origin
postMessage/BroadcastChannel. A Web Lock steals a previous seat on the same bot id. - The runner constructs
new DiscordJS.Client({ intents })on the Bare host andlogins. - Closing that tab (or
pagehide) stops that bot. Reload/Apply does not awaitdestroy(). Stop does, with a 1.2s cap. Other runner tabs are independent, up to the host’s max clients (default 4).
Next
- Community — Discord hangout and source
- Install BridgeSwarm, allowlist this origin (
https://tab-bot.reston the official site) - Create a Discord application, then create a TabBot bot and choose a track
Source is git.ssh.surf/snxraven/tab-bot (GNU GPL v3 or later).