Skip to content

g00siferdev-py/persistent-sage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Splash

Persistent Sage

Persistent Sage is a privacy-oriented desktop AI companion: multi-thread chat, long-term Memory Anchor storage, optional agent tools, customizable companion personalities, Pulse scheduled check-ins, vision image attachments, and Coding mode — a repo-scoped development workspace with editor, terminal, and git tools—all in a local-first Tauri 2 application.

License: MIT

Repository: github.com/g00siferdev-py/persistent-sage
Status: Persistent Sage 2.1 — feedback welcome via GitHub Issues


Get Persistent Sage

Version 2.1.0 — Companion + Coding modes, Microsoft Store path, and GitHub direct-download installers.

Step Action
1 Microsoft Store — search for Persistent Sage (when listed), or use GitHub ReleasesPersistent.Sage_*_x64-setup.exe. See docs/INSTALL-WINDOWS.md.
2 Build from sourcegit clone https://github.com/g00siferdev-py/persistent-sage.git && cd persistent-sagedocs/INSTALL.md.
3 ConfigureSettings → Provider (API key + model), then start a chat
4 UpdateStore installs: Microsoft Store → Library → Get updates. GitHub installs: Settings → General → Updates
5 ReportSettings → General → Send feedback or GitHub Issues with OS, app version, provider, steps to reproduce
6 Support development — optional donations via docs/SUPPORT.md; code contributions via CONTRIBUTING.md

Maintainers: publish installers → docs/PUBLISH.md; MSIX → docs/MICROSOFT-STORE.md; CI → docs/BUILD-CI.md.


Documentation

Guide Description
docs/INSTALL.md Fresh install — prerequisites, clone, build, first-run setup
docs/INSTALL-WINDOWS.md Windows users — download from Releases, installer, portable USB
docs/PUBLISH.md Maintainers — publish builds to GitHub Releases
docs/MICROSOFT-STORE.md Maintainers — MSIX packaging for Microsoft Store
docs/BUILD-CI.md CI Windows builds (Actions)
docs/CODING-MODE.md Coding mode (v2) — repos, IDE, terminal, agent tools, GitHub PAT
docs/USER-GUIDE.md Day-to-day usage — Companion + Coding, memory, settings, Pulse
docs/PRODUCT-KNOWLEDGE-BASE.md Full product KB for marketing & support agents
docs/DATA-AND-PRIVACY.md What is stored locally; API keys encrypted, database not encrypted
PRIVACY.md Public privacy policy
docs/SUPPORT.md Support development — optional donations, issues, contributing
docs/SIGNING-AND-UPDATES.md Updater behavior and SignPath readiness
docs/ARCHITECTURE.md Technical overview for developers
docs/DEVELOPMENT.md Dev workflow and pre-push checklist
CHANGELOG.md Release notes
docs/REBRAND.md Codename, rebrand, and legacy data migration
PERSISTENT-SAGE-STATUS.md Engineering status
CONTRIBUTING.md How to test and contribute

Migrating from OpenClaw

Settings → Companion includes Import OpenClaw markdown…, but the most reliable way to move a mature OpenClaw personality into Persistent Sage today is:

  1. Copy IDENTITY.md, SOUL.md, JOURNAL.md, USER.md, and MEMORY.md into Persistent Sage’s workspace/ folder (enable workspace tools).
  2. Prompt the companion to read those files and update personality.json via personality self-edit (enable in Settings → Tools).
  3. Remove the .md files from workspace/ when done.

We are still improving one-click migration; see docs/USER-GUIDE.md § Migrating from OpenClaw and CHANGELOG.md for the exact prompt and details.


Privacy at a glance

Data Where Encrypted?
Chats, anchors, memory nova_memory.sqlite on your disk No (local file)
API keys settings.json + .nova_crypto/ Yes
Personalities personality.json No

After you build and run Persistent Sage, nothing is stored on a Persistent Sage-operated cloud. Messages go only to the LLM provider you configure (and optional tool URLs if you enable agent tools). See PRIVACY.md and docs/DATA-AND-PRIVACY.md for the full picture.


