feat(demo): cloud-backed interactive demo TUI (#304, #305)#306
Open
Yangtze-Seventh wants to merge 13 commits into
Open
feat(demo): cloud-backed interactive demo TUI (#304, #305)#306Yangtze-Seventh wants to merge 13 commits into
Yangtze-Seventh wants to merge 13 commits into
Conversation
Add .agents/ and AGENTS.md (local agent skill/config artifacts) to .gitignore so they don't show up as untracked noise. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…nd-AI#304) jieba 0.42.1 (its last release) ships regex string literals with invalid escape sequences. Python >= 3.12 flags these as SyntaxWarning at first-import compile time, leaking noise on a user's first run. Wrap the single jieba import site in warnings.catch_warnings() to suppress them. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Make `everos demo` an interactive TUI with an in-UI input box, where each round runs the real memory pipeline (add -> flush -> search) against a hosted EverOS server that holds the LLM + embedding keys server-side. The keys never reach the client; each run uses a fresh, isolated (session_id, user_id) pair. - Extract a typer-free hosted-demo HTTP client into tui/demo/cloud.py. - Drive the rounds off the event loop via an anyio worker so the UI stays responsive; surface unreachable/quota errors honestly instead of faking. - After a few rounds, guide the user to configure their own key (--live). - Fix EverMind-AI#305: panels (incl. sphere captions) follow the user's input rather than the hard-coded Yosemite default; remove the offline answer stub. - Keep --plain / --cinematic as static, no-network previews. - Endpoint overridable via EVEROS_CLOUD_DEMO_URL / --server-url. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…able quit Top-half TUI polish for the interactive demo: - Header shows the local git/OS user name (local-first) instead of the per-round session id; scope stays local-first. - Trace becomes the four pipeline stages (ingest/extract/index/recall); the sphere posts a StageChanged message so the active word highlights in sync with the animation. Stage dwell time is an explicit 3s constant. - Replace the query/answer caption with a Query <-> Answer bar whose marker propagates back and forth. - Make quitting reliable: ctrl+c / ctrl+q are priority bindings (work even while the input box has focus), and typing 'quit'/'exit' in the box exits. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…conversation log Make the demo's right column and bottom reflect real pipeline state instead of hardcoded values: - Signal rail status lights are now stateful, driven by the actual round steps (health -> add -> flush -> search). Colors: white = not ready/idle, yellow = ready/active/hit, black = error. Split cloud.recall_round into check_health/add_memory/flush_memory/search_recall so the UI lights up between steps. - New 'EverOS strengths' box above the signal rail showing real product capabilities (hybrid retrieval, agentic rerank, multilingual, multimodal, md-first, local-first) -- no fabricated metrics. - Source route / source lock filenames are date-stamped from the demo-usage day (episode-YYYY-MM-DD.md) instead of hardcoded. - Recall lock shows the real recall score (similarity to the stored memory) and scope (real user id, project=demo); dropped the sample answer line. - Bottom 'conversation' log (below the yellow line) accumulates you/everos turns across rounds, replacing the static payoff strip. - DemoStory gains a score field; search misses surface as a 'miss' light. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Shrink the conversation log + input box so the memory sphere stays the visual focus (conversation 7->4, input border removed to 1 row). - Give the capabilities box a distinct 'panel' border with a titled bar instead of the plain thick border. - Drop the multilingual capability row. - Recall lock shows the local user (user_label) and project=demo, never the alice default or session id; remove the 'similarity' caption line. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Make in-box commands discoverable and give feedback: - /help lists the available commands; unknown /commands show a hint instead of being treated as a memory. - /replay re-runs the sphere animation; /clear wipes the conversation log. - /quit and /exit (with or without slash) exit to the terminal. - Input placeholder now advertises /help and /quit. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Add /live: shows the 'use your own key' guidance (everos init -> everos demo --live) on demand, not just after the round cap. - Typing '/' now surfaces the available commands live in the prompt (a slash-command menu) and restores the phase prompt on real text. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
evermind.ai publishes no token-saving percentage, so the strengths box now leads with the site's real SOTA Performance numbers (LoCoMo 93.05%, LongMemEval 83.00%, HaluMem 93.04%) plus core retrieval strengths -- no fabricated figures. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add a 'saved ~XX% tokens (est)' line under the recall score. It is a clearly labelled client-side estimate (carrying the whole conversation as context vs. EverOS returning only the compact recalled answer), since no measured token-saving figure is published and the server does not return token usage. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Per the evermind.ai homepage: - Lead with the real token-efficiency claim (1/10 of full context). - Keep a single headline benchmark (LoCoMo 93.05%) instead of three. - Fill the box with real capability highlights (unlimited context, hybrid retrieval, agentic rerank, multimodal, self-evolving). - Drop local-first here (already shown in the field-header scope). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…active # Conflicts: # .gitignore
Update the Play With The Demo / 体验 Demo section to match the interactive TUI: typing / surfaces the commands (/replay, /live, /quit) and ctrl+c exits, replacing the stale 'press q to quit' line. Image left in place for later replacement. English and Chinese kept in sync. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Reworks
everos demointo an interactive, cloud-backed first-run experience, and fixes two reported bugs (#304, #305). Rebased/merged onto v1.1.0main; full suite green (1518 passed).everos demo(default) — interactive cloud TUIhealth → add → flush → search) against a hosted EverOS server that holds the LLM + embedding keys server-side — keys never reach the client. Runs off the event loop (anyio worker) so the UI stays responsive.(session_id, user_id)per run so concurrent visitors never read each other's memories.everos init→everos demo --live). 429 / unreachable are surfaced honestly (no faked output).EVEROS_CLOUD_DEMO_URL/--server-url(default is a placeholder until the hosted server + DNS are deployed).TUI details
scope=local-first+ a four-stage trace (ingest · extract · index · recall) whose active word highlights in sync with the sphere (3s/stage).~XX% (est)), and scope (user=<local> project=demo)./surfaces a live command menu;/help,/live,/replay,/clear,/quit(+/exit); unknown commands give feedback.ctrl+c/ctrl+qare priority bindings so they quit even with the input focused.--plain/--cinematicremain static, no-network previews.Fixes
jieba 0.42.1emitsSyntaxWarning(invalid regex escapes) at first-import compile time on Python ≥ 3.12; suppressed at the single import site.Notes for reviewers
demo.everos.evermind.ai) are infra to deploy separately (server with keys + DNS + TLS + rate-limit gateway). This PR is the client only and degrades gracefully when unreachable.EVEROS_CLOUD_DEMO_URL=http://127.0.0.1:8000 everos demoagainst a localeveros server start.Testing
make lint— clean (ruff + import-linter contracts + datetime/openapi checks).make test— 1518 passed.🤖 Generated with Claude Code