sam-4screen-desktop 2026-7-28:11:29:15
This commit is contained in:
14
.obsidian/workspace.json
vendored
14
.obsidian/workspace.json
vendored
@@ -13,12 +13,12 @@
|
|||||||
"state": {
|
"state": {
|
||||||
"type": "markdown",
|
"type": "markdown",
|
||||||
"state": {
|
"state": {
|
||||||
"file": "500 archive/510 Daily/ThinkPad Recommendations.md",
|
"file": "300 areas/350 AI/Pi Agent Extensions & Skills.md",
|
||||||
"mode": "preview",
|
"mode": "preview",
|
||||||
"source": true
|
"source": true
|
||||||
},
|
},
|
||||||
"icon": "lucide-file",
|
"icon": "lucide-file",
|
||||||
"title": "ThinkPad Recommendations"
|
"title": "Pi Agent Extensions & Skills"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -53,7 +53,7 @@
|
|||||||
"state": {
|
"state": {
|
||||||
"type": "search",
|
"type": "search",
|
||||||
"state": {
|
"state": {
|
||||||
"query": "Thinkpad",
|
"query": "skills",
|
||||||
"matchingCase": false,
|
"matchingCase": false,
|
||||||
"explainSearch": false,
|
"explainSearch": false,
|
||||||
"collapseAll": false,
|
"collapseAll": false,
|
||||||
@@ -182,10 +182,10 @@
|
|||||||
"state": {
|
"state": {
|
||||||
"type": "file-properties",
|
"type": "file-properties",
|
||||||
"state": {
|
"state": {
|
||||||
"file": "500 archive/510 Daily/ThinkPad Recommendations.md"
|
"file": "300 areas/350 AI/Pi Agent Extensions & Skills.md"
|
||||||
},
|
},
|
||||||
"icon": "lucide-info",
|
"icon": "lucide-info",
|
||||||
"title": "File properties for ThinkPad Recommendations"
|
"title": "File properties for Pi Agent Extensions & Skills"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -210,11 +210,12 @@
|
|||||||
},
|
},
|
||||||
"active": "29ff3dd1c6bfd474",
|
"active": "29ff3dd1c6bfd474",
|
||||||
"lastOpenFiles": [
|
"lastOpenFiles": [
|
||||||
|
"100 inbox/AI Design.md",
|
||||||
|
"500 archive/510 Daily/ThinkPad Recommendations.md",
|
||||||
"100 inbox/Tools to try with AI.md",
|
"100 inbox/Tools to try with AI.md",
|
||||||
"000 daily/House Family General.md",
|
"000 daily/House Family General.md",
|
||||||
"000 daily/Untitled.md",
|
"000 daily/Untitled.md",
|
||||||
"000 daily/Update Install.md",
|
"000 daily/Update Install.md",
|
||||||
"500 archive/510 Daily/ThinkPad Recommendations.md",
|
|
||||||
"200 projects/210 AI Resume/The Modern Web Architecture Landscape Beyond the React Monopoly.md",
|
"200 projects/210 AI Resume/The Modern Web Architecture Landscape Beyond the React Monopoly.md",
|
||||||
"400 resources/470 Holidays Travel/Ski Stuf.md",
|
"400 resources/470 Holidays Travel/Ski Stuf.md",
|
||||||
"300 areas/340 Web Dev Coding Software Tools/Untitled.md",
|
"300 areas/340 Web Dev Coding Software Tools/Untitled.md",
|
||||||
@@ -236,7 +237,6 @@
|
|||||||
"400 resources/410 Web Pages/Website Design AI.md",
|
"400 resources/410 Web Pages/Website Design AI.md",
|
||||||
"400 resources/410 Web Pages/Metasploit Osint - security hacking.md",
|
"400 resources/410 Web Pages/Metasploit Osint - security hacking.md",
|
||||||
"400 resources/410 Web Pages/Sn0int Osint - security hacking.md",
|
"400 resources/410 Web Pages/Sn0int Osint - security hacking.md",
|
||||||
"100 inbox/AI Resume - Content Organization Plan.md",
|
|
||||||
"500 archive/510 Daily",
|
"500 archive/510 Daily",
|
||||||
"300 areas/305 Ideas Businesses",
|
"300 areas/305 Ideas Businesses",
|
||||||
"400 resources/470 Holidays Travel",
|
"400 resources/470 Holidays Travel",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
created: 2026-05-16
|
created: 2026-05-16
|
||||||
modified: 2026-05-16
|
modified: 2026-07-28
|
||||||
type: note
|
type: note
|
||||||
tags:
|
tags:
|
||||||
- ai
|
- ai
|
||||||
@@ -66,6 +66,9 @@ v0.7.0, installed globally. 7 task tools: `TaskCreate`, `TaskList`, `TaskGet`, `
|
|||||||
| **openspec-archive-change** | Archive completed changes |
|
| **openspec-archive-change** | Archive completed changes |
|
||||||
| **openspec-explore** | Explore ideas and clarify requirements |
|
| **openspec-explore** | Explore ideas and clarify requirements |
|
||||||
| **npm-security** | Scan packages with SafeDep Vet, check typosquatting with npq, wrap installs with Socket Firewall |
|
| **npm-security** | Scan packages with SafeDep Vet, check typosquatting with npq, wrap installs with Socket Firewall |
|
||||||
|
| **ste-writing** | Rewrite prose (docs, READMEs, PRs, errors) into ASD-STE100 Simplified Technical English. Removes AI slop. Two modes: strict (procedures) and STE-flavored (general prose). Includes heuristic anti-slop linter (ste-lint.py). |
|
||||||
|
| **design-build** | Generate production-ready HTML/Tailwind code from design specifications and DESIGN.md design tokens. |
|
||||||
|
| **design-explore** | Generate UI design mockups as images for exploration and ideation. Supports DESIGN.md for design-token-accurate mockups. |
|
||||||
| **markitdown** | Convert files (PDF, Word, Excel, PowerPoint, images, HTML, CSV, JSON, XML, ZIP, EPubs, YouTube) to Markdown for LLM consumption. Image analysis via Qwen 2.5 VL 72B on OpenRouter. |
|
| **markitdown** | Convert files (PDF, Word, Excel, PowerPoint, images, HTML, CSV, JSON, XML, ZIP, EPubs, YouTube) to Markdown for LLM consumption. Image analysis via Qwen 2.5 VL 72B on OpenRouter. |
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -122,6 +125,87 @@ The `markitdown-vision` wrapper auto-sources `OPENROUTER_API_KEY` from `~/.confi
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## falcode-zellij
|
||||||
|
|
||||||
|
Zellij plugin + agent extensions that track all active AI coding panes (pi, OpenCode, Claude Code) across Zellij sessions in a floating popup. Jump to any pane with one keystroke. Shows attention icons on Zellij tabs when an agent starts/stops working.
|
||||||
|
|
||||||
|
### Components
|
||||||
|
|
||||||
|
| Component | Location | Purpose |
|
||||||
|
|-----------|----------|---------|
|
||||||
|
| **Zellij WASM plugin** | `~/.config/zellij/plugins/falcode-zellij-sessions.wasm` | Floating popup UI showing all agent panes |
|
||||||
|
| **pi extension** | `~/.pi/agent/extensions/falcode.ts` | Reports pi pane status (working/idle) to the Zellij plugin |
|
||||||
|
| **attention WASM** | `~/.config/zellij/plugins/zellij-attention.wasm` | Shows ⏳/✅ icons on Zellij tabs when agent is active/done |
|
||||||
|
| **detection script** | `~/.local/state/falcode-zellij/` | Shared state directory for pane status snapshots |
|
||||||
|
|
||||||
|
### Keybindings
|
||||||
|
|
||||||
|
| Key | Action |
|
||||||
|
|-----|--------|
|
||||||
|
| `Alt a` | Launch/focus falcode floating popup (config.kdl `shared_except "locked"`) |
|
||||||
|
|
||||||
|
### pi integration
|
||||||
|
|
||||||
|
The `falcode.ts` extension auto-detects Zellij via `ZELLIJ_PANE_ID`/`ZELLIJ_SESSION_NAME` env vars. Outside Zellij it's a no-op.
|
||||||
|
|
||||||
|
- `agent_start` event → writes `"working"` status
|
||||||
|
- `agent_end` event → writes `"waiting_user_input"` status
|
||||||
|
- Heartbeat every 60s to keep pane alive
|
||||||
|
- `FALCODE_NOTIFY_SCRIPT=/bin/true` in home.nix (disables macOS notifications on Linux)
|
||||||
|
|
||||||
|
### Install on new machine
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# pi extension
|
||||||
|
mkdir -p ~/.pi/agent/extensions
|
||||||
|
curl -L https://raw.githubusercontent.com/victor-falcon/falcode-zellij/main/pi-extension/falcode.ts \
|
||||||
|
-o ~/.pi/agent/extensions/falcode.ts
|
||||||
|
|
||||||
|
# WASM plugins
|
||||||
|
mkdir -p ~/.config/zellij/plugins
|
||||||
|
curl -L https://github.com/victor-falcon/falcode-zellij/releases/latest/download/falcode-zellij-sessions.wasm \
|
||||||
|
-o ~/.config/zellij/plugins/falcode-zellij-sessions.wasm
|
||||||
|
curl -L https://github.com/victor-falcon/falcode-zellij/releases/latest/download/zellij-attention.wasm \
|
||||||
|
-o ~/.config/zellij/plugins/zellij-attention.wasm
|
||||||
|
```
|
||||||
|
|
||||||
|
### Claude Code integration
|
||||||
|
|
||||||
|
Also has a hook at `~/.local/state/falcode-zellij/falcode-hook.sh` for Claude Code status reporting. See [README](https://github.com/victor-falcon/falcode-zellij#readme) for Claude config.
|
||||||
|
|
||||||
|
### Zellij config (`config.kdl`)
|
||||||
|
|
||||||
|
Already configured in Home Manager:
|
||||||
|
```kdl
|
||||||
|
plugins {
|
||||||
|
falcode location="file:/home/sam/.config/zellij/plugins/falcode-zellij-sessions.wasm" {
|
||||||
|
state_dir "/home/sam/.local/state/falcode-zellij"
|
||||||
|
}
|
||||||
|
attention location="file:/home/sam/.config/zellij/plugins/zellij-attention.wasm"
|
||||||
|
}
|
||||||
|
|
||||||
|
load_plugins {
|
||||||
|
"file:/home/sam/.config/zellij/plugins/zellij-attention.wasm" {
|
||||||
|
enabled "true"
|
||||||
|
waiting_icon "⏳"
|
||||||
|
completed_icon "✅"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
keybinds {
|
||||||
|
shared_except "locked" {
|
||||||
|
bind "Alt a" {
|
||||||
|
LaunchOrFocusPlugin "falcode" {
|
||||||
|
floating true
|
||||||
|
move_to_focused_tab true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Security Tools (npm Global)
|
## Security Tools (npm Global)
|
||||||
|
|
||||||
Three tools installed globally at `~/.local/share/npm-global/bin/` to guard package installs.
|
Three tools installed globally at `~/.local/share/npm-global/bin/` to guard package installs.
|
||||||
@@ -238,6 +322,68 @@ ssh 192.168.20.13 "cd /home/sam/Docker/Containers/headroom && docker compose pul
|
|||||||
| `/home/sam/Docker/Containers/headroom/.env` | Environment file (on .13) |
|
| `/home/sam/Docker/Containers/headroom/.env` | Environment file (on .13) |
|
||||||
|
|
||||||
|
|
||||||
|
## codebase-memory-mcp
|
||||||
|
|
||||||
|
Code intelligence MCP server by DeusData. Single static C binary (~13MB), zero dependencies, 158 languages. Indexes a codebase into a persistent knowledge graph — average repo in milliseconds. 15 MCP tools for structural queries. Runs locally, code never leaves your machine.
|
||||||
|
|
||||||
|
**Install:**
|
||||||
|
```bash
|
||||||
|
curl -fsSL https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.sh | bash
|
||||||
|
```
|
||||||
|
Installed to `~/.local/bin/codebase-memory-mcp`.
|
||||||
|
|
||||||
|
**Index a project:**
|
||||||
|
```
|
||||||
|
mcp({ tool: "index_repository", args: '{"repo_path": ".", "mode": "fast"}' })
|
||||||
|
```
|
||||||
|
|
||||||
|
**15 Tools:**
|
||||||
|
|
||||||
|
| Tool | What it does |
|
||||||
|
|------|-------------|
|
||||||
|
| `index_repository` | Index a repo (full/moderate/fast/cross-repo-intelligence modes) |
|
||||||
|
| `search_graph` | BM25 full-text search + semantic vector search for code |
|
||||||
|
| `query_graph` | Cypher queries — multi-hop patterns, complexity analysis |
|
||||||
|
| `trace_path` | Follow call chains, data flow, or cross-service HTTP via Route nodes |
|
||||||
|
| `get_code_snippet` | Read source code for a function/class/symbol |
|
||||||
|
| `get_graph_schema` | Show available node labels and edge types |
|
||||||
|
| `get_architecture` | High-level architecture: packages, clusters, routes, entry points |
|
||||||
|
| `search_code` | Grep + graph enrichment, ranked by structural importance |
|
||||||
|
| `list_projects` | List all indexed projects |
|
||||||
|
| `delete_project` | Remove a project from the graph |
|
||||||
|
| `index_status` | Check index freshness and stats |
|
||||||
|
| `detect_changes` | Find files changed since last index |
|
||||||
|
| `manage_adr` | Architecture Decision Records |
|
||||||
|
| `ingest_traces` | Import OpenTelemetry traces into the graph |
|
||||||
|
|
||||||
|
**MCP config** (`~/.pi/agent/mcp.json`):
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"mcpServers": {
|
||||||
|
"codebase-memory": {
|
||||||
|
"command": "/home/sam/.local/bin/codebase-memory-mcp",
|
||||||
|
"lifecycle": "lazy"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
**Install on remote machines:**
|
||||||
|
```bash
|
||||||
|
ssh sam@192.168.20.51 "curl -fsSL https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.sh | bash"
|
||||||
|
ssh sam@192.168.20.13 "curl -fsSL https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.sh | bash"
|
||||||
|
```
|
||||||
|
|
||||||
|
**UI mode** (graph visualization at `localhost:9749`):
|
||||||
|
```bash
|
||||||
|
curl -fsSL .../install.sh | bash -s -- --ui
|
||||||
|
codebase-memory-mcp --ui=true --port=9749
|
||||||
|
```
|
||||||
|
|
||||||
|
Paper: [arXiv:2603.27277](https://arxiv.org/abs/2603.27277)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## engram + gentle-engram
|
## engram + gentle-engram
|
||||||
|
|
||||||
engram v1.16.1 runs on nixos-desktop (.13) at `~/.local/bin/engram`. Systemd user service auto-starts. Binds `127.0.0.1:7437`, accessed via SSH tunnel: `ssh -fNL 7437:127.0.0.1:7437 192.168.20.13`.
|
engram v1.16.1 runs on nixos-desktop (.13) at `~/.local/bin/engram`. Systemd user service auto-starts. Binds `127.0.0.1:7437`, accessed via SSH tunnel: `ssh -fNL 7437:127.0.0.1:7437 192.168.20.13`.
|
||||||
@@ -250,8 +396,21 @@ engram v1.16.1 runs on nixos-desktop (.13) at `~/.local/bin/engram`. Systemd use
|
|||||||
|
|
||||||
pi-mcp-adapter connects Pi to external services via the Model Context Protocol.
|
pi-mcp-adapter connects Pi to external services via the Model Context Protocol.
|
||||||
|
|
||||||
**Config file:** `~/.config/mcp/mcp.json`
|
**Config files:** `~/.pi/agent/mcp.json` (pi global), `~/.config/mcp/mcp.json` (shared), `.mcp.json` (project)
|
||||||
|
|
||||||
|
```json
|
||||||
|
// ~/.pi/agent/mcp.json — pi MCP servers
|
||||||
|
{
|
||||||
|
"mcpServers": {
|
||||||
|
"codebase-memory": {
|
||||||
|
"command": "/home/sam/.local/bin/codebase-memory-mcp",
|
||||||
|
"lifecycle": "lazy"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Shared config at `~/.config/mcp/mcp.json`:
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"mcpServers": {
|
"mcpServers": {
|
||||||
|
|||||||
Reference in New Issue
Block a user