Skip to content

feat(raycast plugin): add support of remote anywhere#113

Merged
wey-gu merged 9 commits intomainfrom
dev_069
Mar 11, 2026
Merged

feat(raycast plugin): add support of remote anywhere#113
wey-gu merged 9 commits intomainfrom
dev_069

Conversation

@wey-gu
Copy link
Copy Markdown
Member

@wey-gu wey-gu commented Mar 11, 2026

Summary by CodeRabbit

  • New Features

    • Added WSL support for Claude plugin with bridge script configuration.
    • Introduced remote access in Raycast extension: choose between local or remote Mem server with optional API key authentication.
  • Changes

    • Restored save-thread as a deprecated compatibility feature in npx skills to maintain backward compatibility.
    • Restricted working memory editing to local connections only for consistency.
    • Updated memory data retrieval to use API endpoints for unified access.
  • Documentation

    • Added WSL setup guide for Claude plugin users.
    • Clarified save-thread behavior and guidance for preferring native integrations where available.

wey-gu and others added 9 commits March 11, 2026 10:35
Preserve the indexed save-thread entry as a deprecated compatibility surface and explain why generic npx skills environments must fall back to honest handoff semantics instead of claiming full session capture.

Made-with: Cursor
Expand the Raycast extension with remote-aware graph browsing, memory-to-graph jumps, and API-backed Working Memory so launcher workflows can inspect connections without depending on local-only file reads.

Made-with: Cursor
Document the new graph exploration flow, remote-aware Working Memory behavior, and remote auth support so the extension changelog matches the shipped Raycast surface.

Made-with: Cursor
Raycast does not support embedded web views needed for interactive
graph visualization. Remove the explore-graph command, graph API
functions, and "Explore Connections" actions. Graph visualization
remains available through the desktop app and MCP-native hosts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…e CI

HeadersInit is a DOM type not available in Raycast's CI TypeScript
environment. Use Record<string, string> instead.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fix cmd.exe argument flattening by re-quoting each arg for /s /c.
Add dedicated #wsl-setup anchor for precise troubleshooting links.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@wey-gu wey-gu merged commit 41e1168 into main Mar 11, 2026
1 check was pending
@wey-gu wey-gu deleted the dev_069 branch March 11, 2026 13:20
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Mar 11, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 6f0c7da3-671e-4736-adcd-dbebe706651a

📥 Commits

Reviewing files that changed from the base of the PR and between 7f2a48d and 2fcc0ef.

⛔ Files ignored due to path filters (1)
  • nowledge-mem-raycast/assets/extension-icon.png is excluded by !**/*.png
📒 Files selected for processing (12)
  • nowledge-mem-claude-code-plugin/README.md
  • nowledge-mem-npx-skills/CHANGELOG.md
  • nowledge-mem-npx-skills/README.md
  • nowledge-mem-npx-skills/skills/save-thread/SKILL.md
  • nowledge-mem-raycast/CHANGELOG.md
  • nowledge-mem-raycast/README.md
  • nowledge-mem-raycast/eslint.config.js
  • nowledge-mem-raycast/eslint.config.mjs
  • nowledge-mem-raycast/package.json
  • nowledge-mem-raycast/src/api.ts
  • nowledge-mem-raycast/src/edit-working-memory.tsx
  • nowledge-mem-raycast/src/working-memory.tsx

📝 Walkthrough

Walkthrough

This pull request introduces remote access support to the Raycast extension, adds deprecation guidance for the Save Thread skill in npx-skills, includes WSL setup documentation for the Claude Code plugin, and migrates ESLint configuration from .js to .mjs format across multiple packages.

Changes

Cohort / File(s) Summary
Claude Code Plugin WSL Setup
nowledge-mem-claude-code-plugin/README.md
Adds WSL bridge script section and Bash wrapper example; appends WSL-specific troubleshooting note for nmem not found error.
NPX Skills Deprecation
nowledge-mem-npx-skills/CHANGELOG.md, nowledge-mem-npx-skills/README.md, nowledge-mem-npx-skills/skills/save-thread/SKILL.md
Restores save-thread as deprecated compatibility skill; explains behavior degradation to handoff semantics in generic environments; adds guidance on save-handoff preference and native integration usage.
Raycast Remote Access Infrastructure
nowledge-mem-raycast/src/api.ts
Introduces centralized API client with configuration loading, URL normalization, standardized headers, API key handling, and error parsing; replaces direct fetch calls and switches memory reading from filesystem to API-based retrieval.
Raycast Remote Access Integration
nowledge-mem-raycast/src/working-memory.tsx, nowledge-mem-raycast/src/edit-working-memory.tsx
Updates components to fetch memory data via API; adds connection type detection; enforces local-only editing; replaces filesystem-based metadata with API-provided data; adds Source File and Connection labels to metadata display.
Raycast Configuration & Metadata
nowledge-mem-raycast/package.json, nowledge-mem-raycast/CHANGELOG.md, nowledge-mem-raycast/README.md
Adds apiKey preference for remote authentication; updates command labels and descriptions; bumps @raycast/api dependency; documents local vs remote setup paths; explains API key and config file usage.
Raycast Build Configuration Migration
nowledge-mem-raycast/eslint.config.js, nowledge-mem-raycast/eslint.config.mjs
Migrates ESLint configuration from CommonJS (.js) to ES module (.mjs) format; imports defineConfig and raycastConfig from updated modules.

Sequence Diagram(s)

sequenceDiagram
    participant User as User
    participant RaycastExt as Raycast Extension
    participant ConfigSys as Configuration System
    participant MemAPI as Mem API Server
    participant FileSystem as Local File System

    User->>RaycastExt: Request working memory
    RaycastExt->>ConfigSys: Load connection config<br/>(preferences + ~/.nowledge-mem/config.json)
    
    alt Local Connection
        ConfigSys-->>RaycastExt: baseUrl = http://127.0.0.1:14242
        RaycastExt->>MemAPI: GET /api/working-memory
        MemAPI->>FileSystem: Read local memory file
        FileSystem-->>MemAPI: Memory content + metadata
        MemAPI-->>RaycastExt: WorkingMemoryResponse<br/>(exists, content, date, file_path)
    else Remote Connection
        ConfigSys-->>RaycastExt: baseUrl + apiKey
        RaycastExt->>RaycastExt: Build auth headers<br/>(X-NMEM-API-Key)
        RaycastExt->>MemAPI: GET /api/working-memory<br/>(+ auth header)
        MemAPI-->>RaycastExt: WorkingMemoryResponse
    end
    
    RaycastExt->>RaycastExt: Parse response & display
    RaycastExt-->>User: Display working memory<br/>with metadata
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Poem

🐰 Remote roads and local lanes,
No more local-only chains,
Config files guide the way,
API calls save the day!
WSL bridges built with care—
Mem flows everywhere! 🌐

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch dev_069

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@wey-gu wey-gu restored the dev_069 branch March 11, 2026 13:24
@wey-gu wey-gu deleted the dev_069 branch April 21, 2026 04:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant