Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,24 @@

All notable changes to this project will be documented in this file.

## [1.6.0] - 2026-08-27

### Added

- **Hub (`/hub`)**: launcher channel with a pinned button panel (new session, sessions list, model, project). Remembers default project, model and category.
- **Session channels**: creating a session opens a dedicated text channel `🤖 <name>` in a `Sesiones` category, bound to the hub's project/model, with passthrough enabled and a pinned panel of sticky buttons (Plan/Build toggle, Interrupt, Diff, Model, Archive, Undo, Status, Compact, Init).
- **Sessions list**: `📋 Sesiones` now lists the OpenCode sessions persisted on disk (ordered by most recent activity), marks channel-mapped and archived ones, lets you resume an existing OpenCode session in a new Discord channel ("Resumir sesión en Discord"), and reopen archived sessions.
- **Session title sync**: the session channel is renamed automatically when OpenCode updates the session title.
- **Local voice transcription with Handy**: replaces the OpenAI Whisper integration. Voice messages in session channels are downloaded, converted to 16 kHz mono WAV with a bundled `ffmpeg-static` binary, and transcribed by the local Handy app (`handy --transcribe-file --json`). Configurable via `HANDY_BIN`, `HANDY_MODEL` and `HANDY_TIMEOUT_MS`.
- **Passthrough in text channels**: `messageHandler` now accepts passthrough in regular text channels (session channels), not only threads.

### Changed

- **`/opencode`**: in the hub (or any non-session channel) it creates a session channel; in a session channel it runs the prompt there. Legacy thread flow preserved.
- **`/voice`**: now only reports status (`/voice status`) and reflects the Handy engine. Removed the OpenAI `voice set/remove` CLI subcommands.
- **Permissions**: the bot now requires `MANAGE_CHANNELS`/`MANAGE_ROLES` to create and hide session channels (invite link uses `permissions=275901456`).
- **README**: rewritten to document the hub/session-channel UX, Handy voice setup, required Discord permissions, systemd service example and Docker limitations.

## [Unreleased]

## [1.5.3] - 2026-04-28
Expand Down
669 changes: 278 additions & 391 deletions README.md

Large diffs are not rendered by default.

206 changes: 206 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "remote-opencode",
"version": "1.5.3",
"version": "1.6.0",
"description": "Discord bot for remote OpenCode CLI access",
"main": "dist/src/index.js",
"bin": {
Expand Down Expand Up @@ -40,6 +40,7 @@
"commander": "^13.1.0",
"discord.js": "^14.25.1",
"eventsource": "^4.1.0",
"ffmpeg-static": "^5.3.0",
"node-pty": "^1.1.0",
"open": "^10.1.0",
"opencode-antigravity-auth": "^1.4.6",
Expand Down
Loading