Skip to content

Repository files navigation

Nexus Chat

Nexus Chat

AI chat desktop app with rich data visualization and tool use

GPL-3.0 License · Copyright (c) 2026 ChloeWeever


English · 中文

Features

  • Desktop pet — pick an animated companion from the Petdex gallery (1400+ pets); the pet lives in the chat area, wanders on its own, and reacts to the AI — reviewing while thinking, running while generating, waving when done
  • Multi-provider — LiteLLM proxy, OpenAI, or Anthropic; configure base URL, API key, model, temperature, and max tokens per session
  • Rich visualizations — AI renders bar, line, area, pie/donut charts, data tables, metric cards, and progress bars inline in the conversation using a simple XML card syntax
  • File uploads — attach images, PDFs, Word documents, Excel sheets, PowerPoint files, and plain text/code files; content is extracted and injected as context
  • Image OCR — paste or attach an image and the app extracts text via Tesseract.js (English + Simplified Chinese)
  • JavaScript execution — AI can write and run code in a sandboxed Node.js Worker thread (10 s timeout, no network/filesystem access)
  • Web search — optional real-time search via the Ollama Web Search API, injected into the AI context
  • Skills — define reusable instruction sets as SKILL.md files and invoke them with /skill-name slash commands; built-in skills include summarize, translate, explain, improve, review, and commit
  • Streaming responses with a stop button
  • Conversation history — grouped by date, titles auto-generated from the first message
  • Dark / light / system theme

For User

Download from release. We have support Windows-x64, MacOS-arm64, MacOS-intel. If you are on other platfoem(Windows-arm, Linux...), please build by yourself.

Free Usage

If you dont't have any LLM API or you don't want to pay for any, you can go to Nvidia NIM APIS to apply for a free API endpoint. We recommend you to choose deepseek-v4-flash.

For Developer

Install & Run

npm install
npm run dev

Build distributable

npm run package          # current platform
npm run package:win      # Windows
npm run package:mac      # macOS
npm run package:linux    # Linux

Output: dist/.

Configuration

Open Settings (gear icon, bottom-left):

Tab Field Description
Provider Provider LiteLLM / OpenAI / Anthropic
Provider Base URL Proxy or API endpoint (leave blank for official API)
Provider API Key Key for the chosen provider
Model Model e.g. gpt-4o-mini, claude-sonnet-4-6, ollama/llama3
Model Temperature 0 = deterministic · 2 = very creative
Model Max Tokens Response length cap
Tools Web Search Enable + enter an Ollama API key
Tools Code Execution Allow AI to run JavaScript snippets
Tools Animation Generation Allow AI to generate HTML animations for visual explanations
Appearance Theme Light / Dark / System
Appearance Desktop Pet Pick from Petdex gallery; toggle wandering on/off

Card Syntax

The system prompt teaches the AI to render structured data using XML tags:

<card type="bar_chart" title="Monthly Revenue">
{"labels":["Jan","Feb","Mar","Apr"],"datasets":[{"label":"Sales","data":[1200,1800,1500,2100]}]}
</card>

<card type="line_chart" title="User Growth">
{"labels":["Week 1","Week 2","Week 3"],"datasets":[{"label":"Users","data":[500,720,1040]}]}
</card>

<card type="metric">
{"metrics":[{"label":"MRR","value":"$45K","change":"+12%","trend":"up"},{"label":"Churn","value":"2.3%","change":"-0.5%","trend":"down"}]}
</card>

<card type="table" title="Comparison">
{"columns":[{"key":"lang","label":"Language"},{"key":"perf","label":"Performance"}],
 "rows":[{"lang":"Rust","perf":"Excellent"},{"lang":"Go","perf":"Very Good"}]}
</card>

<card type="progress" title="Q3 Goals">
{"items":[{"label":"Revenue","value":72},{"label":"Signups","value":55}]}
</card>

Supported types: bar_chart · line_chart · area_chart · pie_chart · table · metric · progress

Animation Syntax

When Animation Generation is enabled, the AI embeds <animation> blocks in its response to visually explain complex concepts:

<animation title="Binary Search Algorithm">
<!DOCTYPE html>
<html>
  <!-- auto-playing, infinitely looping HTML/CSS/JS animation -->
</html>
</animation>

Animations render in a sandboxed iframe — fully isolated, auto-playing, no user interaction required.

Skills

Skills are markdown files that inject a system-level instruction set into the conversation. Import a SKILL.md file from Settings → Skills, then invoke it with /skill-name [argument].

Built-in skills: summarize · translate · explain · improve · review · commit

Tech Stack

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages