From 32cb22343d20eb23c84f80b5d36d161f8c8fba87 Mon Sep 17 00:00:00 2001
From: Elliot Chen <2340896+cyfyifanchen@users.noreply.github.com>
Date: Tue, 23 Jun 2026 18:33:44 +0800
Subject: [PATCH] feat(cli): add EverOS demo TUI (#298)
* feat: add EverOS demo TUI
* docs: add EverOS demo quick start
* style(cli): elevate EverOS demo TUI
* style(cli): align demo palette with poster
* fix(cli): round demo sphere animation loop
* fix(cli): refine EverOS demo TUI layout
* fix(cli): use uniform demo sphere dots
* fix(cli): refine EverOS demo sphere media
* fix(docs): smooth EverOS demo animation
* fix(docs): raise demo animation frame rate
* docs(readme): note external demo animation hosting
* fix(docs): optimize demo animation size
* feat(cli): add demo confetti success state
* feat(cli): make demo playable
* test(cli): normalize demo help ansi output
* docs(readme): streamline demo and roadmap sections
* docs(readme): restore star history section
* refactor(tui): move demo implementation out of cli
---
README.md | 243 ++++--------
docs/everos-demo.md | 51 +++
pyproject.toml | 1 +
src/everos/entrypoints/cli/commands/demo.py | 108 ++++++
src/everos/entrypoints/cli/main.py | 3 +-
src/everos/entrypoints/tui/__init__.py | 1 +
src/everos/entrypoints/tui/demo/__init__.py | 1 +
src/everos/entrypoints/tui/demo/app.py | 345 ++++++++++++++++++
src/everos/entrypoints/tui/demo/data.py | 75 ++++
.../entrypoints/tui/demo/readme_media.py | 267 ++++++++++++++
.../entrypoints/tui/demo/widgets/__init__.py | 1 +
.../entrypoints/tui/demo/widgets/sphere.py | 322 ++++++++++++++++
.../test_cli/test_demo_command.py | 106 ++++++
.../test_entrypoints/test_cli/test_main.py | 1 +
.../test_entrypoints/test_tui/__init__.py | 1 +
.../test_tui/test_demo_app.py | 122 +++++++
.../test_tui/test_demo_data.py | 29 ++
.../test_tui/test_demo_readme_media.py | 117 ++++++
.../test_tui/test_demo_sphere.py | 143 ++++++++
uv.lock | 57 +++
20 files changed, 1816 insertions(+), 178 deletions(-)
create mode 100644 docs/everos-demo.md
create mode 100644 src/everos/entrypoints/cli/commands/demo.py
create mode 100644 src/everos/entrypoints/tui/__init__.py
create mode 100644 src/everos/entrypoints/tui/demo/__init__.py
create mode 100644 src/everos/entrypoints/tui/demo/app.py
create mode 100644 src/everos/entrypoints/tui/demo/data.py
create mode 100644 src/everos/entrypoints/tui/demo/readme_media.py
create mode 100644 src/everos/entrypoints/tui/demo/widgets/__init__.py
create mode 100644 src/everos/entrypoints/tui/demo/widgets/sphere.py
create mode 100644 tests/unit/test_entrypoints/test_cli/test_demo_command.py
create mode 100644 tests/unit/test_entrypoints/test_tui/__init__.py
create mode 100644 tests/unit/test_entrypoints/test_tui/test_demo_app.py
create mode 100644 tests/unit/test_entrypoints/test_tui/test_demo_data.py
create mode 100644 tests/unit/test_entrypoints/test_tui/test_demo_readme_media.py
create mode 100644 tests/unit/test_entrypoints/test_tui/test_demo_sphere.py
diff --git a/README.md b/README.md
index 6b39c11..35f1ea5 100644
--- a/README.md
+++ b/README.md
@@ -21,16 +21,12 @@
-- [EverOS 1.0.0](#everos-100)
+- [Upcoming Features](#upcoming-features)
- [Why Ever OS](#why-ever-os)
- [Quick Start](#quick-start)
- [Use Cases](#use-cases)
-- [Architecture At A Glance](#architecture-at-a-glance)
-- [Storage Layout](#storage-layout)
-- [Features](#features)
-- [Project Structure](#project-structure)
- [Documentation](#documentation)
-- [Watch EverOS](#watch-everos)
+- [Star Us](#star-us)
- [EverMind Ecosystems](#evermind-ecosystems)
- [Contributing](#contributing)
@@ -39,19 +35,16 @@
-## EverOS 1.0.0
+## Upcoming Features
> [!IMPORTANT]
>
-> **EverOS 1.0.0 is a major release for self-evolving memory.** It brings a
-> local-first runtime, Markdown as the source of truth, hybrid retrieval,
-> multimodal ingestion, user and agent memory scopes, and modular algorithms
-> through [EverAlgo](https://github.com/EverMind-AI/EverAlgo).
+> **Knowledge Wiki:** editable, source-backed Markdown knowledge pages built
+> from memory.
>
-> **Coming next:** Knowledge Wiki will turn memory into editable,
-> source-backed Markdown knowledge pages. Reflection will run when the
-> system is idle or offline to connect signals, compress
-> history, and improve profiles and skills between sessions.
+> **Reflection:** idle-time and offline memory evolution that connects
+> signals, compresses history, and improves profiles and skills between
+> sessions.
✅ Search by user_id, agent_id, app_id, project_id, and session_id |
❌ Usually app, namespace, tenant, thread, or graph scoped | |
| Knowledge Wiki | -✅ Coming next: editable, source-backed Markdown knowledge pages built from memory | -❌ Usually retrieval, graph, dashboards, or generated summaries instead of editable source-backed pages | -
| Reflection | -✅ Coming next: Reflection that runs when the system is idle or offline to connect signals, compress history, and improve profiles and skills between sessions | -❌ Usually online read/write APIs, retrieval records, or summaries rather than idle-time memory consolidation | -
+
+
|
-Knowledge Wiki - -Turns scattered episodes, files, facts, and agent traces into source-backed -Markdown pages for people, projects, topics, decisions, and workflows. Memory -becomes something users can read, correct, link, version, and open in their -existing Markdown tools. - |
-
-Reflection - -Runs when the system is idle or offline to revisit stored memory, connect weak -signals, compress noisy history into durable patterns, and improve profiles and -skills. The agent gets better between active sessions, not only while you prompt -it. - |
-