From e368a8dd8ccda46e6918952b2da51cecca4c977b Mon Sep 17 00:00:00 2001 From: xprilion Date: Sun, 26 Apr 2026 18:17:42 +0530 Subject: [PATCH] improve seo --- site/docs/.vitepress/config.ts | 76 ++++++++++++++++++++++++++- site/docs/.vitepress/theme/custom.css | 54 +++++++++++++++++++ site/docs/.vitepress/theme/index.ts | 4 ++ site/docs/agent-harness.md | 5 ++ site/docs/api.md | 5 ++ site/docs/architecture.md | 5 ++ site/docs/changelog.md | 5 ++ site/docs/configuration.md | 5 ++ site/docs/index.md | 2 + site/docs/modes.md | 5 ++ site/docs/public/llms.txt | 59 +++++++++++++++++++++ site/docs/setup.md | 5 ++ site/docs/tools.md | 5 ++ 13 files changed, 234 insertions(+), 1 deletion(-) create mode 100644 site/docs/.vitepress/theme/custom.css create mode 100644 site/docs/.vitepress/theme/index.ts create mode 100644 site/docs/public/llms.txt diff --git a/site/docs/.vitepress/config.ts b/site/docs/.vitepress/config.ts index 320d4ff..bdc9e50 100644 --- a/site/docs/.vitepress/config.ts +++ b/site/docs/.vitepress/config.ts @@ -1,8 +1,82 @@ import { defineConfig } from "vitepress"; +import { copyFileSync } from "fs"; +import { join } from "path"; export default defineConfig({ title: "OpenMLR", - description: "ML Research Intern — Documentation", + description: + "OpenMLR - AI-powered ML Research Agent that plans tasks, researches papers, writes drafts, and executes code", + + head: [ + // Basic meta + ["meta", { name: "author", content: "Anubhav Singh" }], + [ + "meta", + { + name: "keywords", + content: + "ML research, AI agent, research assistant, paper writing, arxiv, machine learning, OpenMLR", + }, + ], + ["link", { rel: "canonical", href: "https://openmlr.dev" }], + + // Open Graph + ["meta", { property: "og:type", content: "website" }], + ["meta", { property: "og:locale", content: "en_US" }], + ["meta", { property: "og:site_name", content: "OpenMLR" }], + ["meta", { property: "og:title", content: "OpenMLR - ML Research Agent" }], + [ + "meta", + { + property: "og:description", + content: + "AI-powered ML Research Agent that plans tasks, researches papers, writes drafts, and executes code", + }, + ], + ["meta", { property: "og:url", content: "https://openmlr.dev" }], + + // Twitter Card + ["meta", { name: "twitter:card", content: "summary_large_image" }], + ["meta", { name: "twitter:title", content: "OpenMLR - ML Research Agent" }], + [ + "meta", + { + name: "twitter:description", + content: + "AI-powered ML Research Agent that plans tasks, researches papers, writes drafts, and executes code", + }, + ], + ], + + // Sitemap generation + sitemap: { + hostname: "https://openmlr.dev", + }, + + // Copy markdown files to dist for raw .md access + async buildEnd(siteConfig) { + const docs = [ + "index", + "setup", + "configuration", + "modes", + "tools", + "architecture", + "agent-harness", + "api", + "changelog", + ]; + for (const doc of docs) { + const src = join(siteConfig.srcDir, `${doc}.md`); + const dest = join(siteConfig.outDir, `${doc}.md`); + try { + copyFileSync(src, dest); + } catch (e) { + console.warn(`Could not copy ${doc}.md:`, e); + } + } + }, + themeConfig: { nav: [ { text: "Home", link: "/" }, diff --git a/site/docs/.vitepress/theme/custom.css b/site/docs/.vitepress/theme/custom.css new file mode 100644 index 0000000..b3656f7 --- /dev/null +++ b/site/docs/.vitepress/theme/custom.css @@ -0,0 +1,54 @@ +/** + * Light mode: Soften harsh white backgrounds + * Using warm gray tones for a more comfortable reading experience + */ +:root { + /* Main backgrounds */ + --vp-c-bg: #f9fafb; + --vp-c-bg-soft: #f3f4f6; + --vp-c-bg-mute: #e5e7eb; + --vp-c-bg-alt: #f3f4f6; + + /* Sidebar */ + --vp-sidebar-bg-color: #f9fafb; + + /* Borders and dividers */ + --vp-c-gutter: #e5e7eb; + --vp-c-divider: #e5e7eb; +} + +/* Nav bar background */ +.VPNav { + background-color: var(--vp-c-bg) !important; +} + +/* Hero section on home page */ +.VPHero { + background-color: var(--vp-c-bg) !important; +} + +/* Feature cards on home page */ +.VPFeature { + background-color: var(--vp-c-bg-soft) !important; + border-color: var(--vp-c-divider) !important; +} + +/* Content area */ +.VPContent { + background-color: var(--vp-c-bg) !important; +} + +/* Sidebar */ +.VPSidebar { + background-color: var(--vp-c-bg) !important; +} + +/* Code blocks - slightly darker for contrast */ +:root { + --vp-code-block-bg: #f3f4f6; +} + +/* Inline code */ +:root { + --vp-c-code-bg: #e5e7eb; +} diff --git a/site/docs/.vitepress/theme/index.ts b/site/docs/.vitepress/theme/index.ts new file mode 100644 index 0000000..c495bc1 --- /dev/null +++ b/site/docs/.vitepress/theme/index.ts @@ -0,0 +1,4 @@ +import DefaultTheme from "vitepress/theme"; +import "./custom.css"; + +export default DefaultTheme; diff --git a/site/docs/agent-harness.md b/site/docs/agent-harness.md index adadee6..4589a40 100644 --- a/site/docs/agent-harness.md +++ b/site/docs/agent-harness.md @@ -1,3 +1,8 @@ +--- +title: Agent Harness - OpenMLR +description: Deep dive into OpenMLR's agent execution engine. Agent loop, tool dispatch, context management, doom loop detection, and sub-agent streaming. +--- + # Agent Harness The agent harness is the core execution engine that processes user messages, manages tool calls, and maintains conversation context. diff --git a/site/docs/api.md b/site/docs/api.md index 7d89255..2c75f88 100644 --- a/site/docs/api.md +++ b/site/docs/api.md @@ -1,3 +1,8 @@ +--- +title: REST API Reference - OpenMLR +description: OpenMLR REST API documentation. Authentication, conversations, messaging, paper management, settings, and SSE streaming endpoints. +--- + # REST API All endpoints are prefixed with `/api`. Authentication uses JWT Bearer tokens. diff --git a/site/docs/architecture.md b/site/docs/architecture.md index b051274..2c516c7 100644 --- a/site/docs/architecture.md +++ b/site/docs/architecture.md @@ -1,3 +1,8 @@ +--- +title: Architecture Overview - OpenMLR +description: OpenMLR system architecture. Python FastAPI backend, React frontend, Celery background jobs, and the complete request flow for ML research workflows. +--- + # Architecture ## Overview diff --git a/site/docs/changelog.md b/site/docs/changelog.md index b506cad..8998ef7 100644 --- a/site/docs/changelog.md +++ b/site/docs/changelog.md @@ -1,3 +1,8 @@ +--- +title: Changelog - OpenMLR +description: OpenMLR version history and release notes. Track new features, improvements, and changes across all versions. +--- + # Changelog ## v0.2.0 diff --git a/site/docs/configuration.md b/site/docs/configuration.md index bc000a4..8af8afe 100644 --- a/site/docs/configuration.md +++ b/site/docs/configuration.md @@ -1,3 +1,8 @@ +--- +title: Configuration - OpenMLR +description: Configure OpenMLR environment variables, LLM providers (OpenAI, Anthropic, OpenRouter, Ollama), API keys, and runtime settings. +--- + # Configuration ## Environment Variables (`.env`) diff --git a/site/docs/index.md b/site/docs/index.md index ada0324..106a060 100644 --- a/site/docs/index.md +++ b/site/docs/index.md @@ -1,4 +1,6 @@ --- +title: OpenMLR - AI-Powered ML Research Agent +description: OpenMLR plans tasks, researches papers, writes drafts, and executes code end-to-end in one conversation. Open source ML research assistant. layout: home hero: name: OpenMLR diff --git a/site/docs/modes.md b/site/docs/modes.md index 09d6eec..0c3c705 100644 --- a/site/docs/modes.md +++ b/site/docs/modes.md @@ -1,3 +1,8 @@ +--- +title: Plan & Execute Modes - OpenMLR +description: Understand OpenMLR's two-mode system. Plan mode for gathering context and creating plans. Execute mode for researching papers, writing drafts, and running code. +--- + # Modes OpenMLR uses two modes — **Plan** and **Execute** — to keep the agent focused on the right kind of work. diff --git a/site/docs/public/llms.txt b/site/docs/public/llms.txt new file mode 100644 index 0000000..0d32bc6 --- /dev/null +++ b/site/docs/public/llms.txt @@ -0,0 +1,59 @@ +# OpenMLR + +> OpenMLR is an AI-powered ML Research Agent that plans tasks, researches papers, writes drafts, and executes code end-to-end in one conversation. + +## Documentation + +- [Overview](https://openmlr.dev/): Home page with quick start guide +- [Setup & Installation](https://openmlr.dev/setup): Prerequisites and installation methods +- [Configuration](https://openmlr.dev/configuration): Environment variables and settings +- [Modes](https://openmlr.dev/modes): Plan mode and Execute mode explained +- [Agent Tools](https://openmlr.dev/tools): Available tools for the agent +- [Architecture](https://openmlr.dev/architecture): System architecture overview +- [Agent Harness](https://openmlr.dev/agent-harness): Agent execution engine details +- [REST API](https://openmlr.dev/api): API reference documentation +- [Changelog](https://openmlr.dev/changelog): Version history + +## Raw Markdown + +All documentation pages are available as raw markdown by appending `.md`: +- https://openmlr.dev/index.md +- https://openmlr.dev/setup.md +- https://openmlr.dev/configuration.md +- https://openmlr.dev/modes.md +- https://openmlr.dev/tools.md +- https://openmlr.dev/architecture.md +- https://openmlr.dev/agent-harness.md +- https://openmlr.dev/api.md +- https://openmlr.dev/changelog.md + +## Quick Start + +```bash +git clone https://github.com/xprilion/OpenMLR.git +cd OpenMLR +cp .env.example .env # Add your API keys +docker compose up -d +``` + +Open http://localhost:3000. Create an account. Start researching. + +## Key Features + +- **Paper research**: OpenAlex, ArXiv, CrossRef, Papers With Code. Full paper reading, citation graphs. +- **Paper writing**: Section-by-section drafting with auto-save. Preview + export (Markdown/LaTeX). +- **Two modes**: Plan (read-only, planning) and Execute (full access, execution). +- **Sub-agent streaming**: Research tool spawns independent agents with nested tool call visibility. +- **Background jobs**: Celery + Redis. Close the browser, come back later. +- **Per-conversation parallelism**: Multiple conversations process simultaneously. + +## Modes + +- **Plan mode (P)**: The agent asks questions, gathers context, and creates structured plans. No code execution, no file writes. Messages have an amber border. +- **Execute mode (E)**: The agent does the work: researches papers, writes drafts, runs experiments. All tools available. Messages have a blue border. + +## Links + +- GitHub: https://github.com/xprilion/OpenMLR +- Documentation: https://openmlr.dev +- License: MIT diff --git a/site/docs/setup.md b/site/docs/setup.md index d67b211..2978967 100644 --- a/site/docs/setup.md +++ b/site/docs/setup.md @@ -1,3 +1,8 @@ +--- +title: Setup & Installation - OpenMLR +description: Install OpenMLR with Docker Compose or set up local development. Prerequisites, quick start guide, and deployment options for the ML research agent. +--- + # Setup & Installation ## Prerequisites diff --git a/site/docs/tools.md b/site/docs/tools.md index 3727ea9..52d8959 100644 --- a/site/docs/tools.md +++ b/site/docs/tools.md @@ -1,3 +1,8 @@ +--- +title: Agent Tools Reference - OpenMLR +description: Complete reference for OpenMLR agent tools. Planning, research, filesystem, paper writing, and code execution tools with mode availability. +--- + # Agent Tools The agent has access to built-in tools organized by category. Tool availability depends on the current [mode](/modes).