No matches yet. Try a narrower phrase.
'; + commandStatus.textContent = 'No matches'; + return; + } + + const fragment = document.createDocumentFragment(); + + groups.forEach((group, groupIndex) => { + const section = document.createElement('section'); + section.className = 'command-group'; + section.setAttribute('role', 'group'); + section.setAttribute('aria-labelledby', `command-group-${groupIndex}`); + + const header = document.createElement('header'); + header.innerHTML = ` + ${group.icon || ''} + ${group.title} + `; + section.appendChild(header); + + const list = document.createElement('ul'); + list.className = 'command-group__list'; + + group.links.forEach((link, linkIndex) => { + const item = document.createElement('li'); + item.className = 'command-group__item'; + + const anchor = document.createElement('a'); + anchor.className = 'command-group__link'; + anchor.href = link.path; + anchor.setAttribute('role', 'option'); + anchor.dataset.commandIndex = `${groupIndex}-${linkIndex}`; + anchor.innerHTML = ` + + ↵ + `; + + anchor.addEventListener('click', (event) => { + event.preventDefault(); + window.location.href = anchor.href; + palette.close(); + }); + + item.appendChild(anchor); + list.appendChild(item); + }); + + section.appendChild(list); + fragment.appendChild(section); + }); + + commandResults.appendChild(fragment); + const total = groups.reduce((sum, group) => sum + group.links.length, 0); + commandStatus.textContent = `${total} result${total === 1 ? '' : 's'}`; + activeCommandIndex = 0; + getVisibleCommands()[0]?.classList.add('is-active'); + }; + + commandInput?.addEventListener('input', (event) => { + renderCommandPalette(event.target.value); + }); + + commandInput?.addEventListener('keydown', (event) => { + if (event.key === 'ArrowDown') { + event.preventDefault(); + moveCommandFocus(1); + } else if (event.key === 'ArrowUp') { + event.preventDefault(); + moveCommandFocus(-1); + } else if (event.key === 'Enter') { + event.preventDefault(); + activateCommand(); + } + }); + + const initializeShortcuts = () => { + shortcuts.set('slash', (event) => { + if (event.target === commandInput) { + event.stopPropagation(); + } + }); + + document.addEventListener('keydown', (event) => { + if (event.key === 't' && !['INPUT', 'TEXTAREA'].includes(event.target.tagName)) { + event.preventDefault(); + toggleTheme(); + } + }); + }; + + const toggleTheme = () => { + const current = localStorage.getItem('rc-theme') || 'auto'; + const next = current === 'light' ? 'dark' : current === 'dark' ? 'auto' : 'light'; + applyTheme(next); + }; + + const applyTheme = (mode) => { + localStorage.setItem('rc-theme', mode); + body.classList.remove('theme-light', 'theme-dark'); + + if (mode === 'auto') { + body.classList.add(window.matchMedia('(prefers-color-scheme: dark)').matches ? 'theme-dark' : 'theme-light'); + } else { + body.classList.add(mode === 'dark' ? 'theme-dark' : 'theme-light'); + } + }; + + themeToggle?.addEventListener('click', () => toggleTheme()); + applyTheme(localStorage.getItem('rc-theme') || 'auto'); + + const buildToc = () => { + if (!readingRail || !docCanvas) return; + + const headings = docCanvas.querySelectorAll('h2, h3'); + if (!headings.length) return; + + const toc = document.createElement('nav'); + const list = document.createElement('ul'); + toc.appendChild(list); + + headings.forEach((heading) => { + if (!heading.id) { + heading.id = heading.textContent.toLowerCase().replace(/[^a-z0-9]+/g, '-'); + } + + const item = document.createElement('li'); + const link = document.createElement('a'); + link.href = `#${heading.id}`; + link.textContent = heading.textContent; + link.dataset.tocLink = heading.id; + + link.addEventListener('click', (event) => { + event.preventDefault(); + document.getElementById(heading.id)?.scrollIntoView({ behavior: 'smooth', block: 'start' }); + palette.close(); + }); + + item.appendChild(link); + list.appendChild(item); + }); + + const railToc = document.getElementById('rail-toc'); + if (railToc) { + railToc.innerHTML = ''; + railToc.appendChild(toc); + } + + const observer = new IntersectionObserver((entries) => { + entries.forEach((entry) => { + const link = document.querySelector(`[data-toc-link="${entry.target.id}"]`); + if (!link) return; + if (entry.isIntersecting) { + document.querySelectorAll('[data-toc-link]').forEach((node) => node.classList.remove('is-active')); + link.classList.add('is-active'); + } + }); + }, { + rootMargin: '-40% 0px -45% 0px', + threshold: 0.1 + }); + + headings.forEach((heading) => observer.observe(heading)); + }; + + const hydrateActiveNav = () => { + const page = document.body.dataset.page; + if (!page) return; + navLinks.forEach((link) => { + const href = link.getAttribute('href'); + if (!href) return; + const normalizedHref = href.replace(window.location.origin, '').replace(/index\.html$/, '/'); + const normalizedPage = page.replace(/index\.html$/, '/'); + if (normalizedHref === normalizedPage) { + link.classList.add('is-active'); + link.closest('[data-stack]')?.setAttribute('data-active', 'true'); + } + }); + }; + + const installNavData = () => { + if (!window.__RC_NAV__) { + window.__RC_NAV__ = navData; + } + }; + + installNavData(); + initializeShortcuts(); + renderCommandPalette(''); + buildToc(); + hydrateActiveNav(); + + window.addEventListener('resize', () => { + if (window.innerWidth > 980) { + nav?.removeAttribute('data-open'); + } + }); +})(); + diff --git a/docs/index.md b/docs/index.md index 1623bab..4f523ef 100644 --- a/docs/index.md +++ b/docs/index.md @@ -3,125 +3,89 @@ layout: default title: Home --- -# 📎 Recursive Control Documentation +# Mission Control Briefing -Welcome to the official documentation for **Recursive Control** - an AI-powered computer control system for Windows. +Welcome aboard **Recursive Control Mission Control**. This is your hangar, briefing room, and launch pad for orchestrating autonomous Windows workflows with your preferred AI pilots. -[](https://discord.gg/mQWsWeHsVU) - -## 🚀 What is Recursive Control? - -Recursive Control is an innovative project designed to enable artificial intelligence (AI) to interact seamlessly with your computer, automating tasks, performing complex workflows, and enhancing productivity through natural language commands. - -## ✨ Key Features +--- -- **AI-Powered Interaction**: Utilize AI models (GPT, Claude, Gemini, etc.) to interpret user input and intelligently execute actions -- **Automated Workflow Execution**: Automate repetitive or complex sequences of computer actions -- **Natural Language Commands**: Simply describe tasks in plain language, and let the AI handle execution -- **Multi-Agent Architecture**: Sophisticated 3-agent system for planning, coordination, and execution -- **Extensible Plugin System**: Modular architecture supporting custom plugins +## Launch Console -## 📚 Documentation +**Pick Your Objective** -### Getting Started -- [Installation Guide](Installation.html) - Set up Recursive Control on your system -- [Getting Started](Getting-Started.html) - Your first tasks and tutorials -- [UI Features](UI-Features.html) - Complete guide to the user interface +- [Installation Capsule](Installation.html) — deploy the suite locally in minutes +- [First Flight Checklist](Getting-Started.html) — complete your first automation loop +- [UI Features Atlas](UI-Features.html) — map every control surface and telemetry feed -### Advanced Topics -- [Multi-Agent Architecture](Multi-Agent-Architecture.html) - Technical deep dive into the agent system -- [System Prompts Reference](System-Prompts-Reference.html) - Understanding and customizing system prompts -- [API Reference](API-Reference.html) - Developer documentation +**Signal Boosts** -### Support -- [FAQ](FAQ.html) - Frequently asked questions -- [Troubleshooting](Troubleshooting.html) - Common issues and solutions +- Discord flight crew → [Join the ops channel](https://discord.gg/mQWsWeHsVU) +- Latest release notes → [Version pulse](https://github.com/flowdevs-io/Recursive-Control/releases) -## 🎯 Quick Start +--- -### Prerequisites -- .NET 4.8 or later -- Windows Operating System -- API Key for your preferred LLM provider (OpenAI, Azure, Anthropic, etc.) +## What You’re Flying -### Installation Steps +Recursive Control stitches together a **triad of agents**, a **modular plugin bay**, and **vision-assisted perception** so your instructions arrive as working Windows tasks. -1. **Download** the latest release from the [Releases](https://github.com/flowdevs-io/Recursive-Control/releases) page -2. **Run** `recursivecontrol.exe` -3. **Configure** your LLM provider in the settings -4. **Start** automating with natural language commands! +| Layer | Callsign | Mission | +| --- | --- | --- | +| 🧭 Coordinator | Hermes | Interprets intent, selects strategy | +| 🛠️ Planner | Daedalus | Authors the execution playbook | +| ⚡ Executor | Talos | Operates Windows actions through plugins | -## 🔌 Built-in Plugins +Plugins extend the aircraft: keyboard and mouse automation, screen intelligence, PowerShell/CMD access, Playwright browser control, remote HTTP bridge, and more. -Recursive Control comes with powerful plugins out of the box: +--- -- **CMDPlugin**: Execute Windows command line instructions -- **PowershellPlugin**: Run PowerShell scripts and commands -- **KeyboardPlugin**: Automate keyboard input -- **MousePlugin**: Automate mouse actions -- **ScreenCapturePlugin**: Capture and analyze screenshots -- **WindowSelectionPlugin**: Select and interact with application windows -- **PlaywrightPlugin**: Automate web browsers -- **RemoteControlPlugin**: HTTP API for remote command execution +## Flight Patterns -## 💡 Example Use Cases +```text +“Launch Excel, log in to Teams, and stage the daily report template.” +“Sweep Downloads, convert every .png into annotated documentation captures.” +“Open Chrome, authenticate into Jira, and create status tickets for each blocker.” +``` -- "Open Excel and create a new spreadsheet" -- "Capture screenshots for documentation" -- "Batch rename files in a folder" -- "Automate website testing with Playwright" -- "Fill out forms automatically" +Every request is decomposed into atomic moves, verified, and streamed back with commentary. -## 🛠️ Development +--- -Want to contribute or build from source? +## Build Lab ```bash -# Clone the repository git clone https://github.com/flowdevs-io/Recursive-Control.git - -# Navigate to directory cd Recursive-Control - -# Restore and build -dotnet restore -dotnet build +dotnet restore && dotnet build ``` -## 🗺️ Roadmap +Fork the repository to inject new agents, craft plugins, or integrate your own telemetry. -### Near-Term Goals -- [ ] Content warning logging for improved safety -- [ ] Expanded model support (Gemini, OLLAMA, Bedrock, Phi4) -- [ ] Improved speech recognition using real-time audio models +--- + +## Radar Timeline -### Future Vision -- [ ] Local Bbox search for reduced token usage -- [ ] Managed LLM integration with subscription options -- [ ] YOLO Bbox parser integration for advanced vision +**Now shipping** -**End Goal**: Recursive Control on every Windows computer, leveraging local SLMs and embedded vision models. Making computer interaction so seamless that keyboards and mice become optional. +- Multi-agent orchestration with live reasoning feed +- OmniParser bridge for Florence-powered spatial awareness +- Plugin toggles, profiles, and per-model prompt vibes -## 🤝 Community & Support +**Locking targets** -- [GitHub Issues](https://github.com/flowdevs-io/Recursive-Control/issues) - Bug reports and feature requests -- [Discussions](https://github.com/flowdevs-io/Recursive-Control/discussions) - Q&A and ideas -- [Discord Community](https://discord.gg/mQWsWeHsVU) - Real-time chat and support -- [LinkedIn](https://www.linkedin.com/company/flowdevs) - Updates and networking +- Reconfigurable task board with shared state between agents +- Gemini, Bedrock, Ollama, Phi4 connectors +- Real-time speech recognition powered by Whisper successors -## 📄 License +--- -This project is licensed under the MIT License - see the [LICENSE](https://github.com/flowdevs-io/Recursive-Control/blob/master/LICENSE) file for details. +## Support Deck -## 📧 Contact +- [FAQ Loop](FAQ.html) +- [Troubleshooting Console](Troubleshooting.html) +- [Repo Handbook](README.html) -For questions, feedback, or collaboration inquiries, connect with us through: -- GitHub repository -- [Discord server](https://discord.gg/mQWsWeHsVU) -- [LinkedIn](https://www.linkedin.com/company/flowdevs) +Open a [GitHub issue](https://github.com/flowdevs-io/Recursive-Control/issues) for feature requests or turbulence reports. --- -