README.md

August 23, 2026 · View on GitHub

∿ PyCode Version

Last Commit TypeScript Electron React License

Fast Native Desktop & Web Development GUI for Py-Agent
Powered by the Agent Client Protocol (ACP) over stdio JSON-RPC.


Overview

PyCode is a cross-platform React Desktop & Web development workspace for Py-Agent, forked from pingdotgg/t3code.

  • Native ACP Protocol: Speaks stdio JSON-RPC 2.0 directly to py-agent with zero daemon overhead.
  • Inherited CLI State: Automatically adopts runtime settings (/tts voice, reasoning budgets, model configs, YOLO mode) configured in your active py-agent terminal session.
  • Thought Formatting: Renders reasoning and thought processes into clean markdown quote blocks (> *Thinking...*).
  • Theme Aurora Glow: Hardware-accelerated Gemini-inspired ambient lighting behind the composer that adapts dynamically to all color palettes.
  • CLI Suspension: Launch /pyc from terminal to pause CLI and resume automatically on window close.
  • Dual Execution: Runs as an Electron Desktop app or local browser WebUI (http://localhost:3773).
  • Active Development: New features and agent capabilities actively being added.

React Desktop IDE

PyCode GUI Desktop GUI

Architecture & ACP Flow

  ┌────────────────────────────────────────────────────────┐
  │                   PyCode GUI (Electron)                │
  │     [React UI] ◄──► [PyAgentAdapter] ◄──► [ACP Client] │
  └───────────────────────────┬────────────────────────────┘
                              │ stdio JSON-RPC 2.0 (ACP)

  ┌────────────────────────────────────────────────────────┐
  │                 Py-Agent Headless Bridge               │
  │     [plugins/pycode/bridge.py] ◄──► [agent_core.py]    │
  └───────────────────────────┬────────────────────────────┘
                              │ HTTP SSE / Tools

  ┌────────────────────────────────────────────────────────┐
  │           llama-server / Cloud API Cascade             │
  │    (LFM2.5-8B, Qwen3.6-35B, DeepSeek, Claude, GPT)     │
  └────────────────────────────────────────────────────────┘

Key Features

FeatureDescription
Ambient Aurora GlowOptional Appearance toggle for GPU-composited, Gemini-inspired ambient lighting behind the composer with dynamic theme-reactive palette syncing.
Minimal InterfaceStripped top-bar branding for a clean, distraction-free workspace.
Custom Vector IconIntegrated 18px line-art interlocking Python loop matching native OpenAI/Claude visual density.
ACP Provider DriverFirst-party pyagent driver registered across server, contracts, and frontend layers.
Thought TracesFormats model reasoning and thinking into clean markdown quote blocks (> *Thinking...*).
Dynamic WorkspacesAutomatically syncs project roots, AST codebase maps (index-map), and .agent/tpm.md facts.
Fast CLI ShortcutsLaunch directly from py-agent with /pyc or /pycode (desktop) and /pyc web (browser).

Upstream Fork Manifest

All modifications are isolated to ensure updates from pingdotgg/t3code merge cleanly:

LayerFile PathModification Summary
Driverapps/server/src/provider/Drivers/PyAgentDriver.tsRegistered PyAgentDriver, snapshot metadata, & reasoning options
Adapterapps/server/src/provider/Layers/PyAgentAdapter.tsEffect ACP session lifecycle, scope isolation, & item.started events
Runtimeapps/server/src/provider/acp/PyAgentAcpSupport.tsProcess spawner for plugins/pycode/bridge.py
Drivers Registryapps/server/src/provider/builtInDrivers.tsAdded PyAgentDriver to BUILT_IN_DRIVERS
Brand Chromeapps/web/src/components/sidebar/SidebarChrome.tsxClean zero-branding top sidebar
Vector Iconsapps/web/src/components/Icons.tsxFlat monochrome PyAgentIcon vector component
Icon Mappingapps/web/src/components/chat/providerIconUtils.tsMapped pyagent driver keys to PyAgentIcon
Global Brandapps/web/src/branding.tsUpdated default fallback display name
UI Componentsapps/web/src/components/chat/ChatComposer.tsxAdded GPU-composited theme-reactive ambient aurora glow & solid surface styling
Settings UIapps/web/src/components/settings/SettingsPanels.tsxAdded ChatGlowRow toggle switch under Appearance settings
Contractspackages/contracts/src/model.tsDeclared PYAGENT_DRIVER_KIND & local-model defaults
Contractspackages/contracts/src/settings.tsAdded PyAgentSettings and chatGlow schema defaults & patch types

Setup & Installation

Prerequisites

  • Node.js: v20+ or v22+
  • pnpm: v9+ (corepack enable && corepack prepare pnpm@latest --activate)
  • Python 3.10+ (with py-agent configured)
# Automatic setup (if using py-agent)
install-pycode
# (or run: ~/.config/py-agent/plugins/pycode/setup.sh)

# Or clone & build manually
git clone https://github.com/j5onrf/pycode.git ~/.config/pycode
cd ~/.config/pycode
pnpm install
pnpm build

Launching PyCode

Launch MethodCommandDescription
From Py-Agent CLI/pyc (or /pycode)Suspends CLI and opens native Electron Desktop GUI
From Py-Agent CLI (Web)/pyc webSuspends CLI and opens WebUI in default browser
Direct Shell (Desktop)~/.config/py-agent/plugins/pycode/launch.shLaunches Electron GUI for current directory
Direct Shell (Web)~/.config/py-agent/plugins/pycode/launch.sh webStarts WebUI server on http://localhost:3773

License

Distributed under the MIT License. Built for the py-agent ecosystem.