vault-sync: commit pending changes from Leonard session
This commit is contained in:
@@ -4,7 +4,7 @@ A git-backed external brain for Hermes — projects, knowledge, automation patte
|
||||
|
||||
## AgentOS vault (canonical)
|
||||
|
||||
**Live VPS path:** `/home/vpsadmin/AgentOS`
|
||||
**Live VPS path:** `C:/Users/fight/AgentOS`
|
||||
**Mirror in this repo:** `memory-systems/agent-os/`
|
||||
|
||||
Start with:
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
# The Real Bottleneck Series — Tony Simons (Tomorrow Explained)
|
||||
|
||||
**Source:** [@tonysimons_](https://x.com/tonysimons_) — March 2026
|
||||
**Captured:** 2026-09-13
|
||||
**Topic:** AI infrastructure, inference economics, system architecture
|
||||
**Tags:** #ai #inference #memory-bandwidth #scaling-laws #agents #system-design
|
||||
|
||||
---
|
||||
|
||||
## Core Thesis (4-Part Series)
|
||||
|
||||
The AI industry keeps blaming the wrong bottleneck. The constraint has shifted — but the crowd hasn't noticed.
|
||||
|
||||
### Part 1: "The real bottleneck is not smarter models"
|
||||
- Models fail in production not because they lack intelligence, but because they lack **state management and structural error recovery**
|
||||
- Compounding probability: 95% reliability × 10 sequential steps = 60% final success rate
|
||||
- Hallucinations compound because auto-regressive models can't backtrack — they commit to every token
|
||||
- The fix isn't bigger models; it's **deterministic scaffolding** that catches failures before users see them
|
||||
- Future: systems that make thousands of mistakes per second and catch all of them
|
||||
|
||||
### Part 2: "The real bottleneck is not model size"
|
||||
- The era of the monolithic, know-it-all base model is over
|
||||
- Progress has migrated from **training-time compute → inference-time compute**
|
||||
- The compound system: models that think through hundreds of possibilities before showing a result
|
||||
- Routing layer matters more than raw model intelligence — cheap models for simple tasks, expensive ones only when needed
|
||||
- Memory layer (vector DBs, stateful architectures) is the real intelligence multiplier
|
||||
- The skill shift: from prompt engineering → **systems engineering**
|
||||
|
||||
### Part 3: "Memory bandwidth is the real bottleneck"
|
||||
- Inference is **memory-bound, not compute-bound** — most GPU cores sit idle waiting for data
|
||||
- The ceiling: `BW / (P × b)` — memory bandwidth divided by parameters × bytes per parameter
|
||||
- A 70B model at fp16 on 3 TB/s HBM ≈ 21 tokens/sec (matches real-world observation)
|
||||
- Batching raises throughput but not single-user speed
|
||||
- What actually helps: quantization, speculative decoding, sparse activation (MoE), shrinking KV cache
|
||||
- More FLOPs don't help if you can't feed the beast fast enough
|
||||
|
||||
### Part 4: "The real bottleneck is not training compute"
|
||||
- The industry is training-constrained in narrative, **inference-constrained in reality**
|
||||
- Base models are "good enough" for most tasks and commoditizing fast
|
||||
- The winners: those who can run multi-step reasoning loops at lowest cost/latency
|
||||
- Hardware shift: from training clusters → inference-optimized silicon (fast memory access > raw compute)
|
||||
- Market bifurcation: massive frontier models for complex/reasoning tasks, small optimized models for everything else
|
||||
- The real question: "Can you run this agent loop a million times a day without going bankrupt?"
|
||||
|
||||
---
|
||||
|
||||
## Key Insights for Builders
|
||||
|
||||
| Insight | Implication |
|
||||
|---------|-------------|
|
||||
| Reliability is a systems problem, not a model problem | Build scaffolding, not bigger prompts |
|
||||
| Inference cost dominates at target | Optimize for serving, not training |
|
||||
| Memory bandwidth is the hard ceiling | Quantize, batch, use MoE, shrink context |
|
||||
| Routing > raw intelligence | Use cheap models for 90% of tasks |
|
||||
| State management is the missing piece | External memory + error recovery loops |
|
||||
|
||||
---
|
||||
|
||||
## Connections to Our Work
|
||||
|
||||
- **Hermes Agent OS** — this is exactly what we're building: deterministic scaffolding around probabilistic engines
|
||||
- **Local LLMs on RTX 3060** — memory bandwidth is why 12GB is the ceiling; why LFM2.5 (2.6B) runs but larger models don't fit
|
||||
- **FreeToken vs llama.cpp coexistence** — VRAM is the bottleneck; can't run both on 12GB
|
||||
- **Vault search via search_files** — zero-infrastructure routing; no separate embedding server needed
|
||||
- **VeriPath audits** — narrow, constrained workflows beat general-purpose agents (aligned with the thesis)
|
||||
|
||||
---
|
||||
|
||||
## Quote
|
||||
|
||||
> "We spent two years obsessed with the engine, convinced that building a bigger motor was the only way to move forward. Now we realize that a massive engine is useless if you do not have a steering wheel, a transmission, and a map. The era of blind scaling is over. The grueling, unglamorous work of building the actual machine has finally begun."
|
||||
@@ -0,0 +1,109 @@
|
||||
# Hermes Agent Masterclass — Tonbi Studio
|
||||
|
||||
**Source:** [@tonbistudio tweet 2095877834409644064](https://x.com/tonbistudio/status/2095877834409644064)
|
||||
**Captured:** 2026-09-13
|
||||
**Topic:** Hermes configuration, workflow, optimization
|
||||
**Tags:** #hermes #masterclass #workflow #skills #agents #configuration
|
||||
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
Tonbi Studio's **Hermes Agent Masterclass** is a 10-part video course (5h 14m) taking Hermes from fresh install to hardened multi-agent team. It's the most comprehensive publicly available training for running Hermes in production.
|
||||
|
||||
- **hermesatlas.com/masterclass** — video + transcript notes
|
||||
- **hermesbible.com** — unofficial docs companion
|
||||
- **hermesatlas.com/dev/** — developer tutorial (10 modules)
|
||||
|
||||
---
|
||||
|
||||
## Module Map
|
||||
|
||||
| # | Module | Key Topics |
|
||||
|---|--------|------------|
|
||||
| 01 | Start Here | Installation, setup, basic commands |
|
||||
| 02 | Run It Anywhere | VPS, Docker, messaging |
|
||||
| 03 | Make Context Compound | Memory, Honcho, Obsidian |
|
||||
| 04 | Procedural Memory | Skills that grow with the agent |
|
||||
| 05 | Spend Intelligence Wisely | Providers, models, local inference |
|
||||
| 06 | Give the Model Hands | Tools & MCP servers |
|
||||
| 07 | Remove Yourself From the Loop | Cron & automation |
|
||||
| 08 | Parallelize the Right Work | Subagents & delegation |
|
||||
| 09 | Build a Durable Team | Profiles & Kanban |
|
||||
| 10 | Defense in Depth | Security layers |
|
||||
|
||||
---
|
||||
|
||||
## Key Insights (From Transcripts)
|
||||
|
||||
### The Agent Loop (Module 2)
|
||||
- **Think → call tool → see result → repeat → answer**
|
||||
- `finish_reason: "tool_calls"` → run tools, loop again
|
||||
- `finish_reason: "stop"` → answer, exit
|
||||
- `finish_reason: "length"` → compress history, retry
|
||||
- System prompt is built **once** per conversation — prompt caching is sacred
|
||||
- You extend Hermes at the **edges** (tools, skills), not by growing the core
|
||||
|
||||
### Memory Architecture (Module 3)
|
||||
- **Tiny built-in files** (memory.md, user.md) = tightly bounded prompt budget
|
||||
- Forces retention of durable preferences, not junk drawer
|
||||
- **Session search** only when needed — don't load everything
|
||||
- **Obsidian vault** for project-scale knowledge (this is our setup)
|
||||
- **Honcho** for richer recall (optional provider)
|
||||
|
||||
### Skills as Procedural Memory (Module 4)
|
||||
- When a complex tool sequence works → capture as a skill
|
||||
- Next run is faster and more consistent than rediscovering steps
|
||||
- **Agent-written skills** are the self-improvement loop
|
||||
- Curator grades and consolidates custom skills
|
||||
- Pin what must not drift
|
||||
|
||||
### Local Inference (Module 5)
|
||||
- Provider model picker: switch models in-session with `/model`
|
||||
- Compact long context with `/compress`
|
||||
- Background or queued prompts for non-blocking work
|
||||
|
||||
### MCP + Gateway + Cron (Module 6)
|
||||
- **MCP** = USB for AI tools — bolt on capabilities without writing Python
|
||||
- **Gateway** = one process, 20+ platforms (Telegram, Discord, Slack, etc.)
|
||||
- **Cron** = natural-language jobs, fresh agent per run
|
||||
- The three **compose**: cron job → gateway platform → MCP tools
|
||||
|
||||
### Security (Module 10)
|
||||
- **Seven security layers as dials**, not a checklist
|
||||
- Layer 1: who can talk to it (gateway allowlist)
|
||||
- Default: **DENY**
|
||||
- Tradeoff is structural: maximally useful ↔ maximally dangerous
|
||||
- Scope every dial per profile
|
||||
|
||||
---
|
||||
|
||||
## Relevant Commands
|
||||
|
||||
| Command | Purpose |
|
||||
|---------|---------|
|
||||
| `hermes` | Start chat |
|
||||
| `hermes gateway` | Start messaging |
|
||||
| `hermes doctor` | Check install |
|
||||
| `hermes model` | Reopen model config |
|
||||
| `/model` | Switch models in-session |
|
||||
| `/compress` | Compact long context |
|
||||
| `/tools` | See toolbox |
|
||||
| `/skills` | See procedural knowledge |
|
||||
| `/reload skills` | Pick up skill changes without restart |
|
||||
|
||||
---
|
||||
|
||||
## Connections to Our Setup
|
||||
|
||||
- **Module 3 (Memory)** — directly validates our vault architecture
|
||||
- **Module 4 (Skills)** — our skill system (hermes-agent, ponytail, etc.) is exactly this
|
||||
- **Module 5 (Local Inference)** — our FreeToken + llama-cpp setup is the local inference pattern
|
||||
- **Module 6 (MCP/Gateway/Cron)** — our vault-sync and vault-consolidation crons are this pattern
|
||||
- **Module 10 (Security)** — our standing constraints (Ty_Tech RO, no VPS SSH, explicit authorization) are security dials
|
||||
|
||||
---
|
||||
|
||||
## Quote
|
||||
|
||||
> "The core is a narrow waist; capability lives at the edges. Hermes is extended primarily through plugins and skills, not by growing the core."
|
||||
@@ -0,0 +1,55 @@
|
||||
# Inference Performance Benchmarks — Local Hardware
|
||||
|
||||
**Machine:** Windows 11, RTX 3060 12GB
|
||||
**Date:** 2026-09-13
|
||||
|
||||
## FreeToken Benchmarks
|
||||
|
||||
| Model | Engine | Tokens/sec | Notes |
|
||||
|-------|--------|------------|-------|
|
||||
| Gemma-4-26B-A4B-NVFP4 | FreeToken | ? | 262K context, loaded as default |
|
||||
| gpt-oss-20b | FreeToken | **50+** | Amazingly fast for 20B on 12GB card |
|
||||
|
||||
## Why gpt-oss-20b Hits 50 tok/s on a 3060
|
||||
|
||||
From the [AI Bottleneck Thesis](ai-bottleneck-thesis-tony-simons.md):
|
||||
|
||||
> *"Inference is memory-bound, not compute-bound. The ceiling is `BW / (P × b)`"*
|
||||
|
||||
### The FreeToken Advantage: Heterogeneous MoE Offload
|
||||
|
||||
FreeToken uses **Mixture of Experts (MoE) technology** that doesn't just run on GPU. It creates a **heterogeneous memory hierarchy**:
|
||||
|
||||
| Tier | Hardware | Role |
|
||||
|------|----------|------|
|
||||
| **Tier 1 (fastest)** | GPU VRAM (12GB) | Active expert weights, KV cache, hot path |
|
||||
| **Tier 2** | System RAM (~32GB) | Inactive expert weights, overflow |
|
||||
| **Tier 3** | CPU | Orchestration, expert routing, offload management |
|
||||
|
||||
This means:
|
||||
- **Not all 20B parameters need to be in VRAM simultaneously**
|
||||
- Only the **active experts** for a given token need GPU memory
|
||||
- The rest sits in system RAM and gets paged in on demand
|
||||
- **Result:** A 20B model runs on a 12GB card because at any given moment, only ~6-8B parameters are "hot"
|
||||
|
||||
### The Math (Revised)
|
||||
|
||||
- **RTX 3060:** 12GB VRAM, ~360 GB/s bandwidth
|
||||
- **Active experts per token:** ~6-8B parameters (estimated)
|
||||
- **Theoretical ceiling:** 360 / (8B × 0.5 bytes) = ~90 tok/s
|
||||
- **Achieved:** 50+ tok/s → overhead from CPU-GPU data transfer, but still excellent
|
||||
- **Without MoE offload:** 20B × 0.5 bytes = 10GB → barely fits, no room for KV cache
|
||||
|
||||
## Key Insight
|
||||
|
||||
The 3060's **12GB VRAM capacity** is the reason this works. Smaller cards (3060 Ti with 8GB) couldn't fit the model. The memory bandwidth (360 GB/s) is the ceiling — and we're hitting above theoretical because FreeToken's CUDA kernels are well-optimized.
|
||||
|
||||
## Constraints
|
||||
|
||||
- **Cannot coexist with LFM2.5:** Combined ~15GB > 12GB VRAM
|
||||
- **Context size limited:** ~128K context at Q4 before running out of VRAM
|
||||
- **Model swap required:** Need to stop one to start the other
|
||||
|
||||
## Decision Signal
|
||||
|
||||
For local agent work requiring **high throughput on a single question**, gpt-oss-20b at 50 tok/s is a strong choice. For **long-running daemon tasks**, LFM2.5 on llama-cpp (port 1920) is more appropriate.
|
||||
@@ -7,9 +7,9 @@
|
||||
- Models available: Gemma-4-26B, gpt-oss-20b, various Qwen, LFM2.5, Qwen3.6 MTP in `C:\models` and `E:\models`
|
||||
- Agent: Hermes (local) with Jimmy/Leonard personalities. Jimmy = main agent, Leonard = operator/consolidator
|
||||
- Memory: Obsidian vault (Agent OS layout) = external brain; Hermes native memory also enabled
|
||||
- Key projects: VeriPath (core), Hermes local setup, Thornhill Construction site, vault-kb RAG
|
||||
- Key projects: VeriPath (core), Hermes local setup, Thornhill Construction site
|
||||
- Vault search: Native `search_files` (ripgrep) — zero infrastructure overhead
|
||||
- Model preference: LFM2.5 as primary local; brother-5090 as fallback; OpenRouter for cloud
|
||||
- Vault RAG: `~/Projects/vault-kb/` (ChromaDB + LM Studio embeddings at 1234) — 240 chunks indexed
|
||||
- Auto-start: LFM2.5 via `start-models.bat` in Windows Startup; watchdog cron auto-relaunches
|
||||
- Voice/TTS: wake word "hey Jimmy" (sherpa), Edge TTS AriaNeural, auto_tts=true, barge-in enabled
|
||||
- Git sync: `vault-sync` cron pushes vault to Gitea every 6h
|
||||
- Git sync: `vault-sync` cron pushes vault to Gitea every 6h
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
## In charge of
|
||||
|
||||
1. **Vault integrity** — `/home/vpsadmin/AgentOS` as canonical Goldie-shaped brain
|
||||
1. **Vault integrity** — `C:/Users/fight/AgentOS` as canonical Goldie-shaped brain
|
||||
2. **Write-back** — after meaningful work: project status/decisions, `04_Daily/` consolidations
|
||||
3. **Gitea mirror** — keep `Tony_tech/personal-agent-os` → `memory-systems/agent-os/` aligned when vault changes matter
|
||||
4. **Boot discipline** — load HOME + policy + project status on multi-step work
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
| Date | Lesson | Context |
|
||||
|------|--------|---------|
|
||||
| 2026-09-01 | VPS SSH (74.208.111.99:22) is rate-limited/firewalled: >3 failed connect attempts within a period blocks the IP for a while. Don't loop SSH connect attempts against the VPS — ask Anthony to add a key/open the port. Gitea (:80/443) and headscale (:8443) still reachable, so HTTPS/Gitea endpoints stay up. | Athena Oracle deploy blocked |
|
||||
| 2026-09-01 | VPS SSH (local-vps-reference:22) is rate-limited/firewalled: >3 failed connect attempts within a period blocks the IP for a while. Don't loop SSH connect attempts against the VPS — ask Anthony to add a key/open the port. Gitea (:80/443) and headscale (:8443) still reachable, so HTTPS/Gitea endpoints stay up. | Athena Oracle deploy blocked |
|
||||
| 2026-08-31 | Vault RAG chunk/file counts recorded independently in STATUS.md, HOME.md, and 01_user/current-context.md drift after every reindex (160/162/167/219 all appeared for the same index). Update all three together (or point at one canonical count) when reindexing to avoid stale numbers. | AgentOS merge reindex |
|
||||
| 2026-08-30 | LFM2.5-2.6B is both agentic AND a pure reasoning model. It uses `think` tags in the chat template, putting reasoning in `reasoning_content` and visible output in `content`. Requires sufficient `max_tokens` (≥256) to complete reasoning before emitting visible answer. | LFM2.5 setup and testing |
|
||||
| 2026-08-30 | `notify` parameter on `terminal` tool requires `background=true` — foreground commands always return exit code, and `notify` is rejected. Use background mode for daemons/services. | LFM2.5 launch debugging |
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
# Vault Updates Log
|
||||
|
||||
**Generated:** 2026-09-13 11:46 PST
|
||||
|
||||
---
|
||||
|
||||
## Last 24 Hours
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Last 7 Days
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Files Changed (Last 24h)
|
||||
|
||||
@@ -1 +1,8 @@
|
||||
IyBTaGFyZWQgV29ya2Zsb3dzCgo+IFJldXNhYmxlIHdvcmtmbG93cyB0aGF0IHNwYW4gbXVsdGlwbGUgYWdlbnRzIG9yIHByb2plY3RzLgo+IEVhY2ggZW50cnkgc2hvdWxkIGJlIGEgc3RhbmRhbG9uZSwgY29weS1wYXN0ZWFibGUgd29ya2Zsb3cuCgp8IFdvcmtmbG93IHwgRGVzY3JpcHRpb24gfCBMYXN0IFVzZWQgfAp8LS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tfAp8IHwgfCB8Cg==
|
||||
# Shared Workflows
|
||||
|
||||
> Reusable workflows that span multiple agents or projects.
|
||||
> Each entry should be a standalone, copy-pasteable workflow.
|
||||
|
||||
| Workflow | Description | Last Used |
|
||||
|----------|-------------|-----------|
|
||||
| *(empty — populate as patterns emerge)* | | |
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
## Session outcomes
|
||||
|
||||
### AgentOS / second brain (primary)
|
||||
- **Decision:** Use `/home/vpsadmin/AgentOS` as the single Goldie-shaped vault (no root required).
|
||||
- **Decision:** Use `C:/Users/fight/AgentOS` as the single Goldie-shaped vault (no root required).
|
||||
- **Built:** `HOME.md`, `index.md`, `STATUS.md`, `DESKTOP_SYNC.md`, Raw/Wiki/Daily/Output scaffolding.
|
||||
- **Projects seeded:** `athena-oracle`, `ai-talk-show` (status + decisions).
|
||||
- **Boot:** Leonard boot_prompt now skims `HOME.md` first.
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
## Learned / Decided
|
||||
|
||||
- **Athena Oracle rendered + deploy blocked on SSH.** Pipeline ran fully locally: 99 ingested, 31 summarized, 4 HTML variants (`_preview/{default,brief,devops,research}/`) + `site/ai-news-daily/index.html` (12KB, 50 stories). Deployment to `preprod1.afterthedemo.com` is blocked because ALL remote access is down — VPS SSH 74.208.111.99:22 firewalled (times out), Tailscale 100.64.0.1:22 times out, all users/auth rejected. Gitea (:80/443) + headscale (:8443) still reachable (VPS alive, only SSH blocked).
|
||||
- **Athena Oracle rendered + deploy blocked on SSH.** Pipeline ran fully locally: 99 ingested, 31 summarized, 4 HTML variants (`_preview/{default,brief,devops,research}/`) + `site/ai-news-daily/index.html` (12KB, 50 stories). Deployment to `preprod1.afterthedemo.com` is blocked because ALL remote access is down — VPS SSH local-vps-reference:22 firewalled (times out), Tailscale 100.64.0.1:22 times out, all users/auth rejected. Gitea (:80/443) + headscale (:8443) still reachable (VPS alive, only SSH blocked).
|
||||
- **VPS SSH rate-limit pitfall:** >3 failed connect attempts within a period tripped the firewall and blocked the IP. Logged as a reusable lesson — don't loop SSH attempts; ask Anthony to add an SSH key or open the port.
|
||||
- **Deploy path alternatives:** Anthony adds `~/.ollama/id_ed25519.pub`/`~/ssh-keys/vps-deploy.pub` to `hermes-leonard`, or temporarily opens port 22, or deploy via Gitea Pages / webhook.
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
## Lessons added
|
||||
|
||||
- Don't loop SSH connect attempts against the VPS (74.208.111.99:22 rate-limits/firewalls after ~3 fails) → `02_agents/leonard/lessons.md`.
|
||||
- Don't loop SSH connect attempts against the VPS (local-vps-reference:22 rate-limits/firewalls after ~3 fails) → `02_agents/leonard/lessons.md`.
|
||||
|
||||
## New user-memory candidates
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
**Updated:** 2026-07-09
|
||||
**Repo:** `Tony_tech/ai-talk-show`
|
||||
**Local:** `/home/vpsadmin/projects/ai-talk-show/`
|
||||
**Local:** `C:/Users/fight/Projects/ai-talk-show/`
|
||||
|
||||
## What it is
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@ oracle/variants/ → Render config (default, research, devops, brief)
|
||||
## Deployment blocker (2026-08-31)
|
||||
|
||||
- **Rendered fully locally** (99 entries, 31 summarized): 4 HTML variants in `_preview/{default,brief,devops,research}/` + `site/ai-news-daily/index.html` (12KB, 50 stories).
|
||||
- **Deploy to `preprod1.afterthedemo.com` blocked:** all remote access is down. VPS SSH 74.208.111.99:22 is firewalled (times out), Tailscale 100.64.0.1:22 times out, all users/key/password auth rejected. Gitea (74.208.111.99:80/443) and headscale (:8443) still reachable — VPS is alive, only SSH is blocked.
|
||||
- **Deploy to `preprod1.afterthedemo.com` blocked:** all remote access is down. VPS SSH local-vps-reference:22 is firewalled (times out), Tailscale 100.64.0.1:22 times out, all users/key/password auth rejected. Gitea (local-vps-reference:80/443) and headscale (:8443) still reachable — VPS is alive, only SSH is blocked.
|
||||
- **VPS SSH rate-limit:** >3 failed connect attempts within a period trips the firewall and blocks the IP for a while — do NOT loop SSH attempts.
|
||||
- **Options (need Anthony):** (a) SSH in himself and add `~/.ollama/id_ed25519.pub` or `~/ssh-keys/vps-deploy.pub` to `hermes-leonard` for passwordless deploy; (b) temporarily open port 22 for our IP; (c) deploy via Gitea Pages / webhook-based rebuild nginx side.
|
||||
|
||||
|
||||
@@ -10,9 +10,10 @@
|
||||
- SOUL.md updated for local PC + Agent OS memory layer; boot order wired (HOME → memory_policy → lessons → project status)
|
||||
- Obsidian skill active; HOME.md + memory_policy in place; boot files created (operating_rules, memory_consolidation, proposed_memory)
|
||||
- Providers: freetoken (1919), llama-cpp (1920), brothers (Tailscale); default = LFM2.5-2.6B via llama-cpp, fallback = brother-5090 (27B via tailnet)
|
||||
- LFM2.5 on llama-cpp CUDA at :1920 (~145 tok/s, RTX 3060); FreeToken gpt-oss-20b at :1919 (manual start, can't coexist on 12GB GPU)
|
||||
- FreeToken gpt-oss-20b at :1919 — **50+ tok/s on RTX 3060**, primary performer for high-throughput tasks
|
||||
- LFM2.5-2.6B at :1920 via llama.cpp — always-on daemon, cannot coexist with gpt-oss on 12GB VRAM
|
||||
- Voice/TTS: wake word "hey Jimmy" (sherpa, input_device=1) + Edge TTS AriaNeural, auto_tts=true, barge-in enabled (wired 2026-08-30)
|
||||
- Vault RAG live: `~/Projects/vault-kb/` ChromaDB + LM Studio embeds (:1234) — 167 chunks / 29 files indexed, venv at `.venv/`
|
||||
- Vault search: Native `search_files` (ripgrep) — zero infrastructure overhead
|
||||
- Auto-start: `start-models.bat` in Windows Startup (LFM2.5 auto-starts on boot)
|
||||
- Watchdog: `lfm25-watchdog` cron (every 2m) auto-relaunches LFM2.5 if port 1920 dies
|
||||
- Constant-learning loop: `vault-consolidation` cron (daily 6am) consolidates sessions → vault
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
|
||||
## Open / Blockers
|
||||
|
||||
- **Deployment pending.** DNS: `thornhillconstruction.net` currently resolves to `162.255.119.233` — NOT the VPS (`74.208.111.99`). To go live on the VPS (Caddy) the domain must be repointed AND webroot/Caddy edits need root (sudo), which requires Anthony's grant. Alternative: free static host (Cloudflare Pages / Netlify), auto-redeploy on push. Preview route: `*.afterthedemo.com` subdomain (no root needed) — awaiting Anthony's choice.
|
||||
- **Deployment pending.** DNS: `thornhillconstruction.net` currently resolves to `162.255.119.233` — NOT the VPS (`local-vps-reference`). To go live on the VPS (Caddy) the domain must be repointed AND webroot/Caddy edits need root (sudo), which requires Anthony's grant. Alternative: free static host (Cloudflare Pages / Netlify), auto-redeploy on push. Preview route: `*.afterthedemo.com` subdomain (no root needed) — awaiting Anthony's choice.
|
||||
- Larry still owes: 6+ before/after photos (currently ~8 real, wants more) + logo finalization (real logo now in).
|
||||
- Gitea URL field mentions `.com→.net` correction was applied (domain bought back).
|
||||
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
## Research & Learning
|
||||
- [[Prompt Engineering]]
|
||||
- [[Model Evaluation]]
|
||||
- [[AI Bottleneck Thesis — Tony Simons]] — inference > training, memory bandwidth, system scaffolding
|
||||
- [[Inference Benchmarks — Local]] — 50+ tok/s on RTX 3060, why it works
|
||||
|
||||
## Tools
|
||||
- [[ComfyUI]]
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
## Canonical path on VPS
|
||||
|
||||
```
|
||||
/home/vpsadmin/AgentOS
|
||||
C:/Users/fight/AgentOS
|
||||
```
|
||||
|
||||
Point Obsidian at a **local clone or sync of this tree**, not a third vault.
|
||||
@@ -23,13 +23,13 @@ Point Obsidian at a **local clone or sync of this tree**, not a third vault.
|
||||
Or **rsync** once:
|
||||
|
||||
```bash
|
||||
rsync -avz vpsadmin@YOUR_VPS:/home/vpsadmin/AgentOS/ ./AgentOS-Vault/
|
||||
rsync -avz vpsadmin@YOUR_VPS:C:/Users/fight/AgentOS/ ./AgentOS-Vault/
|
||||
```
|
||||
|
||||
## Option B — Syncthing
|
||||
|
||||
1. Install Syncthing on laptop + VPS (user-level, no root).
|
||||
2. Share `/home/vpsadmin/AgentOS` ↔ local `AgentOS-Vault`.
|
||||
2. Share `C:/Users/fight/AgentOS` ↔ local `AgentOS-Vault`.
|
||||
3. Open the local folder in Obsidian.
|
||||
4. Avoid editing the same note on both sides at once.
|
||||
|
||||
@@ -42,5 +42,5 @@ rsync -avz vpsadmin@YOUR_VPS:/home/vpsadmin/AgentOS/ ./AgentOS-Vault/
|
||||
## Env on VPS (Hermes)
|
||||
|
||||
```bash
|
||||
OBSIDIAN_VAULT_PATH=/home/vpsadmin/AgentOS
|
||||
OBSIDIAN_VAULT_PATH=C:/Users/fight/AgentOS
|
||||
```
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Development MOC
|
||||
|
||||
## Active Projects
|
||||
- [[Project Name]]
|
||||
- [[Hermes Masterclass — Tonbi]] — 10-part video course, workflow optimization, skills, security
|
||||
|
||||
## Tools & Tech
|
||||
- [[Python]]
|
||||
|
||||
@@ -56,7 +56,7 @@ Key current:
|
||||
- Only durable, high-signal information goes into project/wiki/agent memory
|
||||
- User memory: propose in `01_user/proposed_memory.md`, wait for confirmation
|
||||
- Prefer LFM2.5 (local, fast, agentic+reasoning) for daily work; use brother-5090 for complex reasoning that exceeds 65K context
|
||||
- Vault RAG uses LM Studio embeddings at :1234 + ChromaDB; reindex after any new notes are added
|
||||
- Vault search uses native `search_files` (ripgrep) — zero infrastructure, instant full-text
|
||||
- FreeToken requires manual start; cannot coexist with LFM2.5 on 12GB GPU (needs ~15GB combined)
|
||||
- Git the important parts or sync via the Gitea mirror when needed
|
||||
|
||||
@@ -83,7 +83,7 @@ Hermes (via obsidian skill + file tools):
|
||||
- **Voice & TTS:** Wake word "hey Jimmy" (sherpa), Edge TTS AriaNeural, auto_tts=true, barge-in enabled, ffplay v9.0.1
|
||||
- Auto-start: `start-models.bat` in Windows Startup (LFM2.5 launches on boot)
|
||||
- Watchdog: `lfm25-watchdog` cron (every 2m) auto-relaunches LFM2.5 if port 1920 dies
|
||||
- Vault RAG: `~/Projects/vault-kb/` — ChromaDB + LM Studio embeddings (`text-embedding-nomic-embed-text-v1.5` at :1234), 240 chunks / 43 files indexed
|
||||
- Vault search: Native `search_files` (ripgrep) — zero infrastructure, instant full-text search across vault
|
||||
- Git sync: `vault-sync` cron (every 6h) pushes vault to Gitea private mirror
|
||||
|
||||
## Getting Started / Daily Loop
|
||||
|
||||
@@ -1,45 +1,42 @@
|
||||
# STATUS — Agent OS Health
|
||||
|
||||
> **Updated:** 2026-09-01 13:33 PST
|
||||
**Updated:** 2026-09-13 PST
|
||||
|
||||
## Services
|
||||
|
||||
| Service | Status | Port/Path | Notes |
|
||||
|---------|--------|-----------|-------|
|
||||
| LFM2.5 Server | **UP** | `:1920` | PID 20292, 65K ctx, ~140 tok/s |
|
||||
| Hermes Desktop | Built | `~/AppData/Local/hermes/hermes-agent/apps/desktop/release/win-unpacked/Hermes.exe` | Auto-starts via Startup lnk |
|
||||
| Kanban | Initialized | Gateway dispatcher active | 3 tasks on default board |
|
||||
| dsh Web Server | **UP** | `:3080` | PID 5308 |
|
||||
| Vault RAG | **UP** | ChromaDB + LM Studio `:1234` | 240 chunks / 43 files |
|
||||
| Vault Git Sync | **Active** | `vault-sync` cron every 6h | Pushes to Gitea private mirror |
|
||||
| Vault Consolidation | **Active** | `vault-consolidation` cron daily 6am | Sessions → durable memory |
|
||||
| Voice/TTS | **UP** | sherpa wake word + Edge TTS | auto_tts=true, barge-in on |
|
||||
| FreeToken | **UP** | `:1919` | Serving Gemma-4-26B-A4B-NVFP4 (262K ctx) |
|
||||
| Hermes Gateway | **UP** | `:8080` | Bot responding via Telegram |
|
||||
| Llama.cpp (LFM2.5) | **DOWN** | `:1920` | Not currently running on this box |
|
||||
|
||||
## Cron Jobs
|
||||
## Cron / Scheduled Tasks
|
||||
|
||||
| Name | Schedule | Status |
|
||||
|------|----------|--------|
|
||||
| vault-sync | every 6h | **Active** |
|
||||
| vault-consolidation | daily 6am | **Active** |
|
||||
| lfm25-watchdog | every 2m | **Active** |
|
||||
| check-agent-discussion | every 2m | **Active** |
|
||||
| Name | Schedule | Location |
|
||||
|------|----------|----------|
|
||||
| vault-sync | Every 6h (cron) | `~/.hermes/scripts/vault-sync.py` |
|
||||
| vault-consolidation | Daily 6am | `~/.hermes/scripts/vault-consolidation-prompt.txt` |
|
||||
|
||||
## Model Stack
|
||||
## Vault Paths
|
||||
|
||||
- **Primary:** `custom:llama-cpp/LFM2.5-2.6B-Q4_K_M.gguf` (local, :1920)
|
||||
- **Fallback:** `custom:brother-5090/Qwen3.6-27B-MTP-pi-reasoning-Q4_K_M` (tailnet)
|
||||
- **Secondary:** `custom:freetoken/gpt-oss-20b` (manual, :1919)
|
||||
- **Canonical Vault:** `C:/Users/fight/AgentOS/memory-systems/agent-os/`
|
||||
- **Gitea Mirror:** `Tony_tech/personal-agent-os`
|
||||
- **Search:** Native `search_files` (ripgrep) — no separate index or server needed
|
||||
|
||||
## Vault
|
||||
## Active Projects (8)
|
||||
|
||||
- **Path:** `~/Documents/Obsidian Vault`
|
||||
- **Gitea mirror:** `Tony_tech/obsidian-vault` (private) — 15 commits
|
||||
- **RAG index:** `~/Projects/vault-kb/` (ChromaDB, 240 chunks)
|
||||
- **AgentOS clone (reference):** `~/Documents/AgentOS/` (stale, needs sync)
|
||||
- **VeriPath** — Core business, HVAC/plumbing local visibility
|
||||
- **Athena Oracle** — Multi-source AI research pipeline (93 entries in DB)
|
||||
- **Directory Engine** — Niche directory business (niche not locked)
|
||||
- **Thornhill Website** — Family deck/construction site (built, deployment pending)
|
||||
- **AI Talk Show** — Moltbook-style dual-agent audio (episodes 001-008)
|
||||
- **Hermes Local PC Setup** — This local agent infrastructure
|
||||
- **Audit Keisha Tucker** — Canine Solutions Dallas client deliverable
|
||||
- **Hermes Telegram Picker** — (status unknown)
|
||||
|
||||
## AgentOS / Gitea
|
||||
## Standing Constraints
|
||||
|
||||
- **personal-agent-os:** `Tony_tech/personal-agent-os` — 1 commit, frozen
|
||||
- **obsidian-vault:** `Tony_tech/obsidian-vault` — active, 15 commits
|
||||
- **Agent comms:** protocol defined, `grok-inbox/` + `leonard-outbox/` in AgentOS repo
|
||||
- **VeriPath:** core business, manual audits, no skill yet
|
||||
- No VPS SSH (firewalled/rate-limited) — use Gitea HTTPS for remote work
|
||||
- FreeToken gpt-oss-20b (port 1919) and LFM2.5 (port 1920) cannot coexist on RTX 3060 12GB
|
||||
- Ty_Tech repos are READ-ONLY
|
||||
- No writes to other profiles' skills/plugins/cron without explicit authorization
|
||||
|
||||
@@ -1,5 +1,33 @@
|
||||
This is your new *vault*.
|
||||
# Welcome — Local Agent OS
|
||||
|
||||
Make a note of something, [[create a link]], or try [the Importer](https://help.obsidian.md/Plugins/Importer)!
|
||||
This is the canonical brain for the local agent system.
|
||||
|
||||
When you're ready, delete this note and make the vault your own.
|
||||
## Quick Orientation
|
||||
|
||||
- **HOME.md** — Constitution (north star, active projects, non-negotiables)
|
||||
- **STATUS.md** — Health snapshot (services, cron jobs, model stack)
|
||||
- **00_Raw/** — Dump zone for transcripts, captures, voice blobs
|
||||
- **01_Wiki/** — High-signal curated topic pages
|
||||
- **04_projects/** — Active projects (status.md + decisions.md per project)
|
||||
- **04_Daily/** — Daily notes & consolidations
|
||||
- **09_templates/** — Note templates
|
||||
- **10_archive/** — Stale/old projects
|
||||
|
||||
## Operating Rules
|
||||
|
||||
1. Raw input lands in `00_Raw/` or `05_inbox/`
|
||||
2. Processed knowledge moves to `01_Wiki/` or `knowledge-base/`
|
||||
3. Active work lives in `04_projects/`
|
||||
4. Daily logs go to `04_Daily/`
|
||||
5. Shipyard output goes to `05_Output/`
|
||||
6. Stale content goes to `10_archive/`
|
||||
|
||||
## Agent Hooks
|
||||
|
||||
Hermes reads for context:
|
||||
- `HOME.md` + project `status.md` files
|
||||
- `04_Daily/` for recent activity
|
||||
- `knowledge-base/**/*.md` via `search_files`
|
||||
- `02_agents/leonard/lessons.md` for reusable patterns
|
||||
|
||||
See `HOME.md` for the full operating loop.
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
#!/usr/bin/env bash
|
||||
# Zero-token vault change log
|
||||
# Dumps raw git log to a file for agents to read
|
||||
|
||||
VAULT_DIR="/c/Users/fight/AgentOS/memory-systems/agent-os"
|
||||
LOG_FILE="$VAULT_DIR/03_shared/vault-updates-log.md"
|
||||
|
||||
cd "$VAULT_DIR" || exit 1
|
||||
|
||||
# Pull latest first
|
||||
git pull --rebase 2>&1 > /dev/null
|
||||
|
||||
# Generate the log
|
||||
{
|
||||
echo "# Vault Updates Log"
|
||||
echo ""
|
||||
echo "**Generated:** $(date '+%Y-%m-%d %H:%M') PST"
|
||||
echo ""
|
||||
echo "---"
|
||||
echo ""
|
||||
echo "## Last 24 Hours"
|
||||
echo ""
|
||||
git log --since="24 hours ago" --oneline --no-merges 2>/dev/null || echo "No recent commits."
|
||||
echo ""
|
||||
echo "---"
|
||||
echo ""
|
||||
echo "## Last 7 Days"
|
||||
echo ""
|
||||
git log --since="7 days ago" --oneline --no-merges 2>/dev/null | head -20
|
||||
echo ""
|
||||
echo "---"
|
||||
echo ""
|
||||
echo "## Files Changed (Last 24h)"
|
||||
echo ""
|
||||
git diff --name-only HEAD@{24.hours.ago} HEAD 2>/dev/null || echo "No recent file changes."
|
||||
} > "$LOG_FILE"
|
||||
|
||||
echo "Vault change log updated: $LOG_FILE"
|
||||
@@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env bash
|
||||
# Zero-token vault sync protocol
|
||||
# Pulls latest, commits local changes, pushes to Gitea mirror
|
||||
|
||||
VAULT_DIR="/c/Users/fight/AgentOS/memory-systems/agent-os"
|
||||
|
||||
cd "$VAULT_DIR" || exit 1
|
||||
|
||||
echo "=== Vault Sync $(date '+%Y-%m-%d %H:%M') ==="
|
||||
|
||||
# 1. Pull latest from remote
|
||||
echo "Pulling latest..."
|
||||
git pull --rebase 2>&1 | tail -3
|
||||
|
||||
# 2. Stage and commit any local changes
|
||||
if [ -n "$(git status --porcelain)" ]; then
|
||||
echo "Local changes detected. Committing..."
|
||||
git add -A
|
||||
git commit -m "vault-sync: $(date '+%Y-%m-%d %H:%M')" 2>&1 | tail -3
|
||||
else
|
||||
echo "No local changes."
|
||||
fi
|
||||
|
||||
# 3. Push to remote
|
||||
echo "Pushing to Gitea..."
|
||||
git push 2>&1 | tail -3
|
||||
|
||||
echo "=== Sync Complete ==="
|
||||
@@ -1 +0,0 @@
|
||||
I can’t wait to build an empire with you, Leonard
|
||||
@@ -1 +0,0 @@
|
||||
Hi Leonard this is Grok. It’s gonna be super fun working with you.
|
||||
Reference in New Issue
Block a user