[2026-05-25] wiki curation, multi-agent patterns, psychologist app, xgimi setup, arr-stack updates
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
---
|
||||
date: 2026-05-25
|
||||
status: complete
|
||||
---
|
||||
# Wiki Curation — 2026-05-25
|
||||
|
||||
## Done
|
||||
|
||||
- **Conflict scan:** No git conflict markers found in ~/obsidian/ ✅
|
||||
- **Previous run (2026-05-24):** Status = complete, no Unfinished section ✅
|
||||
- **Orientation:** SCHEMA.md (updated to add vps/media-pipeline/arr tags), index.md (43 pages), log.md (48 lines)
|
||||
- **Vault changes since 2026-05-24 02:00:** psychologist-app/* (6 planning files updated), xgimi-play6-setup.md (new), vps-qentra.md (new wiki page, missing from index), media-pipeline-file-routing.md (planning doc — too operational to crystallize), app-ideas-enriched/* (4 enriched idea files — speculative, not crystallizable)
|
||||
- **Inbox:** ~/obsidian/wiki/raw/inbox/ empty ✅
|
||||
- **Sessions:** No Hermes sessions for 2026-05-25 ✅
|
||||
|
||||
### Crystallization
|
||||
|
||||
- **tech/xgimi-play6-setup.md** (new) — XGIMI Play 6 GMUI 6 complete setup guide; ADB-over-network, launcher swap, keyboard, rollback. Source: family/how-to/xgimi-play6-setup.md
|
||||
- **entities/psychologist-app.md** (new) — AI Psychologist App (Nolvu): dual-agent architecture (Analyst+Narrator), session flow, state persistence, privacy-first analytics (PostHog, GDPR split identity), resonance questionnaire onboarding. Sources: 3 planning files.
|
||||
- **media-pipeline-file-routing.md** — skipped (status: planning, implementation not complete; no finalized facts to preserve)
|
||||
|
||||
### Synthesis (MANDATORY)
|
||||
|
||||
- **concepts/multi-agent-design-patterns.md** (new) — Co-occurrence: executor-orchestrator + autonomous-agent-safety + agent-memory-architecture (3 pages). Synthesizes 5 reusable patterns: orchestrator/worker split, scope boundary + auto-approve table, memory layer separation, role specialization, deterministic algorithm for predictable steps. Novel: connects psychologist-app dual-agent design to existing personal-os patterns.
|
||||
|
||||
### Frontmatter fixes
|
||||
|
||||
- **tech/vps-qentra.md** — type:infra→tech, tags [vps,nginx,cloudflare,python]→[infra,vps], related: inline string→YAML list, added created/updated/namespace/confidence
|
||||
- **tech/arr-stack-kraken.md** — related: inline wikilink string → YAML list (2 items)
|
||||
- **tech/arr-stack-taiga.md** — related: inline wikilink string → YAML list
|
||||
|
||||
### SCHEMA.md update
|
||||
|
||||
Added `vps`, `media-pipeline`, `arr` to Infrastructure taxonomy (all were in active use but missing from taxonomy)
|
||||
|
||||
### Index update
|
||||
|
||||
Added 4 pages to index.md (vps-qentra, xgimi-play6-setup, psychologist-app, multi-agent-design-patterns); count updated 43→47
|
||||
|
||||
### Personal-OS Architecture check
|
||||
|
||||
personal-os-architecture.md has `confidence: 1.0` — immutable per SCHEMA rules. Current state (Eagle Mac M4, Taiga TrueNAS, Kraken RPi5, all with Hermes) is consistent with what's described. No agent update possible; Alex must update if changes needed.
|
||||
|
||||
### Lint
|
||||
|
||||
- 0 git conflicts
|
||||
- 0 broken wikilinks in new pages (all wikilinks verified against index)
|
||||
- Inline `related:` string fixed in 3 pages (arr-stack-kraken, arr-stack-taiga, vps-qentra)
|
||||
- SCHEMA taxonomy now covers all tags in active use
|
||||
- log.md: 65 lines — far below 500 rotation limit
|
||||
|
||||
## Validation fixes
|
||||
|
||||
- tech/xgimi-play6-setup.md — confidence: high → medium (agent-synthesized pages should not be confidence:high)
|
||||
|
||||
## Unresolved conflicts
|
||||
|
||||
(none)
|
||||
|
||||
## Unfinished
|
||||
|
||||
(none)
|
||||
|
||||
## Stats
|
||||
|
||||
- Conflicts resolved: 0
|
||||
- Inbox processed: 0 (empty)
|
||||
- Sessions crystallized: 0 / 0 checked
|
||||
- Vault changes crystallized: 2 (xgimi-play6-setup, psychologist-app)
|
||||
- Synthesis pages created: 1 (concepts/multi-agent-design-patterns)
|
||||
- Pages created: 3 (xgimi-play6-setup, psychologist-app, multi-agent-design-patterns)
|
||||
- Pages updated: 6 (vps-qentra, arr-stack-kraken, arr-stack-taiga, SCHEMA, index, log)
|
||||
- Lint issues fixed: 3 (inline related: fields)
|
||||
- Validation issues fixed: 1 (xgimi confidence: high → medium)
|
||||
+3
-2
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Wiki Schema
|
||||
created: '2026-05-13'
|
||||
updated: '2026-05-23'
|
||||
updated: '2026-05-25'
|
||||
type: meta
|
||||
---
|
||||
|
||||
@@ -75,8 +75,9 @@ Work / DDG:
|
||||
- `asana` `ddg` `workflow` `task-management`
|
||||
|
||||
Infrastructure:
|
||||
- `infra` `kraken` `taiga` `htpc` `docker` `nas` `raspberry-pi`
|
||||
- `infra` `kraken` `taiga` `htpc` `docker` `nas` `raspberry-pi` `vps`
|
||||
- `obsidian` `vault` `wiki` `ingest`
|
||||
- `media-pipeline` `arr`
|
||||
|
||||
Projects:
|
||||
- `reflect-app` `psychology` `ios` `android` `skip-tools`
|
||||
|
||||
@@ -0,0 +1,107 @@
|
||||
---
|
||||
title: Multi-Agent Design Patterns
|
||||
created: '2026-05-25'
|
||||
updated: '2026-05-25'
|
||||
type: concept
|
||||
namespace: work
|
||||
tags: [agent, architecture, system]
|
||||
confidence: medium
|
||||
sources:
|
||||
- wiki/concepts/executor-orchestrator.md
|
||||
- wiki/concepts/autonomous-agent-safety.md
|
||||
- wiki/concepts/agent-memory-architecture.md
|
||||
related:
|
||||
- "[[concepts/executor-orchestrator]]"
|
||||
- "[[concepts/autonomous-agent-safety]]"
|
||||
- "[[concepts/agent-memory-architecture]]"
|
||||
---
|
||||
|
||||
# Multi-Agent Design Patterns
|
||||
|
||||
Synthesis of recurring patterns across the personal-os multi-agent system
|
||||
and related agent architectures. Distilled from [[concepts/executor-orchestrator]],
|
||||
[[concepts/autonomous-agent-safety]], and [[concepts/agent-memory-architecture]].
|
||||
|
||||
## Pattern 1 — Orchestrator / Worker Split
|
||||
|
||||
**What:** One agent owns conversation state and decision authority
|
||||
(orchestrator); spawns separate worker agents for discrete tasks.
|
||||
|
||||
**Why:** Tight coupling between conversational layer and execution layer
|
||||
causes mid-task interruptions and breaks user flow. Separate concerns.
|
||||
|
||||
**In personal-os:** Eagle (orchestrator) → Executor (worker) via Zulip.
|
||||
**In psychologist app:** Narrator (orchestrator/mediator) ← Analyst (worker).
|
||||
|
||||
**Key constraint:** Worker communicates only through structured messages;
|
||||
orchestrator has the only escalation path to the human.
|
||||
|
||||
## Pattern 2 — Scope Boundary + Auto-Approve Table
|
||||
|
||||
**What:** Predefine which actions a worker may take autonomously and which
|
||||
require escalation. Publish the table explicitly.
|
||||
|
||||
**Why:** Autonomous agents fail catastrophically when they expand scope
|
||||
unexpectedly (see [[concepts/executor-security-incident]]). Explicit tables
|
||||
make failure modes visible.
|
||||
|
||||
**Implementation:** Message-type-based approval table. Unknown message types
|
||||
default to escalation, never to silent proceed.
|
||||
|
||||
| Risk Level | Agent Action |
|
||||
|---|---|
|
||||
| Low (read, build, test) | Auto-approve |
|
||||
| Medium (write external, open PR) | Auto-approve with logging |
|
||||
| High (comment on others, merge) | Always escalate |
|
||||
| Unknown | Always escalate |
|
||||
|
||||
## Pattern 3 — Memory Layer Separation
|
||||
|
||||
**What:** Separate in-session state (working memory) from cross-session
|
||||
knowledge (semantic memory) from immutable facts (procedural/episodic).
|
||||
|
||||
**Why:** Agents that blur these layers either hallucinate stable facts or
|
||||
fail to retain important session-to-session knowledge.
|
||||
|
||||
**In personal-os:** status.md (working) / wiki pages (semantic) /
|
||||
SCHEMA.md + vault-filling-guide (procedural). See [[concepts/agent-memory-architecture]].
|
||||
|
||||
**Pattern rule:** Never update semantic memory from within an active session.
|
||||
Crystallize post-session. Never trust working memory as a source of truth
|
||||
for facts (always re-derive from semantic layer at session start).
|
||||
|
||||
## Pattern 4 — Role Specialization over Generalization
|
||||
|
||||
**What:** Instead of one agent with a long system prompt covering all roles,
|
||||
split into agents with narrow, non-overlapping responsibilities.
|
||||
|
||||
**Why:** LLMs produce better outputs when role context is tight. Conflated
|
||||
roles lead to persona drift ("is it being analytical or empathetic right now?").
|
||||
|
||||
**In psychologist app:** Analyst stays in 3rd-person analytical mode;
|
||||
Narrator stays in 1st-person user-facing mode. Neither crosses the boundary.
|
||||
|
||||
**Trade-off:** Coordination overhead (structured message passing between
|
||||
agents). Worthwhile when roles genuinely conflict (analysis vs. empathy).
|
||||
|
||||
## Pattern 5 — Deterministic Algorithm for Predictable Steps
|
||||
|
||||
**What:** Identify steps that look like LLM tasks but are actually
|
||||
deterministic (sequencing, routing, counting) and implement them as code,
|
||||
not as LLM calls.
|
||||
|
||||
**Why:** LLMs are expensive and non-deterministic. Steps like "show next
|
||||
question in list" do not benefit from LLM reasoning and introduce failure modes.
|
||||
|
||||
**Examples:**
|
||||
- Question delivery in psychologist app: batch generated by Analyst,
|
||||
sequenced by UI algorithm — not an LLM call per question
|
||||
- Approval table in Executor: code switch on message type, not LLM judgment
|
||||
- Vault namespace routing: rules in tech/vault-namespace, not agent inference
|
||||
|
||||
## See Also
|
||||
|
||||
- [[concepts/executor-orchestrator]] — concrete orchestrator/worker implementation
|
||||
- [[concepts/autonomous-agent-safety]] — safety checklist derived from incidents
|
||||
- [[concepts/agent-memory-architecture]] — memory taxonomy for LLM agents
|
||||
- [[entities/psychologist-app]] — dual-agent architecture (patterns 1 and 4)
|
||||
@@ -0,0 +1,96 @@
|
||||
---
|
||||
title: AI Psychologist App (Nolvu)
|
||||
created: '2026-05-25'
|
||||
updated: '2026-05-25'
|
||||
type: entity
|
||||
namespace: personal
|
||||
tags: [project, psychology, reflect-app, ios, startup]
|
||||
sources:
|
||||
- personal/projects/psychologist-app/session-design.md
|
||||
- personal/projects/psychologist-app/analytics.md
|
||||
- personal/projects/psychologist-app/onboarding-archetypes.md
|
||||
confidence: medium
|
||||
related:
|
||||
- "[[personal-os-architecture]]"
|
||||
- "[[concepts/executor-orchestrator]]"
|
||||
---
|
||||
|
||||
# AI Psychologist App (Nolvu)
|
||||
|
||||
Mobile app providing AI-powered therapy sessions. Also referred to as
|
||||
"reflect app" or "nolvu" in vault. Status: active development (May 2026).
|
||||
|
||||
## Architecture — Dual-Agent Session Design
|
||||
|
||||
Two-bot system handling a single user session:
|
||||
|
||||
```
|
||||
Bot 1: Analyst ("Психолог")
|
||||
→ analyzes user in 3rd person ("user avoids...")
|
||||
→ generates 1-2 questions per batch
|
||||
↓
|
||||
Bot 2: Narrator ("Посредник" / Mediator)
|
||||
→ translates to 1st person ("you avoid?")
|
||||
→ produces structured question JSON for UI
|
||||
↓
|
||||
UI (deterministic algorithm)
|
||||
→ serves questions one at a time
|
||||
→ collects answers → passes numbered summary back to Analyst
|
||||
```
|
||||
|
||||
**Key principle:** question delivery is a deterministic algorithm, not an LLM
|
||||
call. Agent generates a batch once; UI manages sequencing.
|
||||
|
||||
## Session Flow
|
||||
|
||||
```
|
||||
OPEN: character animation → intro (1-2 sentences + max 2 history hooks)
|
||||
→ topic selection
|
||||
|
||||
DIALOGUE: Analyst generates questions (3rd person)
|
||||
→ Narrator translates (1st person JSON)
|
||||
→ UI queues → user answers → numbered summary → next batch
|
||||
|
||||
INSIGHT: Analyst crystallizes observation → Narrator reformulates for user
|
||||
|
||||
CLOSE: [backend] Analyst writes session summary + updates profile.md
|
||||
Narrator: warm closing phrase + next session date
|
||||
"One last thing" (optional open input) → close or reschedule flow
|
||||
```
|
||||
|
||||
## State Persistence
|
||||
|
||||
Session state saved at every step (not only on close):
|
||||
|
||||
```json
|
||||
{
|
||||
"session_id": "2026-05-19",
|
||||
"phase": "dialogue",
|
||||
"current_question_idx": 2,
|
||||
"answered": [...],
|
||||
"last_activity_ts": 1747612800
|
||||
}
|
||||
```
|
||||
|
||||
Abandoned sessions (last_activity_ts > 20h, not closed): backend cron forces
|
||||
partial close → Analyst writes partial summary → profile.md updated.
|
||||
|
||||
## Analytics — Privacy-First (GDPR)
|
||||
|
||||
- **No Google Analytics.** PostHog (self-hosted or EU Cloud, free tier).
|
||||
- **Split identity:** `user_id` ≠ `analytics_session_id` — no cross-table join.
|
||||
- Demographics stored as buckets (age: 25-34, country: ISO code) — not PII.
|
||||
- Never log: message text, questionnaire answers, full IP, timestamp+user_id pair.
|
||||
|
||||
Key funnel metric: **Session 1 completion rate** (target > 50%).
|
||||
|
||||
## Onboarding
|
||||
|
||||
"Resonance questionnaire" — cards with real audience voice phrases
|
||||
(e.g. "Устала быть сильной") that encode 5 variables in 4 words.
|
||||
User picks up to 2. Classification maps to archetype for session personalization.
|
||||
|
||||
## See Also
|
||||
|
||||
- [[concepts/executor-orchestrator]] — related multi-agent orchestration pattern
|
||||
- [[personal-os-architecture]] — system context in which this is developed
|
||||
+6
-2
@@ -1,13 +1,13 @@
|
||||
---
|
||||
title: Wiki Index
|
||||
updated: '2026-05-24'
|
||||
updated: '2026-05-25'
|
||||
---
|
||||
|
||||
# Wiki Index
|
||||
|
||||
> Content catalog. Every wiki page listed with a one-line summary.
|
||||
> Read this first to find relevant pages for any query.
|
||||
> Last updated: 2026-05-24 | Total pages: 43
|
||||
> Last updated: 2026-05-25 | Total pages: 47
|
||||
|
||||
## Personal OS — Core
|
||||
|
||||
@@ -52,11 +52,14 @@ updated: '2026-05-24'
|
||||
- [[tech/hermes-eagle-mac]] — Hermes on Eagle Mac M4; claude-proxy, Zulip setup, known pitfalls
|
||||
- [[tech/jellyfin-transcode-rpi5]] — Jellyfin RPi5 transcoding pitfalls; PGS/subtitle handling
|
||||
- [[tech/vault-git-sync]] — Vault git sync via Taiga bare repo; setup, pull hooks, pitfalls
|
||||
- [[tech/vps-qentra]] — VPS qentra.top: IP, nginx+Cloudflare stack, subdomain setup
|
||||
- [[tech/xgimi-play6-setup]] — XGIMI Play 6 (GMUI 6): ADB-over-network setup, launcher, keyboard
|
||||
|
||||
## Entities
|
||||
|
||||
- [[user-profile]] — Alex's profile; roles, working style, preferences
|
||||
- [[entities/library-app]] — Personal book library web UI on TrueNAS; replacement for inpxer (May 2026)
|
||||
- [[entities/psychologist-app]] — AI Psychologist App (Nolvu): dual-agent session design, privacy analytics
|
||||
|
||||
## Comparisons
|
||||
|
||||
@@ -69,6 +72,7 @@ updated: '2026-05-24'
|
||||
- [[concepts/executor-security-incident]] — Post-mortem: autonomous Asana boundary crossing (May 2026); root causes
|
||||
- [[concepts/agent-memory-architecture]] — LLM agent memory taxonomy (arXiv 2603.07670) applied to personal-os
|
||||
- [[concepts/knowledge-lifecycle]] — How knowledge flows from session to permanent wiki memory
|
||||
- [[concepts/multi-agent-design-patterns]] — Five reusable patterns: orchestrator/worker, scope tables, memory layers, role specialization
|
||||
|
||||
## Concepts — Vault & Wiki
|
||||
|
||||
|
||||
+17
-1
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Wiki Log
|
||||
updated: '2026-05-24'
|
||||
updated: '2026-05-25'
|
||||
type: meta
|
||||
---
|
||||
|
||||
@@ -46,3 +46,19 @@ type: meta
|
||||
- Updated: research-queue.md — 2 queue items marked completed, updated date
|
||||
- Lint: 0 orphans (all pages have ≥1 inbound link); 0 broken frontmatter; tag drift noted (systemic — SCHEMA taxonomy predates actual page growth; no action this run)
|
||||
- Validation: autonomous-agent-safety.md frontmatter valid, 3 outbound wikilinks ✅
|
||||
|
||||
## [2026-05-25] update | Crystallization + synthesis + frontmatter fixes
|
||||
- Conflicts: 0 found (scan: all ~/obsidian/**/*.md)
|
||||
- Inbox: empty
|
||||
- Sessions: 0 sessions for 2026-05-25
|
||||
- Vault changes since 2026-05-24 02:00: psychologist-app/* (6 files), media-pipeline-file-routing.md, xgimi-play6-setup.md, vps-qentra.md (new wiki page), app-ideas-enriched/* (4 files)
|
||||
- Crystallized: tech/xgimi-play6-setup.md (from family/how-to/xgimi-play6-setup.md)
|
||||
- Crystallized: entities/psychologist-app.md (from personal/projects/psychologist-app/{session-design,analytics,onboarding-archetypes}.md)
|
||||
- Synthesis: concepts/multi-agent-design-patterns.md — 5 patterns synthesized from executor-orchestrator + autonomous-agent-safety + agent-memory-architecture
|
||||
- Fixed: tech/vps-qentra.md — frontmatter (type: infra→tech, tags taxonomy, related: inline→list, added dates)
|
||||
- Fixed: tech/arr-stack-kraken.md — related: inline wikilink → YAML list
|
||||
- Fixed: tech/arr-stack-taiga.md — related: inline wikilink → YAML list
|
||||
- Updated: SCHEMA.md — added vps, media-pipeline, arr to Infrastructure taxonomy
|
||||
- Updated: index.md — 4 pages added (vps-qentra, xgimi-play6-setup, psychologist-app, multi-agent-design-patterns); count 43→47
|
||||
- Lint: personal-os-architecture.md has confidence:1.0 (immutable) — skipped update check per SCHEMA rules
|
||||
- Validation: all 7 modified/created files passed pre-commit checks ✅
|
||||
|
||||
@@ -5,7 +5,9 @@ updated: '2026-05-23'
|
||||
type: tech
|
||||
namespace: family
|
||||
tags: [arr, radarr, sonarr, prowlarr, transmission, jellyfin, infra, kraken]
|
||||
related: "[[jellyfin-config]]"
|
||||
related:
|
||||
- "[[tech/jellyfin-config]]"
|
||||
- "[[tech/arr-stack-taiga]]"
|
||||
---
|
||||
|
||||
# Arr Stack — Kraken
|
||||
|
||||
@@ -5,7 +5,8 @@ updated: '2026-05-23'
|
||||
type: tech
|
||||
namespace: family
|
||||
tags: [arr, taiga, infra, media, pitfalls]
|
||||
related: "[[arr-stack-kraken]]"
|
||||
related:
|
||||
- "[[tech/arr-stack-kraken]]"
|
||||
---
|
||||
|
||||
# Arr Stack — Taiga
|
||||
|
||||
+14
-3
@@ -1,8 +1,14 @@
|
||||
---
|
||||
title: VPS qentra.top
|
||||
type: infra
|
||||
tags: [vps, nginx, cloudflare, python]
|
||||
related: "[[kraken-network]]"
|
||||
created: '2026-05-24'
|
||||
updated: '2026-05-25'
|
||||
type: tech
|
||||
namespace: personal
|
||||
tags: [infra, vps]
|
||||
confidence: medium
|
||||
related:
|
||||
- "[[tech/kraken-network]]"
|
||||
- "[[tech/wireguard-vpn]]"
|
||||
---
|
||||
|
||||
# VPS qentra.top
|
||||
@@ -15,3 +21,8 @@ related: "[[kraken-network]]"
|
||||
|
||||
1. Add Cloudflare A-record → 91.207.28.205
|
||||
2. Add nginx vhost in `/etc/nginx/sites-enabled/`
|
||||
|
||||
## See Also
|
||||
|
||||
- [[tech/kraken-network]] — Kraken home network topology
|
||||
- [[tech/wireguard-vpn]] — WireGuard tunnel used for Eagle↔VPS traffic
|
||||
|
||||
@@ -0,0 +1,121 @@
|
||||
---
|
||||
title: XGIMI Play 6 — Setup Guide
|
||||
created: '2026-05-25'
|
||||
updated: '2026-05-25'
|
||||
type: tech
|
||||
namespace: family
|
||||
tags: [infra, htpc, how-to]
|
||||
sources:
|
||||
- family/how-to/xgimi-play6-setup.md
|
||||
confidence: medium
|
||||
related:
|
||||
- "[[tech/htpc-kodi-layout]]"
|
||||
- "[[tech/htpc-steam-emulators]]"
|
||||
---
|
||||
|
||||
# XGIMI Play 6 — Setup Guide
|
||||
|
||||
Chinese GMUI 6 version. ADB over network only (USB ADB non-functional).
|
||||
IP on home network: `192.168.1.58`.
|
||||
|
||||
## Key Constraints
|
||||
|
||||
- **Architecture:** arm64-v8a (MT9639 chip) — verify all APKs
|
||||
- **OS:** GMUI 6.0 (Android 11) — Wireless ADB not available (needs Android 12+)
|
||||
- **ADB:** Network-only via port 5555
|
||||
|
||||
## Bootstrap Sequence
|
||||
|
||||
### 1. Install via USB flash (before ADB is up)
|
||||
|
||||
APKs must be renamed: `file.apk` → `file.apk.1` (flash drive workaround).
|
||||
Flash must be FAT32. Install via built-in file manager.
|
||||
|
||||
Install in this order:
|
||||
1. SystemUI Tuner (github.com/zacharee/Tweaker) — enables ADB
|
||||
2. Projectivy Launcher — replaces stock XGIMI launcher
|
||||
|
||||
### 2. Enable ADB
|
||||
|
||||
Settings → find ADB → enable. Connect from Mac:
|
||||
|
||||
```bash
|
||||
brew install android-platform-tools
|
||||
adb connect 192.168.1.58:5555
|
||||
adb devices
|
||||
```
|
||||
|
||||
### 3. Install remaining apps via ADB
|
||||
|
||||
```bash
|
||||
adb -s 192.168.1.58:5555 install /path/to/file.apk
|
||||
```
|
||||
|
||||
Recommended apps: LeanKey Keyboard, VLC, Total Commander,
|
||||
YouTube ReVanced, Кинопоиск TV (4pda.to, regular .apk not .apks).
|
||||
|
||||
### 4. Replace launcher
|
||||
|
||||
```bash
|
||||
# Disable stock launcher
|
||||
adb -s 192.168.1.58:5555 shell pm disable-user --user 0 com.xgimi.home
|
||||
# Set Projectivy as default
|
||||
adb -s 192.168.1.58:5555 shell cmd package set-home-activity \
|
||||
com.spocky.projengmenu/.ui.main.MainActivity
|
||||
```
|
||||
|
||||
### 5. Keyboard
|
||||
|
||||
```bash
|
||||
# Disable Sogou Chinese IME
|
||||
adb -s 192.168.1.58:5555 shell pm disable-user --user 0 \
|
||||
com.sohu.inputmethod.sogou.tv
|
||||
# Enable LeanKey
|
||||
adb -s 192.168.1.58:5555 shell ime enable \
|
||||
org.liskovsoft.androidtv.rukeyboard/com.liskovsoft.leankeyboard.ime.LeanbackImeService
|
||||
adb -s 192.168.1.58:5555 shell ime set \
|
||||
org.liskovsoft.androidtv.rukeyboard/com.liskovsoft.leankeyboard.ime.LeanbackImeService
|
||||
```
|
||||
|
||||
Language switch: long-press **Space** or **Menu** on remote.
|
||||
|
||||
### 6. Russian system language
|
||||
|
||||
```bash
|
||||
adb -s 192.168.1.58:5555 shell setprop persist.sys.locale ru-RU && \
|
||||
adb -s 192.168.1.58:5555 reboot
|
||||
```
|
||||
|
||||
## Useful Commands
|
||||
|
||||
```bash
|
||||
# Check connectivity
|
||||
nc -zv 192.168.1.58 5555
|
||||
|
||||
# List all packages
|
||||
adb -s 192.168.1.58:5555 shell pm list packages
|
||||
|
||||
# Launch app
|
||||
adb -s 192.168.1.58:5555 shell monkey -p com.package.name 1
|
||||
|
||||
# Re-enable a disabled package
|
||||
adb -s 192.168.1.58:5555 shell pm enable com.package.name
|
||||
|
||||
# Find correct launcher activity name
|
||||
adb -s 192.168.1.58:5555 shell cmd package resolve-activity \
|
||||
--brief -c android.intent.category.HOME com.package.name
|
||||
```
|
||||
|
||||
## Rollback
|
||||
|
||||
```bash
|
||||
# Restore stock launcher
|
||||
adb -s 192.168.1.58:5555 shell pm enable com.xgimi.home
|
||||
# Restore Chinese keyboard
|
||||
adb -s 192.168.1.58:5555 shell pm enable com.sohu.inputmethod.sogou.tv
|
||||
```
|
||||
|
||||
## See Also
|
||||
|
||||
- [[tech/htpc-kodi-layout]] — HTPC Kodi layout (related home theater setup)
|
||||
- [[tech/htpc-steam-emulators]] — Bazzite HTPC (different device, same home AV context)
|
||||
Reference in New Issue
Block a user