Commit Graph
20 Commits
Author SHA1 Message Date
janvanwan 42eaed647a feat: sync with upstream — v1.2.0, in-app updates, Projects, modules
Brings the public tree back in line with the development repo after several
weeks of drift caused by a stale publish include list.

New:
- In-app update path: GET /update/check compares the checkout against
  origin/main and POST /update/apply runs `ncp upgrade` detached (pull,
  rebuild, restart). The sidebar shows the version, checks on click, and
  offers an "update available" pill.
- Projects: a project workspace groups chats and RAG documents, with
  per-project instructions and document retrieval scoped to the active
  project. Replaces the standalone Documents page.
- modules/: auto-discovered feature plugins (mail, network) with their
  frontend counterparts and tests.
- Memory curation runs in-process (synapse/memory/curator.py) on the chat
  model when a conversation goes idle. The separate memory service on :8001
  is gone, along with the launcher lines that started it.

Also: the KDE theme, panel and Promethean terminal assets, the full test
suite, and VERSION 1.2.0.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-08-25 09:13:55 -05:00
Jon Wingender e8379786d3 docs(readme): add Windows PowerShell block to Individual services
Only had the Linux venv-activate + uvicorn commands; mirrors the
bash/powershell pairing already used in the Promethean section below.
2026-08-05 19:09:25 -05:00
Jon Wingender e3e8da0f42 docs(readme): note modules in the Frontend architecture row
Pages list didn't mention that auto-registered modules (Mail,
Network) also show up in the UI alongside the core pages.
2026-08-05 19:03:13 -05:00
Jon Wingender 0508249eb9 docs(readme): add Modules section, bulletpoint dense prose
New Modules entry in Flagship features + Architecture describes the
modules/ plugin auto-discovery. Chat/vision/voice, action tools,
Layout, and Configuration reworded from prose/tables into bullets for
scannability.
2026-08-05 18:53:54 -05:00
Jon Wingender 5d997886e6 docs(readme): split issues section into bugs vs feature requests
Bugs go through this repo's Issues tab with an ncp doctor ask; feature
requests stay pointed at NexusOS-requests so the bug tracker doesn't
mix with the planning backlog.
2026-08-05 18:40:58 -05:00
Jon WingenderandClaude Sonnet 5 0f335115d3 docs(readme): bring README up to date with shipped features
Ported from the private repo (bin/publish.sh's README-only path): adds a
Flagship features section, reorders Quick start (Linux first), splits out
a Promethean section, corrects the ncp cross-platform parity note, and
replaces the stale in-README Roadmap with a pointer to NexusOS-requests.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-29 22:36:54 -05:00
Jon Wingender cc20ceac64 fix(launch): reliable Windows launcher; feat(ui): compact sidebar, Vite toggle, chat Think toggle
Ported from the private repo via bin/publish.sh, plus a manual catch-up
on files that had drifted out of sync before today:

- launch_nexus.ps1: health-check based restart decisions instead of a
  bare port-listen check (a wedged leftover process squatting a port
  used to look "already running" and block the real service from
  starting), a script-path quoting fix for Start-Process, hidden
  console via a wscript.exe wrapper (bin/launch_nexus_hidden.vbs), and
  a taskbar/window icon for the native app window.
- Sidebar: slim icon+text nav rows instead of bulky bordered buttons,
  tighter spacing throughout.
- Settings: full-width layout, a Vite dev-server Start/Stop toggle
  (synapse/frontend_manager.py + /frontend/* endpoints), and the
  Linux-only Icon Branding section now gated on the new /status
  `platform` field instead of always rendering.
- Chatbot: a Think toggle next to the model picker, so extended
  thinking can be flipped without leaving the chat page.
- management/ncp.py: faster start/stop polling (0.25s steps instead of
  1s), Vite no longer blocks `ncp start` on Linux and is skipped
  outright on Windows.

Note: the private repo also has a Mail (IMAP/SMTP) feature; it's
intentionally not included here, so the Mail-only pieces of main.py,
App.jsx, and requirements-windows.txt were left out of this port.
2026-07-28 11:23:35 -05:00
enderofwingsandClaude Sonnet 5 ec8f2e08f6 Port Windows installer/ncp fixes and a real nomic-embed-text default
- install-windows.ps1: warn about a leftover profile-based ncp() that
  would shadow ncp.cmd; the "press any key to close" footer now skips
  the wait when stdin is redirected (was hanging indefinitely) and
  exits cleanly instead of Stop-Process when it owns the window; pulls
  nomic-embed-text alongside the chat/memory models.
- management/ncp.py: ncp start / start -b bring Ollama up automatically;
  longer timeout + real error message on a slow model warm.
- synapse/nexus_config.py: DEFAULT_EMBED_MODEL, single source of truth
  alongside DEFAULT_CHAT_MODEL/DEFAULT_MEMORY_MODEL.
- synapse/ollama_manager.py: is_available() cached instead of spawning a
  process per /status poll; is_running() timeout dropped 2s -> 0.5s so a
  healthy backend stops reading as dead; embed() reads the new default
  instead of a hardcoded string; de-duplicated serve-env setup.

Ported via bin/publish.sh from NexusOS-jon.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-22 22:05:37 -05:00
Jon Wingender 4a13767ffc Update README.md 2026-07-23 00:47:40 +00:00
Jon Wingender 75fa03bdcd Update README.md 2026-07-23 00:47:13 +00:00
jonandClaude Opus 4.8 d393d47a7c docs: fold the Windows quick-start back into one powershell block
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 18:27:17 -05:00
jonandClaude Opus 4.8 1ad2cee91e docs: fix step 0 markdown - keep commands fenced, explanations as prose
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 18:25:54 -05:00
jonandClaude Opus 4.8 1bd5cf966d docs: add step 0 to set the PowerShell execution policy on Windows
Process scope for the current window, LocalMachine RemoteSigned so it persists
and ncp works from later shells without -ExecutionPolicy Bypass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 18:12:12 -05:00
jonandClaude Opus 4.8 6137710c25 feat: put ncp on PATH on both platforms; rename WSL reqs to Windows
Ports the ncp PATH work from upstream. Registering ncp as a shell-profile
function failed three ways on Windows: the default Restricted execution policy
blocks the profile itself, profiles don't exist outside PowerShell (cmd, Win+R,
Task Scheduler), and the self-elevating installer writes the admin's profile.

Windows now ships management/ncp.cmd and the installer appends management\ to
the Machine PATH via [Environment]::SetEnvironmentVariable -- never setx, which
truncates PATH at 1024 chars. A .cmd is exempt from the execution policy.

Linux symlinks /usr/local/bin/ncp -> management/nexus-cli.sh, falling back to
the old .bashrc function when sudo is unavailable.

Also renames requirements-wsl.txt to requirements-windows.txt and purges stale
WSL references, including vite.config.js's dev-server comment and
controlpanel.py's "Check WSLg." error string.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 14:11:18 -05:00
jonandClaude Opus 4.8 bcad43502c Sync from upstream: README install note, CRLF fix in gen-nvidia-reqs
gen-nvidia-reqs.py wrote requirements-nvidia.txt with os.linesep, so running
it on Windows produced CRLF. Pinned to newline="\n".

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 11:06:33 -05:00
Jon Wingender 0cef68cffa Update README.md 2026-07-22 14:51:23 +00:00
jonandClaude Opus 4.8 ee6e5bead7 Replace stale bin/install.sh with a wrapper over sync.py restore
bin/install.sh still rsynced --delete from a backup path retired in July, so
the documented Linux install both failed and could erase a working tree. Every
step it claimed to do already lives in bin/sync.py, shared with Windows.

Root ./install.sh is now a thin wrapper over `sync.py restore`, so deployment
stays one bash command. It also registers ncp/promethean in ~/.bashrc, which
was the only thing the old script uniquely did.

Split restore-linux.sh into runtime (Ollama binary, shell aliases) and desktop
(XFCE panel, theme, os-release). Only desktop writes outside the repo, it now
auto-skips off XFCE, and `--no-desktop` skips it explicitly. Two tests keep the
stage names in sync and the $HOME writes confined to the desktop stage.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 08:46:46 -05:00
Jon Wingender bd8360fe45 README: use ncp start/stop, not the full nexus-cli.sh path 2026-07-21 23:23:21 -05:00
Jon Wingender b64f168bcc README: clarify public repo needs no Gitea account/token to clone 2026-07-21 23:01:26 -05:00
Jon Wingender 714b9fc890 Initial commit: NexusOS - local AI assistant platform 2026-07-21 22:48:38 -05:00