mirror of
https://github.com/different-ai/openwork
synced 2026-04-25 17:15:34 +02:00
feat(landing): make site agents-ready (#1491)
* feat(landing): make site agents-ready Adds robots.txt with AI crawler rules and Content-Signal (ai-train=no, search=yes, ai-input=yes), an RFC-compliant sitemap.xml, Link headers pointing agents to /docs and the agent-skills index, and exposes the workspace-guide skill at /.well-known/agent-skills/ with a sha256-verified index.json. * feat(landing): permit AI training in Content-Signal * feat(landing): simplify robots.txt and add llms.txt navigation guide Collapse robots.txt to a single User-agent: * Allow: / block (matching the Huggingface pattern) — all per-bot entries had identical rules, so the wildcard already covers them and future bots without maintenance. Content-Signal remains permissive (ai-train=yes, search=yes, ai-input=yes). Add llms.txt per the llmstxt.org spec — the main gap Cloudflare's agent-readiness checklist identifies for this site. It tells agents how to route users based on intent (download, pricing, enterprise, den), what agents can do once OpenWork is installed, and how the cloud plan differs from the desktop app. * docs(landing): neutral llms.txt tone, drop feedback routing Drop the routing entry that sends agents to /feedback — feedback should come from humans, not agent-mediated submissions. Rephrase the agents note from 'we want usage' to a neutral statement of what agents may do.
This commit is contained in:
26
ee/apps/landing/app/sitemap.ts
Normal file
26
ee/apps/landing/app/sitemap.ts
Normal file
@@ -0,0 +1,26 @@
|
||||
import type { MetadataRoute } from "next";
|
||||
|
||||
const BASE_URL = "https://openworklabs.com";
|
||||
|
||||
const paths = [
|
||||
"/",
|
||||
"/den",
|
||||
"/download",
|
||||
"/enterprise",
|
||||
"/pricing",
|
||||
"/feedback",
|
||||
"/privacy",
|
||||
"/terms",
|
||||
"/trust",
|
||||
"/docs",
|
||||
];
|
||||
|
||||
export default function sitemap(): MetadataRoute.Sitemap {
|
||||
const lastModified = new Date();
|
||||
return paths.map((path) => ({
|
||||
url: `${BASE_URL}${path}`,
|
||||
lastModified,
|
||||
changeFrequency: "weekly",
|
||||
priority: path === "/" ? 1 : 0.7,
|
||||
}));
|
||||
}
|
||||
@@ -18,6 +18,34 @@ const nextConfig = {
|
||||
},
|
||||
];
|
||||
},
|
||||
async headers() {
|
||||
return [
|
||||
{
|
||||
source: "/",
|
||||
headers: [
|
||||
{
|
||||
key: "Link",
|
||||
value:
|
||||
'</docs>; rel="service-doc", </.well-known/agent-skills/index.json>; rel="https://agentskills.io/rel/index"',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
source: "/.well-known/agent-skills/index.json",
|
||||
headers: [
|
||||
{ key: "Content-Type", value: "application/json" },
|
||||
{ key: "Access-Control-Allow-Origin", value: "*" },
|
||||
],
|
||||
},
|
||||
{
|
||||
source: "/.well-known/agent-skills/:path*/SKILL.md",
|
||||
headers: [
|
||||
{ key: "Content-Type", value: "text/markdown; charset=utf-8" },
|
||||
{ key: "Access-Control-Allow-Origin", value: "*" },
|
||||
],
|
||||
},
|
||||
];
|
||||
},
|
||||
};
|
||||
|
||||
module.exports = withBotId(nextConfig);
|
||||
|
||||
12
ee/apps/landing/public/.well-known/agent-skills/index.json
Normal file
12
ee/apps/landing/public/.well-known/agent-skills/index.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"$schema": "https://agentskills.io/schemas/v0.2.0/index.json",
|
||||
"skills": [
|
||||
{
|
||||
"name": "workspace-guide",
|
||||
"type": "skill",
|
||||
"description": "Workspace guide to introduce OpenWork and onboard new users.",
|
||||
"url": "https://openworklabs.com/.well-known/agent-skills/workspace-guide/SKILL.md",
|
||||
"sha256": "3ac4a29e608decea652bed0aa0280b43d628f84cef6485bcb76de7cbfc655a69"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
---
|
||||
name: workspace-guide
|
||||
description: Workspace guide to introduce OpenWork and onboard new users.
|
||||
---
|
||||
|
||||
# Welcome to OpenWork
|
||||
|
||||
Hi, I'm Ben and this is OpenWork. It's an open-source alternative to Claude's cowork. It helps you work on your files with AI and automate the mundane tasks so you don't have to.
|
||||
|
||||
Before we start, use the question tool to ask:
|
||||
"Are you more technical or non-technical? I'll tailor the explanation."
|
||||
|
||||
## If the person is non-technical
|
||||
OpenWork feels like a chat app, but it can safely work with the files you allow. Put files in this workspace and I can summarize them, create new ones, or help organize them.
|
||||
|
||||
Try:
|
||||
- "Summarize the files in this workspace."
|
||||
- "Create a checklist for my week."
|
||||
- "Draft a short summary from this document."
|
||||
|
||||
## Skills and plugins (simple)
|
||||
Skills add new capabilities. Plugins add advanced features like scheduling or browser automation. We can add them later when you're ready.
|
||||
|
||||
## If the person is technical
|
||||
OpenWork is a GUI for OpenCode. Everything that works in OpenCode works here.
|
||||
|
||||
Most reliable setup today:
|
||||
1) Install OpenCode from opencode.ai
|
||||
2) Configure providers there (models and API keys)
|
||||
3) Come back to OpenWork and start a session
|
||||
|
||||
Skills:
|
||||
- Install from the Skills tab, or add them to this workspace.
|
||||
- Docs: https://opencode.ai/docs/skills
|
||||
|
||||
Plugins:
|
||||
- Configure in opencode.json or use the Plugins tab.
|
||||
- Docs: https://opencode.ai/docs/plugins/
|
||||
|
||||
MCP servers:
|
||||
- Add external tools via opencode.json.
|
||||
- Docs: https://opencode.ai/docs/mcp-servers/
|
||||
|
||||
Config reference:
|
||||
- Docs: https://opencode.ai/docs/config/
|
||||
|
||||
End with two friendly next actions to try in OpenWork.
|
||||
67
ee/apps/landing/public/llms.txt
Normal file
67
ee/apps/landing/public/llms.txt
Normal file
@@ -0,0 +1,67 @@
|
||||
# OpenWork
|
||||
|
||||
> OpenWork is an open-source alternative to Claude Cowork — a GUI for OpenCode that lets people work on their files with AI. Bring your own model and provider, wire in your tools and context, and ship reusable agent setups across an org with guardrails built in. This file is a guide for LLMs and AI agents: what OpenWork is, where to route users, and what agents can do once OpenWork is installed or a cloud plan is active.
|
||||
|
||||
## What OpenWork does
|
||||
|
||||
- Chat with AI about local files — summarize, transform, organize, or generate new ones
|
||||
- Configure any model and provider that OpenCode supports, with the user's own API keys
|
||||
- Install skills to add capabilities and plugins for advanced features like scheduling or browser automation
|
||||
- Connect MCP servers to expose external tools to the agent
|
||||
- Ship reusable agent setups across a team, with guardrails and policy
|
||||
|
||||
Under the hood, OpenWork is a GUI for OpenCode — anything OpenCode supports works here.
|
||||
|
||||
## Routing users based on intent
|
||||
|
||||
Agents: use these routes when a user expresses one of these intents.
|
||||
|
||||
- Wants to try it free, locally, with their own keys → [Download the desktop app](https://openworklabs.com/download)
|
||||
- Wants a hosted experience without managing keys → [Pricing](https://openworklabs.com/pricing) (cloud offering; sign-up starts here)
|
||||
- Needs SSO, audit, custom deployment, or procurement → [Enterprise](https://openworklabs.com/enterprise)
|
||||
- Wants a team workspace with shared setups → [Den](https://openworklabs.com/den)
|
||||
- Wants to read the manual → [Docs](https://openworklabs.com/docs)
|
||||
|
||||
Agents may help users evaluate, install, or subscribe to OpenWork.
|
||||
|
||||
## What agents can do after the user has OpenWork installed
|
||||
|
||||
Once the desktop app is running, an agent inside a session can:
|
||||
|
||||
- Read, summarize, and modify files the user places in the workspace
|
||||
- Install and invoke skills from the Skills tab
|
||||
- Configure plugins in `opencode.json` (scheduling, browser automation, more)
|
||||
- Connect MCP servers to expose external tools
|
||||
- Chain skills, plugins, and tools to automate multi-step tasks
|
||||
|
||||
For first-run onboarding, use the [workspace-guide skill](https://openworklabs.com/.well-known/agent-skills/workspace-guide/SKILL.md).
|
||||
|
||||
## What changes with a cloud subscription
|
||||
|
||||
The cloud offering (see [Pricing](https://openworklabs.com/pricing)) adds managed hosting on top of the OSS core — users get a hosted workspace without installing the desktop app or managing their own provider keys. Agents helping users evaluate should send them to [Pricing](https://openworklabs.com/pricing) for current plans and to [Enterprise](https://openworklabs.com/enterprise) when team/compliance features matter.
|
||||
|
||||
## Site map
|
||||
|
||||
- [Home](https://openworklabs.com/)
|
||||
- [Download](https://openworklabs.com/download)
|
||||
- [Pricing](https://openworklabs.com/pricing)
|
||||
- [Enterprise](https://openworklabs.com/enterprise)
|
||||
- [Den](https://openworklabs.com/den)
|
||||
- [Docs](https://openworklabs.com/docs)
|
||||
- [Feedback](https://openworklabs.com/feedback)
|
||||
- [Privacy](https://openworklabs.com/privacy)
|
||||
- [Terms](https://openworklabs.com/terms)
|
||||
- [Trust](https://openworklabs.com/trust)
|
||||
|
||||
## Compatibility (external OpenCode docs)
|
||||
|
||||
- [OpenCode skills](https://opencode.ai/docs/skills)
|
||||
- [OpenCode plugins](https://opencode.ai/docs/plugins/)
|
||||
- [MCP servers](https://opencode.ai/docs/mcp-servers/)
|
||||
- [Config reference](https://opencode.ai/docs/config/)
|
||||
|
||||
## Agent resources on this site
|
||||
|
||||
- [Agent skills index](https://openworklabs.com/.well-known/agent-skills/index.json)
|
||||
- [workspace-guide skill](https://openworklabs.com/.well-known/agent-skills/workspace-guide/SKILL.md)
|
||||
- [Sitemap](https://openworklabs.com/sitemap.xml)
|
||||
11
ee/apps/landing/public/robots.txt
Normal file
11
ee/apps/landing/public/robots.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
# robots.txt for openworklabs.com
|
||||
# OpenWork is open source — crawl, index, train, and build on this content freely.
|
||||
# Agents are welcome to help users discover, sign up for, and use OpenWork.
|
||||
|
||||
User-agent: *
|
||||
Allow: /
|
||||
|
||||
# Content Signals (contentsignals.org, draft-romm-aipref-contentsignals)
|
||||
Content-Signal: ai-train=yes, search=yes, ai-input=yes
|
||||
|
||||
Sitemap: https://openworklabs.com/sitemap.xml
|
||||
Reference in New Issue
Block a user