Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 75 additions & 1 deletion site/docs/.vitepress/config.ts
Original file line number Diff line number Diff line change
@@ -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: "/" },
Expand Down
54 changes: 54 additions & 0 deletions site/docs/.vitepress/theme/custom.css
Original file line number Diff line number Diff line change
@@ -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;
}
4 changes: 4 additions & 0 deletions site/docs/.vitepress/theme/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import DefaultTheme from "vitepress/theme";
import "./custom.css";

export default DefaultTheme;
5 changes: 5 additions & 0 deletions site/docs/agent-harness.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
5 changes: 5 additions & 0 deletions site/docs/api.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
5 changes: 5 additions & 0 deletions site/docs/architecture.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
5 changes: 5 additions & 0 deletions site/docs/changelog.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
5 changes: 5 additions & 0 deletions site/docs/configuration.md
Original file line number Diff line number Diff line change
@@ -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`)
Expand Down
2 changes: 2 additions & 0 deletions site/docs/index.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
5 changes: 5 additions & 0 deletions site/docs/modes.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
59 changes: 59 additions & 0 deletions site/docs/public/llms.txt
Original file line number Diff line number Diff line change
@@ -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
5 changes: 5 additions & 0 deletions site/docs/setup.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
5 changes: 5 additions & 0 deletions site/docs/tools.md
Original file line number Diff line number Diff line change
@@ -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).
Expand Down
Loading