Skip to content

aayushmau5/eva

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Eva

shinji

A coding harness built in Elixir, inspired by tau.

Work in progress — things may move, break, and change.

under construction

Idea

Current ideas, subject to change.

Architecture

Eva is a distributed coding agent platform. It ships with a default terminal agent harness powered by ex_ratatui + BYO-FE, with a modular architecture that lets you swap out providers and frontends.

Feature Checklist

  • Distributed architecture
    • How do we discover & connect to Evas in different machines?
      • Tailscale?
        • Most of the work is already done(Security, Discovery & Connection)
        • Connections & Creds management
      • Iroh?
    • At what point do we handle external node messages?
      • Split between:
        • Providers
        • Harness
  • Very basic provider(currently LMStudio based API only)
    • Handle envs & config
    • Switch providers
  • Storage
    • Directory(sessions/index)
    • Move to sqlite?
  • Agent Harness
    • The agent loop
    • Handling distributed node messages
    • Context
      • Sessions
      • Memory
      • Compaction
      • Skills
      • Prompt templates
      • AGENTS.md
      • Diagnostics
    • Prompts
      • Follow-up
      • Queue
      • Assembling prompts
    • Tools
    • Subagents
    • UI agnostic commands layer
    • Modes or Characters(?)(like amp)
      • Deep
      • Librarian
      • Oracle
    • Extensions
      • Perhpas "sharing" as an extension
    • Ability to modify itself
      • With Hot reload?
    • Sharing(login?)
      • Atproto
        • PDS as sync layer(inspired by tiles.run)?
      • (Fun idea): Indieweb?
    • (Experiment): Explore with mob as distributed node connection?
  • TUI (ex_ratatui) + BYO-FE
    • Slash commands (/usage, /providers, /login, /logout, ...)
    • Pretty lil animations
  • catalogue.yml or something for list of providers
  • Sandboxing
  • Observability
    • Number of sessions, time taken, total token usage, failures etc.
  • Explore https://github.com/elixir-vibe/vibe for further stuff

What Sets It Apart

  • Distributed by default — designed for multi-node setups from the start.
  • Elixir-native — fault tolerance, hot code reloading, and concurrency via the BEAM.
  • BYO-FE — bring your own frontend; the default TUI is built with ex_ratatui but you can swap in anything.
  • Modular — providers, tools, and agents are pluggable components.

About

Agent harness in Elixir

Resources

License

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages