Skip to main content

Omnyx personality adaptation for Windsurf IDE via MCP

Project description

Omnyx Windsurf Plugin

Personality-driven adaptation for Windsurf IDE via MCP (Model Context Protocol) and settings injection.

Installation

cd omnyx-windsurf
pip install -e .

How It Works

Windsurf supports MCP (Model Context Protocol) — an open standard for extending AI capabilities. This plugin provides:

  1. MCP Server — Windsurf connects to omnyx-windsurf as an MCP tool
  2. Settings Injection — Modifies .windsurfrc with personality-driven configurations
  3. Cascade Context — Injects personality context into every AI interaction

Architecture

┌──────────────┐     ┌──────────────┐     ┌─────────────────┐
│   Windsurf   │◄───►│ omnyx-windsurf│◄───►│  Omnyx Backend  │
│    IDE       │ MCP │   MCP Server  │     │  (/api/agentic) │
│              │     │               │     │                 │
│ • Cascade    │     │ • Personality │     │                 │
│ • Settings   │     │   analysis    │     │                 │
│ • Config     │     │ • Autonomy    │     │                 │
│   files      │     │   mapping     │     │                 │
└──────────────┘     └──────────────┘     └─────────────────┘

Setup

Quick Setup (One Command)

omnyx-windsurf setup --api-key omx_your_key_here --auto-configure

Then restart Windsurf IDE.

Manual Setup (Step by Step)

Step 1: Configure Omnyx

omnyx-windsurf setup --api-key omx_...

Step 2: Configure Windsurf

omnyx-windsurf configure-windsurf

Step 3: Restart Windsurf IDE

Where Config Files Go

The plugin creates/modifies these files:

MCP Config:

  • macOS: ~/Library/Application Support/Windsurf/mcp_config.json
  • Linux: ~/.config/Windsurf/mcp_config.json
  • Windows: %APPDATA%\Windsurf\mcp_config.json

Windsurf Settings:

  • All platforms: ~/.windsurfrc

This creates/modifies:

// .windsurfrc
{
  "omnyx.enabled": true,
  "omnyx.autonomy_level": "adaptive",
  "omnyx.planning_mode": "detailed",
  "omnyx.verbosity": "profile_based",
  "omnyx.test_generation": "comprehensive",
  "omnyx.cascade.context_injection": true
}

Usage

Important: Manual Invocation Required

Unlike Hermes (which auto-intercepts every prompt), Windsurf requires explicit tool calls via @omnyx:

@omnyx get_profile                      # Check your profile
@omnyx adapt_task "Build a React app"   # Get task adaptation

Why? MCP (Model Context Protocol) doesn't expose pre-prompt hooks. Windsurf must actively call the tool.

System Prompt Injection

When you call @omnyx adapt_task, the plugin:

  1. Sends your task to Omnyx backend
  2. Receives personality-adapted settings
  3. Updates .windsurfrc with cascade.system_prompt_prefix
  4. Cascade reads this and adjusts future behavior

Note: System prompt affects Cascade's style but doesn't auto-send subsequent prompts to Omnyx.

MCP Tools Provided

The plugin exposes these MCP tools to Windsurf:

omnyx_get_profile

Get current personality profile and confidence score.

Returns:

{
  "confidence": 0.82,
  "autonomy_level": "checkpointed",
  "planning_style": "detailed",
  "communication_style": "thorough",
  "last_updated": "2024-01-15T10:30:00Z"
}

omnyx_adapt_task

Get autonomy configuration for a specific task.

Input:

{
  "task_description": "Build user authentication",
  "estimated_scope": "medium",
  "file_context": ["src/auth.py", "src/models.py"]
}

Returns:

{
  "autonomy": "checkpointed",
  "planning_depth": "detailed",
  "test_coverage": "comprehensive",
  "cascade_instructions": "[Context: User prefers comprehensive solutions]"
}

omnyx_get_suggestions

Retrieve pending personalization suggestions.

omnyx_accept_suggestion / omnyx_dismiss_suggestion

Manage suggestion workflow.

Privacy Modes

Configure via .windsurfrc or CLI:

# Mode 1: Full context (default)
omnyx-windsurf config --privacy-mode raw_prompts

# Mode 2: Task only (no file contents)
omnyx-windsurf config --privacy-mode task_only

# Mode 3: Paused
omnyx-windsurf config --privacy-mode paused

Commands

omnyx-windsurf setup --api-key omx_...     # Initial configuration
omnyx-windsurf configure-windsurf          # Install MCP config
omnyx-windsurf status                      # Show profile and connection
omnyx-windsurf mcp                         # Start MCP server (for Windsurf)
omnyx-windsurf config                      # View/change settings
omnyx-windsurf check "task description"    # Test adaptation
omnyx-windsurf forget                      # Clear all data

Integration with .windsurfrc

The plugin modifies .windsurfrc to inject context:

{
  "cascade.system_prompt": "[Omnyx: User prefers detailed explanations with trade-off analysis. Confidence: 82%]",
  
  "omnyx.autonomy": {
    "level": "checkpointed",
    "checkpoint_frequency": "major_decisions"
  },
  
  "omnyx.style": {
    "verbosity": "high",
    "warmth": "medium",
    "structure": "detailed"
  },
  
  "omnyx.testing": {
    "coverage": "comprehensive",
    "include_edge_cases": true
  }
}

Development

# Run MCP server directly for testing
omnyx-windsurf mcp --debug

# Test task adaptation
omnyx-windsurf check "Refactor authentication module"

Differences from omnyx-devin

Aspect omnyx-devin (Cognition) omnyx-windsurf
Integration Requires vendor support ✅ MCP protocol (works now)
Config method API calls .windsurfrc settings
Context Task descriptions Files + workspace context
Real-time Batch ✅ Live via MCP
UI injection None ✅ Cascade system prompt

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

omnyx_windsurf-0.1.4.tar.gz (12.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

omnyx_windsurf-0.1.4-py3-none-any.whl (15.0 kB view details)

Uploaded Python 3

File details

Details for the file omnyx_windsurf-0.1.4.tar.gz.

File metadata

  • Download URL: omnyx_windsurf-0.1.4.tar.gz
  • Upload date:
  • Size: 12.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for omnyx_windsurf-0.1.4.tar.gz
Algorithm Hash digest
SHA256 e68767a429948d231ccc2ee66efb6d9334477a212e17fabda92729284675074b
MD5 5483056f68592b0c5e708ea2ef8c9430
BLAKE2b-256 aee2745b60f16a0d65755c974213721d9d16d635812422947c564d20c4b865a1

See more details on using hashes here.

File details

Details for the file omnyx_windsurf-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: omnyx_windsurf-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 15.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for omnyx_windsurf-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 902d517df080e22ad7186f85e6b94483953746bb012b99b81aa752f46eca8584
MD5 78617322c0ef06f3530b5cbe2feb3b0e
BLAKE2b-256 3c46d51c8b7d8b2e45e50297dffda390f118e8611b2385441517ea695319f1fa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page