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.3.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.3-py3-none-any.whl (15.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: omnyx_windsurf-0.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 629053641d5084b73e95371a3fcb3c8f6f2f05a07588384bd91c1d392b9b8b37
MD5 fee0886658e7462ac95332fadf6014ed
BLAKE2b-256 fbcd55b7e23bd8d0e01b21f324fcd5c50194c0591fe6dd51ba0e3f7f719c344e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: omnyx_windsurf-0.1.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 26351df6cf1a09b5f07131e1a565c835f62a55fcb87b0bbb25df195174193320
MD5 c04d76a6ab44701a84da4df2f30480b2
BLAKE2b-256 61c17edea3afb7d9445769038c1b60faf3fa4ce1cc04421b43f44238bc363244

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