AI News HubLIVE
站内改写3 min read

Show HN: Patina, an AI that learns your judgment, not just your tasks

Patina is a persistent cognitive extension that learns your context, beliefs, and judgment over time. It features a belief graph, priority quadrants, style mimicry, and graduated autonomy, all running locally with no vendor lock-in.

SourceHacker News AIAuthor: andywidjaja

Notifications You must be signed in to change notification settings

Fork 0

Star 0

BranchesTags

Open more actions menu

Folders and files

NameName

Last commit message

Last commit date

Latest commit

History

49 Commits

49 Commits

.github

.github

config

config

eval

eval

scripts

scripts

src/patina

src/patina

tests

tests

.cursorrules

.cursorrules

.gitignore

.gitignore

AGENTS.md

AGENTS.md

CLAUDE.md

CLAUDE.md

LICENSE

LICENSE

README.md

README.md

patina-demo.gif

patina-demo.gif

pyproject.toml

pyproject.toml

test_conversation.py

test_conversation.py

uv.lock

uv.lock

Repository files navigation

An AI that learns you — the longer you use it, the less you need to tell it.

Your cognitive ceiling isn't set by your intelligence. It's set by your cognitive load. Patina is a persistent extension of your cognition: it holds your context, tracks your beliefs about your world, mirrors your judgment, and improves with every interaction.

Day 1: Export your Slack. In 5 minutes, see everything you've missed, forgotten, or let slip.

Day 30: It knows your priorities, drafts in your voice, and dismisses noise automatically.

Day 90: It predicts what you'd do, catches contradictions across conversations, and operates silently.

Quick Start

Install

uv tool install patina

Initialize

patina init

Ingest from a Slack export (immediate value)

patina ingest --from-export ~/Downloads/slack-export.zip

See what needs your attention

patina catch-up

See everything ranked by priority quadrant

patina priorities

What It Does

Priority + judgment

patina catch-up # unified view: needs action / new / waiting patina priorities # grouped by quadrant (Q1-Q4) patina dismiss # dismiss noise, trains the model patina objectives add "Ship v2" --keywords "release,deploy"

Style + drafting

patina style build # build communication profiles from sent messages patina style show # view patterns for a person patina draft --to --context "follow up on the timeline"

Belief graph

patina extract # extract beliefs from observations via LLM patina beliefs --type person # entities with claim counts patina stale # decayed beliefs below confidence threshold patina contradictions # conflicting claims patina relationships --top 20 # trust level + activity map

Graduated autonomy

patina autonomy status # current level, accuracy, anti-patterns patina approve # approve a proposed action patina reject # reject (freezes advancement, stores anti-pattern) patina autonomy set-level # manual override (0-6)

Live adapters

patina connect slack --token "xoxb-..." patina ingest # fetch from configured adapters

Heartbeat (background tasks)

patina heartbeat once # ingest + decay + escalation check patina heartbeat start --interval 30

Interactive conversation (Claude Agent SDK)

patina chat

HTTP server for gateway integration

patina serve --port 8321

Telegram gateway (talk to your agent from your phone)

patina gateway

How It Works

┌─────────────────────────────────────────────────┐ │ Tier 3: Frontier LLM (Claude, GPT-4o) │ Synthesis, drafts, contradictions ├─────────────────────────────────────────────────┤ │ Tier 2: Local LLM (Qwen 3.x, Ollama) │ Entity extraction, classification ├─────────────────────────────────────────────────┤ │ Tier 1: Deterministic (no LLM) │ Scoring, decay, graph queries └─────────────────────────────────────────────────┘ ↓ all tiers feed ↓ ┌─────────────────────────────────────────────────┐ │ Belief Graph (SQLite) │ │ Entities → Relationships → Claims │ │ Confidence decay · Provenance · Contradictions │ └─────────────────────────────────────────────────┘

The system is fully functional at Tier 1 alone (zero LLM calls). Each tier adds capability but never load-bears. Local-first: all data stays in ~/.patina/store.db.

What Makes This Different

Persistent belief model with decay — not a message archive, a living world model

Judgment learned from your decisions — not universal rules, YOUR priorities

Graduated autonomy earned by accuracy — not configured, proven

Local-first, model-agnostic — runs offline, no vendor lock-in

Deterministic core — the intelligence is math and graphs, not LLM calls

Day-one value from export — no warm-up period

MCP Server

Patina runs as an MCP server for conversational use from Claude Code, Cline, or any MCP host. 21 tools including session_checkpoint for graceful context handoff and recent_messages for conversational continuity across stateless sessions.

{ "mcpServers": { "patina-core": { "command": "uv", "args": ["run", "patina-mcp"], "cwd": "/path/to/patina" } } }

Configuration

All config lives in ~/.patina/config.yaml. Credentials never leave your machine.

owner: user_ids: ["U0ABC123"] name: "Your Name" adapters: chat:

  • provider: slack

token: "xoxb-..." heartbeat: enabled: true interval_minutes: 30

Development

git clone https://github.com/Sanctum-Origo-Systems/patina.git cd patina uv sync

Generate demo data and start chatting

uv run python scripts/generate_demo_export.py --output demo-export.zip uv run patina init uv run patina ingest --from-export demo-export.zip uv run patina extract --model sonnet # re-run if it times out — skips already-processed uv run python scripts/seed_decisions.py # demo only — simulates user behavior for trust scoring uv run patina style build # build communication style profiles from sent messages uv run patina chat

Try asking:

"What needs my attention?"

"Who do I trust most?"

"What do we know about Jordan?"

"Draft a message to Alexis about the Atlas timeline"

"Any contradictions in my beliefs?"

Run tests + evals

uv run pytest uv run pytest eval/deterministic/

Lint

uv run ruff check && uv run ruff format

License

Apache 2.0

About

A persistent cognitive backend with belief graph and earned autonomy

Resources

Readme

License

Apache-2.0 license

Uh oh!

There was an error while loading. Please reload this page.

Activity

Custom properties

Stars

0 stars

Watchers

0 watching

Forks

0 forks

Report repository

Releases

5 tags

Packages 0

Uh oh!

There was an error while loading. Please reload this page.

Contributors

Uh oh!

There was an error while loading. Please reload this page.

Languages

Python 100.0%