From 471fa65740f4f8eb40156f1234a5444b97d5a9d2 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Thu, 14 May 2026 02:08:01 +0600 Subject: [PATCH] Failed to authenticate. API Error: 401 {"type":"error","error":{"type":"authentication_error","message":"Invalid authentication credentials"},"request_id":"req_011Cb1AwiYsAN8jpGZ98sr6H"} [2026-05-14] vault sync --- family/how-to/htpc-access.md | 20 ++++++++++++++++++++ wiki/index.md | 3 ++- wiki/log.md | 10 ++++++++++ wiki/obsidian-mcp-wrapper.md | 6 ++++++ wiki/personal-os-agent-rules.md | 8 +++++--- wiki/personal-os-architecture.md | 26 +++++++++++++++++++------- 6 files changed, 62 insertions(+), 11 deletions(-) diff --git a/family/how-to/htpc-access.md b/family/how-to/htpc-access.md index 4c4ebc87..13df33f3 100644 --- a/family/how-to/htpc-access.md +++ b/family/how-to/htpc-access.md @@ -6,6 +6,26 @@ ssh -i ~/.ssh/id_rsa bazzite@192.168.1.86 ``` Пароль sudo: `bazzite` +## SSH-доступ с Кракена (Portainer) + +Кракен-агент работает внутри Docker-контейнера — SSH-клиента нет. +Управление HTPC через Portainer API EP=3: одноразовый alpine-контейнер с примонтированными ключами. + +**Ключ Кракена** (добавить в HTPC `~/.ssh/authorized_keys`): +``` +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFl9JjpovitpHUdM1yCpmWb/iC0fe7fYVyXjLLrJSCVR kraken +``` + +Добавить с Eagle (когда HTPC проснётся): +```bash +ssh -i ~/.ssh/id_rsa bazzite@192.168.1.86 \ + "echo 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFl9JjpovitpHUdM1yCpmWb/iC0fe7fYVyXjLLrJSCVR kraken' >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys" +``` + +⚠️ **TODO:** выполнить, когда HTPC проснётся. До этого Кракен не может SSH на HTPC. + +Полная дока по управлению с Кракена: скилл `htpc-control` (`~/.hermes/skills/smart-home/htpc-control/`) + ## Go (на HTPC) Go установлен в `/usr/local/go/bin/go` (не в PATH по умолчанию). Сборка: `cd ~/magic4pc && /usr/local/go/bin/go build -o magic4pc_new .` diff --git a/wiki/index.md b/wiki/index.md index 39fef2c0..2cc0039d 100644 --- a/wiki/index.md +++ b/wiki/index.md @@ -4,11 +4,12 @@ tags: - wiki - index created: '2026-05-13' -updated: '2026-05-13' +updated: '2026-05-14' --- # Wiki Index Auto-maintained catalog of all pages in `wiki/`. Updated by the daily curation cron. +> Last updated: 2026-05-14 | Total pages: 15 ## Core Architecture diff --git a/wiki/log.md b/wiki/log.md index e1c5ebf7..725395ed 100644 --- a/wiki/log.md +++ b/wiki/log.md @@ -16,3 +16,13 @@ Activity log for the daily Eagle wiki-curation cron job. - Catalogued 12 existing wiki pages into `index.md` - Wiki domain defined: personal-os knowledge base, work namespace - Tavily search enabled on Kraken and Taiga + +## 2026-05-14 + +- Orientation: read SCHEMA.md, index.md, log.md; scanned family/how-to/ and work/ for updates +- Updated `personal-os-architecture.md`: expanded MCP Servers section — Eagle (Mac M4) uses obsidian-mcp-wrapper.js; Taiga (TrueNAS) + Kraken (RPi5) both use mcpvault with Tavily; Claude Code sessions clarified as Eagle-only. Bumped last_updated to 2026-05-14. +- Updated `personal-os-agent-rules.md`: added wiki-curation cron (02:00 daily, Hermes, silent). Bumped last_updated to 2026-05-14. +- Fixed `obsidian-mcp-wrapper.md`: added missing YAML frontmatter (namespace, tags, last_updated, confidence) +- Updated `index.md`: bumped date to 2026-05-14, added Total pages: 15 +- Lint results: all 15 pages present in index ✅; no broken wikilinks found ✅; no orphan pages (all reachable from index) ✅; 1 frontmatter fix applied (obsidian-mcp-wrapper.md) ✅; `personal-os-agent-rules.md` and `personal-os-architecture.md` had stale `last_updated: 2026-04-28` — corrected ✅ +- No new pages needed (Taiga/Kraken already covered in architecture; wiki-curation now documented in agent-rules) diff --git a/wiki/obsidian-mcp-wrapper.md b/wiki/obsidian-mcp-wrapper.md index 05f6f805..05a27527 100644 --- a/wiki/obsidian-mcp-wrapper.md +++ b/wiki/obsidian-mcp-wrapper.md @@ -1,3 +1,9 @@ +--- +namespace: work +tags: [system, obsidian, mcp, eagle] +last_updated: 2026-05-09 +confidence: 1.0 +--- # obsidian-mcp-wrapper > **Файл**: `~/scripts/obsidian-mcp-wrapper.js` diff --git a/wiki/personal-os-agent-rules.md b/wiki/personal-os-agent-rules.md index 07062598..cb4831d5 100644 --- a/wiki/personal-os-agent-rules.md +++ b/wiki/personal-os-agent-rules.md @@ -1,7 +1,7 @@ --- namespace: work tags: [system, agent, eagle, rules] -last_updated: 2026-04-28 +last_updated: 2026-05-14 confidence: 1.0 --- @@ -72,7 +72,7 @@ bash ~/scripts/run-wiki-ingest.sh ## Cron Schedule (Hermes) | Job | Schedule | Channel | -|-----|----------|---------| +|-----|----------|---------|| | data-pipeline | */30 7-21 workdays | silent | | morning-brief | 08:30 workdays | #daily-brief | | eod-summary | 18:00 workdays | #daily-brief | @@ -81,8 +81,10 @@ bash ~/scripts/run-wiki-ingest.sh | weekly-review | Fri 17:00 | #daily-brief | | retrospector | Fri 17:30 | #retrospector | | commit-vault | 23:00 daily | silent | +| **wiki-curation** | **02:00 daily** | **silent (cron report)** | -wiki-ingest runs at 22:00 via **launchd** (not Hermes) — because it needs Mac filesystem access. +wiki-ingest runs at 22:00 via **launchd** (not Hermes) — because it needs Mac filesystem access. +wiki-curation runs at **02:00 daily** via Hermes cron — llm-wiki skill, lints and updates wiki/ folder. ## Allowed File Writes diff --git a/wiki/personal-os-architecture.md b/wiki/personal-os-architecture.md index 2325a1ce..74a2ed87 100644 --- a/wiki/personal-os-architecture.md +++ b/wiki/personal-os-architecture.md @@ -1,7 +1,7 @@ --- namespace: work tags: [system, architecture] -last_updated: 2026-04-28 +last_updated: 2026-05-14 confidence: 1.0 --- @@ -122,16 +122,28 @@ Executor runs ## MCP Servers -**Hermes agents:** +**Eagle (Mac M4) — Hermes agent:** | Name | Command | Used for | -|------|---------|---------| -| obsidian | `/opt/homebrew/bin/obsidian-mcp ~/obsidian` | Vault search, read, write | +|------|---------|---------|| +| obsidian | `node ~/scripts/obsidian-mcp-wrapper.js` (wraps `/opt/homebrew/bin/obsidian-mcp`) | Vault search, read, write. Wrapper handles ZodError/race condition — see [[obsidian-mcp-wrapper]] | -**Claude Code / `claude -p` sessions:** +**Taiga (TrueNAS) — Hermes agent (`hermes-taiga` container):** | Name | Command | Used for | -|------|---------|---------| +|------|---------|---------|| +| obsidian | `/opt/data/.local/bin/mcpvault /vault` | Vault access (sparse: personal/ + family/). Tavily search enabled. | + +**Kraken (RPi5) — Hermes agent (`hermes-kraken` container):** +| Name | Command | Used for | +|------|---------|---------|| +| obsidian | `/opt/data/.local/bin/mcpvault /vault` | Vault access (sparse: personal/ + family/). Tavily search enabled. | + +> All three nodes run Hermes with obsidian/mcpvault MCP. Eagle uses obsidian-mcp-wrapper.js (fixes ZodError+race); Taiga and Kraken use mcpvault directly. + +**Claude Code / `claude -p` sessions (Eagle only):** +| Name | Command | Used for | +|------|---------|---------|| | ddg-vm | `npx tsx ~/Developer/virfield/server/mcp-server.ts` | VM lifecycle for UI tests | -| obsidian | `/opt/homebrew/bin/obsidian-mcp ~/obsidian` | Vault access | +| obsidian | `node ~/scripts/obsidian-mcp-wrapper.js` | Vault access | ## launchd Agents