Skip to main content

Memoria — Windows memory hygiene tray + headless cleanup CLI for agents. Concinno's user-facing memory module.

Project description

concinno-skills-memoria

Windows memory hygiene tray — RAM cleanup, scheduler, process whitelist, foreground-window exclusion, and headless CLI for agent integration.

Memoria is the user-facing application layer over Concinno's memory_relief and process_guard Win32 primitives. This sub-package ships Memoria as a standard pip-installable Python source package, plus an opt-in installer that fetches the pre-built signed Memoria.exe from a GitHub Release.

Install

Source mode (cross-platform, ~50 KB wheel)

pip install concinno-skills-memoria
python -m memoria          # tray app on Windows; CLI on Linux/Mac

The source-mode entry works on every platform Python supports. On Windows it brings up the system-tray + GUI; on Linux/Mac the GUI features no-op gracefully and only the CLI subcommands are useful.

Standalone EXE (Windows-only, ~94 MB bundle)

After installing the pip package, fetch the signed binary:

memoria-install-exe

This downloads the GitHub Release zip, verifies SHA-256, extracts to %LOCALAPPDATA%\Memoria\, and creates a Start Menu shortcut. Then Memoria.exe is available system-wide.

Set MEMORIA_RELEASE_URL env var to override the upstream release URL for forks / private deployments.

Antivirus / Distribution notes

Self-signed PyInstaller binaries trigger heuristic flags on Defender, Surfshark, Avira, and a few others on the first run. The signed release is technically valid (Authenticode verifies; SHA-256 matches the GitHub Release manifest), but the cert is not from a paid CA, so fresh installs often see the EXE quarantined.

Three avoidance paths, in order of friction:

1. Use the source-mode pip install (recommended for OSS adopters). A pure-Python package never triggers PE heuristics — pip wheels are not scanned the way EXEs are. The autostart hooks the package writes target pythonw.exe -m memoria, so login auto-launch works the same as the EXE without ever invoking a PE bundler.

2. Trust the Memoria cert at machine level (one-time, no money). After the first AV quarantine, run an elevated PowerShell once:

$cert = Get-ChildItem Cert:\CurrentUser\My |
    Where-Object { $_.Subject -like '*Memoria*' } | Select-Object -First 1
foreach ($store in 'Root','TrustedPublisher') {
    $s = New-Object System.Security.Cryptography.X509Certificates.X509Store($store, 'LocalMachine')
    $s.Open('ReadWrite'); $s.Add($cert); $s.Close()
}
Add-MpPreference -ExclusionPath  "$env:LOCALAPPDATA\Memoria"
Add-MpPreference -ExclusionProcess 'Memoria.exe'
Add-MpPreference -ExclusionProcess 'Memoria-cli.exe'
& 'C:\Program Files\Windows Defender\MpCmdRun.exe' -Restore -Name Memoria.exe

After this, every Memoria EXE signed by the same cert (across all future updates) is trusted by Defender + the OS shell. No further prompts.

3. Submit SHA-256 to AV vendor whitelists (free, 2-7 days). Defender, Avira, Surfshark, Avast, BitDefender, Kaspersky, and Trend Micro all accept false-positive submissions. Forking maintainers should re-submit each release's SHA-256 — once approved the EXE is permanently whitelisted upstream for every user. We do this for the canonical Memoria release; downstream forks need to re-submit their own SHAs.

The pip route (path 1) is the recommended distribution channel for the OSS ecosystem precisely because it sidesteps all three AV surfaces. The EXE route is a convenience for users who don't want to install Python.

Headless CLI for agents

# Print one memory snapshot as JSON
memoria --snap --compact

# Run a SAFE-tier cleanup, agent-style (no history pollution, quiet)
memoria --tier=safe --json --no-history --compact --quiet

# Force-trim the foreground app too (useful for benchmarking)
memoria --tier=safe --no-exclude-foreground

# Standalone EXE works the same way
Memoria.exe --tier=safe --json

JSON schema_version 1.0 contract (top-level fields):

