discobot

module
v0.0.1-test9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 7, 2026 License: Apache-2.0

README

Discobot

Discobot is a coding agent session manager. It runs Discobot's built-in coding agent inside isolated sandboxed sessions so you can monitor and manage AI-assisted coding work safely.

Demo

Discobot Demo

Features

  • Built-in Coding Agent — Discobot ships with its own coding agent instead of depending on third-party coding CLIs
  • Anthropic + OpenAI Support — Run Discobot sessions with Anthropic and OpenAI models today, with more model providers coming soon
  • Thread-Level Model Selection — Choose which model to use for each conversation thread
  • Isolated Sandboxed Sessions — Run parallel sessions in secure containers with full app debugging capabilities
  • Use Your Own IDE — Launch remote IDE sessions directly into each sandbox
  • SSH into Sandboxes — Direct SSH access to every sandbox environment
  • Integrated Lightweight Tools — Built-in terminal, diff viewer, and editor for quick edits
  • Workspaces — Organize sessions around git repositories or local folders

Customization

Automate session setup, enforce code quality, and run dev servers with .discobot/hooks/ and .discobot/services/.

Install

Download the macOS app from Releases.

Build from source

pnpm build:app

Useful build overrides:

  • WSL_IMAGE_REF controls the bundled Windows WSL image and defaults to ghcr.io/obot-platform/discobot-wsl:main
  • DISCOBOT_VERSION controls the app/server version metadata used by the build scripts
  • DISCOBOT_TAURI_VERSION optionally overrides the Tauri bundle version with an MSI-safe value such as 0.0.0-0 or 1.2.3-4

When DISCOBOT_TAURI_VERSION is unset, pnpm build:app derives an MSI-safe Tauri version automatically from DISCOBOT_VERSION or package.json.

Community

Join the #discobot channel on the Obot AI Discord.

License

Apache-2.0

Directories

Path Synopsis
agent
cmd/agent command
Package main is the entry point for the discobot-agent init process.
Package main is the entry point for the discobot-agent init process.
authservice
cmd/authservice command
meta
api
Package api contains generated Meta API wire types.
Package api contains generated Meta API wire types.
cli
Package cli implements the metactl command-line interface.
Package cli implements the metactl command-line interface.
client
Package client contains a generated Go client for the Meta REST API.
Package client contains a generated Go client for the Meta REST API.
cmd/meta command
cmd/metactl command
internal/auth
Package auth provides request authentication context for Meta.
Package auth provides request authentication context for Meta.
internal/authz
Package authz provides router-level authorization for Meta routes.
Package authz provides router-level authorization for Meta routes.
internal/database
Package database initializes Meta's GORM database connections.
Package database initializes Meta's GORM database connections.
internal/handlers
Package handlers contains Meta HTTP handlers keyed by OpenAPI operation ID.
Package handlers contains Meta HTTP handlers keyed by OpenAPI operation ID.
internal/id
Package id creates stable public IDs for Meta resources.
Package id creates stable public IDs for Meta resources.
internal/model
Package model contains the Meta service database model.
Package model contains the Meta service database model.
internal/routes
Package routes provides Meta route registration and documentation metadata.
Package routes provides Meta route registration and documentation metadata.
internal/store
Package store provides Meta service database operations using GORM.
Package store provides Meta service database operations using GORM.
modelsdev module
proxy
cmd/proxy command
Package main is the entry point for the proxy server.
Package main is the entry point for the proxy server.
internal/api
Package proxyapi provides the REST API for runtime configuration.
Package proxyapi provides the REST API for runtime configuration.
internal/cache
Package cache provides HTTP response caching with LRU eviction.
Package cache provides HTTP response caching with LRU eviction.
internal/cert
Package cert provides certificate management for MITM proxying.
Package cert provides certificate management for MITM proxying.
internal/config
Package config provides configuration types, loading, and validation.
Package config provides configuration types, loading, and validation.
internal/filter
Package filter provides connection filtering by domain and IP.
Package filter provides connection filtering by domain and IP.
internal/injector
Package injector provides header injection with domain pattern matching.
Package injector provides header injection with domain pattern matching.
internal/logger
Package logger provides structured logging for the proxy.
Package logger provides structured logging for the proxy.
internal/proxy
Package proxy provides HTTP and SOCKS5 proxy implementations.
Package proxy provides HTTP and SOCKS5 proxy implementations.
internal/recorder
Package recorder records full HTTP request/response information to disk.
Package recorder records full HTTP request/response information to disk.
server
cmd/server command
cmd/vz-test command
cmd/wsl-helper command
internal/conntrack
Package conntrack provides a thread-safe tracker for active connections per session.
Package conntrack provides a thread-safe tracker for active connections per session.
internal/dispatcher
Package dispatcher provides a database-backed job queue with leader election.
Package dispatcher provides a database-backed job queue with leader election.
internal/encryption
Package encryption provides encryption utilities for secure credential storage.
Package encryption provides encryption utilities for secure credential storage.
internal/events
Package events provides a Server-Sent Events (SSE) system backed by database persistence.
Package events provides a Server-Sent Events (SSE) system backed by database persistence.
internal/git
Package git provides git operations with an abstracted interface.
Package git provides git operations with an abstracted interface.
internal/jobs
Package jobs defines job types and payloads for background job processing.
Package jobs defines job types and payloads for background job processing.
internal/model
Package model defines the database models used throughout the application.
Package model defines the database models used throughout the application.
internal/oauth
Package oauth provides OAuth utilities for AI provider authentication.
Package oauth provides OAuth utilities for AI provider authentication.
internal/routes
Package routes provides a centralized route registry with metadata.
Package routes provides a centralized route registry with metadata.
internal/sandbox
Package sandbox provides an abstraction for sandbox execution environments.
Package sandbox provides an abstraction for sandbox execution environments.
internal/sandbox/docker
Package docker provides cache volume management for Docker containers.
Package docker provides cache volume management for Docker containers.
internal/sandbox/local
Package local provides a local directory-based implementation of the sandbox.Provider interface.
Package local provides a local directory-based implementation of the sandbox.Provider interface.
internal/sandbox/mock
Package mock provides a mock implementation of sandbox.Provider for testing.
Package mock provides a mock implementation of sandbox.Provider for testing.
internal/sandbox/sandboxapi
Package sandboxapi defines the request/response types for the sandbox HTTP API.
Package sandboxapi defines the request/response types for the sandbox HTTP API.
internal/sandbox/vm
Package vm provides an abstraction for project-level virtual machine management.
Package vm provides an abstraction for project-level virtual machine management.
internal/sandbox/vz
Package vz provides a macOS Virtualization.framework-based implementation of the sandbox.Provider interface.
Package vz provides a macOS Virtualization.framework-based implementation of the sandbox.Provider interface.
internal/ssh
Package ssh provides an SSH server that routes connections to sandbox containers.
Package ssh provides an SSH server that routes connections to sandbox containers.
internal/startup
Package startup provides a system-wide startup task manager for tracking long-running operations that happen on server startup (VZ image download, Docker image pulls, VM warming, etc.)
Package startup provides a system-wide startup task manager for tracking long-running operations that happen on server startup (VZ image download, Docker image pulls, VM warming, etc.)
internal/store
Package store provides database operations using GORM.
Package store provides database operations using GORM.
internal/sysinfo
Package sysinfo provides cross-platform access to host system information.
Package sysinfo provides cross-platform access to host system information.
internal/terminal
Package terminal manages persistent PTY sessions that survive WebSocket disconnects.
Package terminal manages persistent PTY sessions that survive WebSocket disconnects.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL