Skip to content

Latest commit

 

History

History
120 lines (88 loc) · 3.42 KB

File metadata and controls

120 lines (88 loc) · 3.42 KB

Eliza Code

An async coding agent terminal app built on ElizaOS - like Claude Code, but with fully asynchronous task execution and continuous conversation.

Features

  • Dual-Pane Terminal UI: Chat pane for conversation, task pane for monitoring progress
  • Async Task Execution: Tasks run in the background while you continue chatting
  • Multiple Chat Rooms: Create separate conversation contexts
  • Coding Tools: File operations, shell commands, search, and more
  • Task Context Injection: The agent knows about ongoing tasks and their progress

Prerequisites

  • Bun runtime
  • OpenAI or Anthropic API key

Installation

cd eliza-code
bun install

Configuration

Copy the environment example and add your API key:

cp .env.example .env
# Edit .env and add your OPENAI_API_KEY or ANTHROPIC_API_KEY

Usage

Start Eliza Code:

bun start

Keyboard Shortcuts

Key Action
Enter Send message
Tab Toggle focus between chat/task panes
Ctrl+N Create new chat room
Ctrl+Q Quit
Ctrl+↑/↓ Scroll chat history or task output
↑/↓ Navigate task list (when task pane focused)

Example Commands

Once running, you can chat with the agent:

> list files in src
> read the package.json
> search for "TODO" in the codebase
> run npm test
> create a task to implement user authentication

Architecture

eliza-code/
├── src/
│   ├── index.tsx          # Entry point
│   ├── App.tsx            # Main layout
│   ├── components/        # Ink UI components
│   │   ├── ChatPane.tsx
│   │   ├── TaskPane.tsx
│   │   ├── StatusBar.tsx
│   │   └── MessageBubble.tsx
│   ├── lib/
│   │   ├── agent.ts       # Eliza runtime setup
│   │   ├── chat-manager.ts
│   │   ├── task-manager.ts
│   │   └── store.ts       # Zustand state
│   ├── lib/cwd.ts         # CWD tracking (no filesystem listing)
│   └── types.ts           # TypeScript types

Available Actions

The agent can use these actions:

In this example, the main agent is an orchestrator (no filesystem tools). It uses:

  • @elizaos/plugin-agent-orchestrator: task creation + lifecycle (CREATE_TASK, LIST_TASKS, etc.)
  • @elizaos/plugin-shell: shell execution (when enabled) for high-level commands

All file reading/writing/editing and detailed repo work happens inside worker sub-agents (Codex, Claude Code, SWE-agent, etc.).

How It Works

  1. Chat with the agent in the left pane
  2. Watch tasks execute in the right pane
  3. Tasks run asynchronously - you can continue chatting while they work
  4. The agent receives task context so it knows what's happening
  5. Switch between tasks to view different outputs

Development

# Run with watch mode
bun dev

# Type check
bun run tsc --noEmit

Built With