{
  "schema_version": "1.0",
  "when": "...",
  "mode": "safe",
  "before": {"used_pct": ..., "available_gb": ..., ...},
  "after":  {"used_pct": ..., ...},
  "freed_mb": 512,
  "process_guard_run": false,
  "history_persisted": false,
  "exit_status": "ok",
  "report": {
    "reclaimed_mb": 512, "elapsed_ms": 1234,
    "is_admin": false, "foreground_excluded": "chrome.exe",
    "stages": [...], "process_trims": [...], "notes": []
  }
}

Exit codes: 0 success / 1 partial (≥1 stage errored) / 2 failure (engine raised) / 3 invalid args.

Foreground window exclusion

By default Memoria spares the foreground window's process from per- process trim. Reasoning: a working-set trim costs the trimmed process 1-3 s of page-fault refill on the next mouse move, which is invisible on backgrounded apps but jarring on whatever the user is actively typing in / playing.

Toggle via --exclude-foreground / --no-exclude-foreground on the CLI, or set state.exclude_foreground_enabled (persisted in ~/.memoria/state.json).

Limitation: image-name granularity. If chrome.exe is foreground, every Chrome process is spared, not just the visible PID. PID-tree exclusion needs concinno.memory_relief.engine.run_cleanup to accept an exclude_pids: frozenset[int] argument — staged for a future concinno release.

Build the EXE locally

pip install concinno-skills-memoria[build]
# Then from a checkout that contains memoria.spec + memoria_launch.py:
pyinstaller --noconfirm memoria.spec

The bundled PyInstaller spec produces an onedir bundle (loader + _internal/) that Surfshark / Avira no longer flag as suspicious (historically --onefile triggered self-extract heuristics — see project handoff for forensic details).

For signed distribution: the included build_signed_exe.ps1 (in the parent scripts/ directory of the canonical workspace) handles build + Authenticode self-sign + verify in one shot. Bring your own cert with subject CN=AI King — Memoria (or pass -CertSubject to the script).

Source-of-truth

The canonical Memoria source currently lives at ~/.claude/scripts/memoria/ in the AI King workspace. Files under src/memoria/ in this package are a copy synced for distribution.

Sync direction: scripts/memoria/src/memoria/. To regenerate from the canonical workspace::

# From the workspace root
Copy-Item -Force -Recurse `
    "$env:USERPROFILE\.claude\scripts\memoria\*.py" `
    "projects\concinno-skills-memoria\src\memoria\"

A future migration consolidates source canonically into src/memoria/ and turns ~/.claude/scripts/memoria/ into a junction or re-export shim. Tracked in the parent project handoff.

License

AGPL-3.0-or-later. See LICENSE — same license as Concinno.

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

concinno_skills_memoria-0.4.4.tar.gz (102.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

concinno_skills_memoria-0.4.4-py3-none-any.whl (99.8 kB view details)

Uploaded Python 3

File details

Details for the file concinno_skills_memoria-0.4.4.tar.gz.

File metadata

  • Download URL: concinno_skills_memoria-0.4.4.tar.gz
  • Upload date:
  • Size: 102.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for concinno_skills_memoria-0.4.4.tar.gz
Algorithm Hash digest
SHA256 4af82b9e65ce059bb2f4fdc9a43d64d7619c99dc80867e47c631bdd329e56198
MD5 5db97b4cdeff537af3e2d0d90ba790df
BLAKE2b-256 a454e2b280513b2ffc35020ecd18707ab3f192064197e80eec56c773808aa265

See more details on using hashes here.

File details

Details for the file concinno_skills_memoria-0.4.4-py3-none-any.whl.

File metadata

File hashes

Hashes for concinno_skills_memoria-0.4.4-py3-none-any.whl
Algorithm Hash digest
SHA256 998c72f5f299278d0cc801b7d2d1a9925b2fc97c72c41255564585a80360b8e3
MD5 985939c3ddfbfd4acf61fe8e14c011ec
BLAKE2b-256 f832d327d61c450dbcda779ac4d65b1c601a205171d1b1a16ba29eefa4101967

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page