sam-4screen-desktop 2026-7-28:11:29:15
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
---
|
||||
created: 2026-05-16
|
||||
modified: 2026-05-16
|
||||
modified: 2026-07-28
|
||||
type: note
|
||||
tags:
|
||||
- ai
|
||||
@@ -66,6 +66,9 @@ v0.7.0, installed globally. 7 task tools: `TaskCreate`, `TaskList`, `TaskGet`, `
|
||||
| **openspec-archive-change** | Archive completed changes |
|
||||
| **openspec-explore** | Explore ideas and clarify requirements |
|
||||
| **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. |
|
||||
|
||||
---
|
||||
@@ -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)
|
||||
|
||||
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) |
|
||||
|
||||
|
||||
## 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 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.
|
||||
|
||||
**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
|
||||
{
|
||||
"mcpServers": {
|
||||
|
||||
Reference in New Issue
Block a user