Key features

  • Coding mode (v2) — Git repos, editor, terminal, coding agent, playground, notepad, Agent Action Stream. See docs/CODING-MODE.md.
  • UX (2.1) — Message timestamps, Help menu, token counter, light/dark theme, cache manager, abort turn, unified Companion↔Coding context.
  • Memory Anchor — SQLite conversations, messages, anchors, projects, and preferences; hybrid FTS recall and startup briefings.
  • Companion profiles — Multiple personalities with live system-prompt preview; Persistent Sage JSON and OpenClaw markdown import; optional agent self-edit of personality.json.
  • Providers — OpenAI, Google Gemini, xAI Grok, Ollama (local), Ollama Cloud, Anthropic, or offline placeholder.
  • Agent tools (opt-in) — Web search, URL fetch, headless fetch_browser, HTTPS http_request, sandboxed workspace files, optional database query.
  • Pulse — Timer-driven check-ins that run as normal chat turns in your selected sidebar thread.
  • Vision — Attach images in the composer; multimodal payloads for supported models.
  • In-app updates — Store updates via Microsoft Store; GitHub installs use Tauri updater on Releases.
  • Send feedback — Settings buttons open prefilled GitHub Issues without attaching private chats or logs.
  • Optional donations — PayPal / Cash App links in footer and onboarding (no feature unlock).
  • Portable layoutsPERSISTENT_SAGE_DATA_DIR and PERSISTENT_SAGE_PORTABLE (legacy NOVA_* also works) for custom or USB data locations.
IMG_0029

Quick start (experienced developers)

git clone https://github.com/g00siferdev-py/persistent-sage.git
cd persistent-sage
npm install
npm run tauri dev

First launch creates local data under your OS app directory (or PERSISTENT_SAGE_DATA_DIR if set). Configure Settings → Provider, then start a chat.

New to the stack? Follow the step-by-step guide in docs/INSTALL.md.


Environment variables

Variable Purpose
PERSISTENT_SAGE_DATA_DIR Absolute path for nova_memory.sqlite, settings, personalities, workspace, attachments (legacy NOVA_DATA_DIR still works)
PERSISTENT_SAGE_PORTABLE=1 Store data in {executable}/data/ (legacy NOVA_PORTABLE=1 also works)
PERSISTENT_SAGE_CHROME_PATH Chrome/Chromium/Edge binary for fetch_browser (legacy NOVA_CHROME_PATH also works)
PERSISTENT_SAGE_CHROME_NO_SANDBOX Set to 1 in Docker or locked-down environments
(unset) OS default application data location
export PERSISTENT_SAGE_DATA_DIR="$HOME/PersistentSageData"
mkdir -p "$PERSISTENT_SAGE_DATA_DIR"
npm run tauri dev

npm scripts

Command Description
npm install Install dependencies
npm run tauri dev Run Persistent Sage (desktop + Rust backend)
npm run tauri build Release build and installers
npm run build Frontend typecheck and Vite production build
npm run dev Vite only — not sufficient for full Persistent Sage

Tech stack

Layer Technologies
Desktop Tauri 2
UI React 19, TypeScript, Vite 7, Tailwind CSS v4
Backend Rust 1.77+, rusqlite, reqwest, encrypted settings

Troubleshooting

Issue Solution
Chat does nothing Use npm run tauri dev, not npm run dev
Placeholder replies Settings → Provider → live backend + API key
Model ignores images Use a vision model; on Ollama, tools are off for image turns
fetch_browser fails Install Chrome/Chromium or set PERSISTENT_SAGE_CHROME_PATH
Linux build errors Tauri prerequisites

More: docs/INSTALL.md § Troubleshooting


Project status

Persistent Sage 2.1.0 ships Companion mode (memory anchor, Pulse, artifacts, agent tools) plus Coding mode (repo IDE, terminal, git, playground, notepad). 2.1 adds UX polish: timestamps, Help menu, token counter, light/dark theme, cache manager, unified context, and more. Dual update paths: Microsoft Store + GitHub. See PERSISTENT-SAGE-STATUS.md and CHANGELOG.md.

IMG_2515

Maintainer: g00siferdev-py


License

MIT License — Copyright (c) 2026 g00siferdev-py

About

Portable privacy-first AI companion with persistent Memory Anchor

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors