CASE 01 / LOCAL-FIRST AGENT

PUBLIC v0.1.9

息壤 · 2026 · ACTIVE

SOLUM

A personal agent that can be proactive without taking control away from its owner.

一个离线优先、可审计、跨桌面与移动端运行的个人智能助理。

7Rust workspace crates

Core, CLI, desktop app, sync, notification access, health and alarm boundaries.

v0.1.9Public core release

Version read from the local workspace manifest.

LOCALDefault data boundary

Personal schedules, memory and audit data stay in the user-owned SQLite store.

Dangerous-action grant

A confirmation token is consumed once and cannot silently authorize later actions.

01 / Product evidence

See the system at work.

Captured from the working product and its repository-backed preview states.

SOLUM notification review screen with a captured flight change reminder
02 / REVIEW QUEUE

Captured notifications enter a review queue before they can become durable schedules.

SOLUM memory ledger listing source events, reminders, actions and suggestions
03 / MEMORY LEDGER

Every transformation remains inspectable as an input, event, reminder, action or suggestion.

02 / Problem and response

Role
Product direction · system architecture · interaction · full-stack implementation

A useful personal agent needs context and initiative, yet the same capabilities can make it opaque, invasive or unsafe.

Keep deterministic scheduling, memory, guards and notifications local; make cloud inference optional; require one-time grants for high-risk actions.

03 / System trace

How the system moves.

  1. 01

    Capture

    Natural language, system shares, screenshots and connectors enter a reviewable intake path.

  2. 02

    Local core

    Deterministic parsing, injected time, scheduling, routines and memory are resolved on device.

  3. 03

    Guard

    Consequences are previewed before high-impact tools can receive a single-use grant.

  4. 04

    Optional cloud

    The current message and an intentionally bounded context can use remote inference with offline fallback.

  5. 05

    Act + audit

    Reminders and approved actions execute, then append a durable, inspectable record.

04 / Engineering decisions

The important work happened at the boundaries.

01

Inject time instead of reading it

Core flows accept `now` from the caller, making reminders and proactive behavior deterministic to replay and test.

02

Separate useful memory from unrestricted history

Semantic facts, behavior and derived reminders have explicit ledgers and deletion paths instead of one opaque transcript.

03

Fail closed for action, fail soft for conversation

A cloud outage may reduce answer quality, but it cannot bypass a guard or stop local reminders from firing.

05 / Proof, not promise

These statements come from the project's local repository, manifests and validation notes—not invented portfolio metrics.

Reproducible time

CLI flows can inject a fixed clock to replay scheduling, reminder and review behavior.

VERIFIED TRACE
Offline path

Local ingest and reminder flows remain available when the optional inference service is absent.

VERIFIED TRACE
Guard contract

Unconfirmed destructive tools are rejected; confirmed grants are single-use and append to the audit ledger.

VERIFIED TRACE

06 / Build record

RustTauri 2SQLiteAndroidHarmonyOSNode.js
2026.07

Local-first Rust core, desktop shell and deterministic action guard established.

2026.07

Account-backed optional inference and encrypted device sync boundaries added.

2026.08

Cross-product data connectors and notification intelligence continue to evolve.