Skip to content

Commit d657f18

Browse files
committed
Make Mindwire a framework for agent-powered products
White-label and customize native agent harnesses through an open-source SDK and runtime, so products can add advanced AI without rebuilding the agent layer. Present the path from leading agents through Mindwire to a branded product. Show working creations, customization, and connected workflows on the homepage. Give the first-party app and optional Cloud hosting their own pages, and keep the README focused on the value and a short SDK quickstart. Expand native agent adapters, authentication, MCP tool support, task lifecycle handling, and integration services across the runtime and SDKs.
1 parent 4f1a1e3 commit d657f18

142 files changed

Lines changed: 7333 additions & 1192 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎CONTRIBUTING.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Contributing to mindwire
22

3-
Mindwire is an open personal assistant and coding companion, with a native Apple client and shared agent runtime. Contributions to everyday workflows, clients, adapters, documentation,
4-
and infrastructure are welcome.
3+
Mindwire is an open-source SDK and runtime for adding native agent capabilities to products.
4+
Contributions to agent adapters, integrations, clients, documentation, and infrastructure are welcome.
55

66
By participating you agree to abide by our [Code of Conduct](./CODE_OF_CONDUCT.md).
77

‎README.md‎

Lines changed: 63 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,70 @@
11
# Mindwire
22

3-
**One agent. Bring your subscriptions.**
3+
**Your product. Powered by agents.**
44

5-
Mindwire is your personal agent for everyday work and coding. Bring your supported AI
6-
subscriptions, connect your computer, and put it to work from your Mac, iPhone or iPad.
5+
Turn your product into an advanced AI experience without rebuilding the agent layer.
6+
Mindwire lets you **white-label and customize leading agent harnesses** like Codex,
7+
Claude Code, and OpenCode through an open-source SDK and runtime.
78

8-
- **Get everyday work done.** Organize files, process data, prepare documents, and automate repetitive tasks.
9-
- **Build from anywhere.** Write and review code, manage projects, and use a full terminal.
10-
- **Keep work moving.** Start a task, close the app, and come back to the result while your computer stays online.
11-
- **Stay in control.** Follow progress, answer questions, and approve actions along the way.
12-
- **Work where you want.** Use your computer, a server, or a cloud workspace.
9+
Reuse their planning, coding, tool use, and execution. Add your tools, knowledge,
10+
instructions, and goals. Deliver the whole experience in your interface, under your brand.
1311

14-
[Download for Mac](https://github.com/oblien/mindwire/releases/latest/download/Mindwire.dmg) ·
15-
[Get started](https://mindwire.sh/get-started) · [Documentation](https://mindwire.sh/docs) ·
16-
[Account & Cloud portal](https://console.mindwire.sh)
12+
[Website](https://mindwire.sh) · [Quickstart](https://mindwire.sh/docs/guides/quickstart) ·
13+
[Documentation](https://mindwire.sh/docs) · [TypeScript](packages/sdk) · [Go](packages/daemon/sdk)
1714

18-
[Development](CONTRIBUTING.md) · [Runtime installation](https://mindwire.sh/docs/guides/destinations) ·
19-
[SaaS source deployment](docker/README.md)
15+
## Build your product. The agent layer is ready.
2016

21-
Runtime and SDKs: Apache-2.0. Apple app: source-available. [License details](LICENSING.md).
17+
- **Adapt instead of rebuild.** Use native agent capabilities through one integration.
18+
Mindwire handles connections, sessions, authentication, and event translation.
19+
- **Make it yours.** Connect product tools through MCP. Shape the work with your
20+
context, instructions, skills, and goals. Keep your brand and interface.
21+
- **Go beyond answers.** Let users build apps, create finished assets, and complete
22+
workflows using your product’s capabilities.
23+
- **Stay in control.** Stream progress, handle supported approvals, and run on your
24+
own infrastructure. Agent capabilities vary; see the [compatibility guide](packages/daemon/HARNESSES.md).
25+
26+
![Leading agents connected through Mindwire to your brand, tools, knowledge, and goals, inside your AI-powered product.](docs/assets/agent-foundation.png)
27+
28+
[See what this looks like inside a product →](https://mindwire.sh/#in-action)
29+
30+
## Get started
31+
32+
```sh
33+
npm install mindwire
34+
```
35+
36+
[Authenticate your agent](https://mindwire.sh/docs/guides/authentication), then run on
37+
Node.js or Bun from a project containing `brief.md`. The SDK starts the local runtime.
38+
39+
```ts
40+
import { Mindwire } from "mindwire";
41+
42+
const mw = new Mindwire({ agent: "codex" });
43+
try {
44+
const run = await mw.turn({
45+
chatId: "launch",
46+
cwd: process.cwd(),
47+
message: "Build a website from brief.md, create campaign assets, and save a rollout plan.",
48+
});
49+
for await (const event of run) {
50+
if (event.type === "text") process.stdout.write(event.text ?? "");
51+
}
52+
await run.wait();
53+
} finally {
54+
await mw.close();
55+
}
56+
```
57+
58+
Next: [connect your tools](https://mindwire.sh/docs/guides/mcp),
59+
[stream work into your UI](https://mindwire.sh/docs/guides/streaming), or use
60+
[Go](packages/daemon/sdk) / [REST](https://mindwire.sh/docs/reference/rest/turns-runs/post-turns).
61+
62+
[Mindwire Cloud](https://mindwire.sh/cloud) provides optional hosting.
63+
The [Mindwire app](https://mindwire.sh/app) is a first-party client built on the same runtime.
64+
Neither is required for your product.
65+
66+
## Contributing & license
67+
68+
See [Contributing](CONTRIBUTING.md) for local development.
69+
The runtime, SDKs, website, and Console are **Apache-2.0**; the Apple app is
70+
**source-available**. [License details](LICENSING.md).

‎apps/web/README.md‎

Lines changed: 36 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# @mindwire/web
22

3-
Mindwire’s mobile product site and developer documentation. Built with Next.js App
3+
Mindwire’s SDK/runtime product site, app showcase, and developer documentation. Built with Next.js App
44
Router, React, Tailwind CSS, and Fumadocs. The Node deployment uses Next’s
55
`standalone` output.
66

@@ -28,8 +28,11 @@ are not used.
2828

2929
## Product pages
3030

31-
- `/`: personal-bot hero, interactive everyday creations, General / Developer mode explorer, computer/phone
32-
continuity, SDK showcase, questions and a download invitation.
31+
- `/`: developer positioning, an example product with embedded agent work, a white-label
32+
configuration preview, custom tools/context/goals, automation, and SDK integration examples.
33+
- `/app/`: the first-party app showcase with a desktop/phone preview, shared review state,
34+
General / Developer modes, everyday examples, continuity, and app setup/download links.
35+
- `/cloud/`: optional Cloud Computer hosting, its relationship to the runtime, and pricing/Console links.
3336
- `/get-started/`: app, computer/server/cloud and agent setup.
3437
- `/pricing/`: free own-computer runtime and monthly Mindwire Cloud Computer plans.
3538
- `/download/`: Mac and iOS app availability, CLI installation and release links.
@@ -46,14 +49,29 @@ Shared product URLs live in `lib/product.ts`. Product pages share the components
4649
and scoped styles in `components/landing/`. The changelog and sandboxing content
4750
retain `components/marketing/`; the docs theme stays in `app/globals.css`.
4851

49-
The homepage uses Gellix, soft rounded surfaces, and the native app's peach, blue,
50-
and mint bot palette. `BotAvatar` adapts the native bean, robot, and sprout vectors.
52+
The site uses Gellix, soft rounded surfaces, and the shared peach, blue,
53+
and mint palette. Dark mode is the default; a saved light/dark preference is respected.
54+
Keep the homepage focused on adapting leading agents to a developer's own product. The centered
55+
hero uses tool and provider illustrations; its preview demonstrates an agent feature in a product,
56+
not a bot directory or personal chat flow. Avoid decorative status dots, dotted backgrounds,
57+
numbered section badges, and widely spaced uppercase labels. App modes and everyday task demos
58+
belong on `/app/`, which has no SDK promotional section. `BotAvatar` remains in app-specific art.
59+
Separate homepage containers with contrasting surface colors instead of nested borders.
60+
Claude and OpenCode use SVG images that preserve their artwork; don't recolor them with CSS masks.
61+
The hero shows an agent creating a complete project inside a product: a brief becomes a working
62+
landing page, campaign poster and announcement, and an assigned launch plan. Visitors can try the
63+
page, copy the announcement, complete tasks, and download self-contained HTML, SVG, and CSV outputs.
64+
The build is illustrative; the outputs are usable local examples. Provider choice stays outside the
65+
product UI. Campaign artwork and its generation prompt are in `public/images/launch-demo/`.
66+
The white-label section pairs a customization rail with an editable product feature preview.
67+
Automation uses connected nodes, context/tool inputs, a review branch, and an inspectable result;
68+
connections follow the responsive node layout. Keep its canvas free of decorative dot grids.
5169
`LandingNav` and `LandingFooter` are shared by marketing routes without changing the documentation shell.
5270
The previews use fictional example content and local interactions only: changing
53-
bots, inspecting their memory and instructions, checking tasks, comparing ideas,
54-
switching bookshelves, trying everyday tools, and exploring General / Developer views. They never contact
71+
project creation, working artifact previews, downloads, tasks, and agent choices, editing brand/tools/instructions/context/goals, stepping through
72+
automation and review, switching bookshelves, and exploring General / Developer views. They never contact
5573
an agent or touch an account. Mode switching preserves the example app's state.
56-
The personal secretary example shares one component between the homepage and the
74+
The personal secretary example shares one component between the app page and the
5775
use-case directory. Check a priority, open the meeting brief, or switch with arrow keys.
5876
Use-case prompts start from information the user supplies and tools they connect;
5977
they do not imply built-in email or calendar integrations.
@@ -120,3 +138,13 @@ selection when changing its presentation.
120138
Verify public pages, guide and API docs, search, and 404 pages in both themes at
121139
desktop and phone widths. Workspace options on `/sandboxing/` are a local preview;
122140
they never create a computer or change an account.
141+
142+
### Positioning
143+
144+
Mindwire is the SDK and runtime for putting supported agents inside an existing product. Lead with
145+
a concrete task and the integration surface: execution, streaming, sessions, and supported approvals.
146+
The app is a first-party client; Cloud is optional hosting. Neither is required for an SDK integration.
147+
General mode remains an approachable app experience alongside Developer mode. Saved bot profiles
148+
remain an optional runtime capability, not a prerequisite or the primary marketing promise. Avoid
149+
claims of universal app access, identical provider capabilities, bundled model usage, or unimplemented
150+
managed orchestration. Keep Cloud prices sourced from the existing catalog.

‎apps/web/app/app/page.tsx‎

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
import type { Metadata } from "next";
2+
import Link from "next/link";
3+
import { ArrowDown, ArrowUpRight, Folder, Radio, ShieldCheck, Smartphone } from "lucide-react";
4+
import AppWorkspacePreview from "@/components/landing/AppWorkspacePreview";
5+
import ModeExplorer from "@/components/landing/ModeExplorer";
6+
import PersonalSection from "@/components/landing/PersonalSection";
7+
import ContinuitySection from "@/components/landing/ContinuitySection";
8+
import FinalInvite from "@/components/landing/FinalInvite";
9+
import Questions from "@/components/landing/Questions";
10+
import base from "@/components/landing/landing.module.css";
11+
import product from "@/components/landing/product.module.css";
12+
import styles from "@/components/landing/app-showcase.module.css";
13+
14+
export const metadata: Metadata = {
15+
title: "Mindwire App — Your work, with you everywhere",
16+
description: "A workspace for your agents, files, and ideas. Work from Mac, iPhone, or iPad, follow progress, and review the next step in General or Developer mode.",
17+
alternates: { canonical: "/app/" },
18+
};
19+
20+
export default function AppPage() {
21+
return <div className={base.landing}>
22+
<section className={styles.hero} aria-labelledby="app-title">
23+
<div className={styles.intro}>
24+
<span className={styles.label}><Smartphone size={15} />The Mindwire App · Mac, iPhone & iPad</span>
25+
<h1 id="app-title">Your work.<br /><em>With you, everywhere.</em></h1>
26+
<p>A home for your agents, files, and ideas. Start something at your desk, follow its progress, and pick up the next step from your phone.</p>
27+
<div className={styles.actions}><Link href="/download" className={base.primaryButton}>Get the app <ArrowUpRight size={17} /></Link><Link href="#modes" className={base.secondaryButton}>Find your way to work <ArrowDown size={16} /></Link></div>
28+
</div>
29+
<AppWorkspacePreview />
30+
</section>
31+
<section className={styles.benefits} aria-label="What the Mindwire app brings together">
32+
<div><Radio size={21} /><h2>Know where the work stands.</h2><p>Follow agent progress and tool activity in the same place as the conversation.</p></div>
33+
<div><Folder size={21} /><h2>Keep the context close.</h2><p>Your projects, source files, and finished results stay part of the workspace.</p></div>
34+
<div><ShieldCheck size={21} /><h2>Stay in the decisions.</h2><p>Review the work and respond to supported questions and approvals across devices.</p></div>
35+
</section>
36+
<ModeExplorer />
37+
<PersonalSection />
38+
<ContinuitySection />
39+
<section className={`${product.section} ${product.faqSection}`} aria-labelledby="app-questions">
40+
<div className={`${product.sectionCopy} ${styles.faqHeading}`}><span className={product.eyebrow}>Make yourself at home</span><h2 id="app-questions">A few things<br /><em>before you start.</em></h2><p>Choose a computer, connect a supported agent, and start with something you need done.</p></div>
41+
<Questions items={[
42+
{ question: "Which mode should I use?", answer: "General mode keeps conversations, files, and finished results up front. Developer mode exposes projects, code changes, Git, and the terminal. Switch views as the work changes." },
43+
{ question: "Does the work run on my phone?", answer: "The work runs on a connected computer: your Mac, a server, or an optional Cloud Computer. Your phone lets you follow progress and interact with the workspace. The host needs to stay running while tasks execute." },
44+
{ question: "Can I use my existing agent account?", answer: "Connect an account or API key supported by your selected agent. Available authentication methods, provider terms, limits, and usage charges still apply." },
45+
{ question: "Where can I get the app?", answer: <>See <Link href="/download">downloads</Link> for current Mac and iOS availability, then follow the <Link href="/get-started">app setup guide</Link> to connect your computer and agent.</> },
46+
]} />
47+
</section>
48+
<FinalInvite audience="app" />
49+
</div>;
50+
}

‎apps/web/app/cloud/page.tsx‎

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import type { Metadata } from "next";
2+
import Link from "next/link";
3+
import { ArrowUpRight, Cloud, Folder, Laptop, Server } from "lucide-react";
4+
import Questions from "@/components/landing/Questions";
5+
import { cloudDashboardUrl } from "@/lib/product";
6+
import base from "@/components/landing/landing.module.css";
7+
import product from "@/components/landing/product.module.css";
8+
import styles from "@/components/landing/platform.module.css";
9+
10+
export const metadata: Metadata = {
11+
title: "Mindwire Cloud — A computer for your agent work",
12+
description: "Optional monthly Cloud Computers for the Mindwire runtime. Keep files and projects on an online host, with your agent account and model usage separate.",
13+
alternates: { canonical: "/cloud/" },
14+
};
15+
16+
export default function CloudPage() {
17+
return <div className={base.landing}>
18+
<header className={product.pageHero}><span className={product.eyebrow}>Mindwire Cloud · Optional hosting</span><h1>A computer for<br /><em>the work ahead.</em></h1><p>Give your agent tasks an online workspace with the files and tools they need. Use a monthly Cloud Computer when you want work to run beyond your own laptop.</p><div className={styles.actions} style={{ justifyContent: "center" }}><Link href="/pricing#cloud-plans" className={base.primaryButton}>See Cloud plans <ArrowUpRight size={17} /></Link><a href={cloudDashboardUrl} className={base.secondaryButton}>Open Console <ArrowUpRight size={17} /></a></div></header>
19+
<section className={styles.cloudSteps} aria-labelledby="cloud-capabilities"><h2 id="cloud-capabilities">A host for the same runtime.</h2><div className={styles.productGrid}>
20+
<article><span className={styles.productIcon}><Server size={25} /></span><h3>Run your workspace.</h3><p>Connect a supported agent account and work with its tools on your Cloud Computer. Agent usage remains separate from hosting.</p></article>
21+
<article><span className={styles.productIcon} data-tone="mint"><Folder size={25} /></span><h3>Keep files together.</h3><p>Keep projects and output on the computer that runs the task. Manage your computer and subscription through Console.</p></article>
22+
<article><span className={styles.productIcon} data-tone="peach"><Laptop size={25} /></span><h3>Use your preferred client.</h3><p>Connect through the Mindwire app or supported SDK destinations. Your client can disconnect while work continues on the running host.</p></article>
23+
</div></section>
24+
<section className={styles.hosts} aria-labelledby="cloud-choice"><div><Cloud size={29} /><h2 id="cloud-choice">Cloud is one way to run Mindwire.</h2><p>The SDK and runtime also work locally, on a server you manage, and in supported Docker environments. Choose the host that fits your application.</p></div><div className={styles.hostLinks}><Link href="/docs/guides/destinations">Compare runtime destinations <ArrowUpRight size={16} /></Link><Link href="/pricing">Understand hosting and AI costs <ArrowUpRight size={16} /></Link></div></section>
25+
<section className={`${product.section} ${product.faqSection}`} aria-labelledby="cloud-questions"><div className={product.sectionCopy}><span className={product.eyebrow}>Before you choose</span><h2 id="cloud-questions">Hosting, with<br /><em>clear boundaries.</em></h2></div><Questions items={[
26+
{ question: "Is this a model subscription?", answer: "No. A Cloud plan provides a computer. Use an account or API key supported by your chosen agent; provider limits, terms, and usage charges apply separately." },
27+
{ question: "What am I paying for?", answer: <>Each computer has its own monthly plan for the listed CPU, memory, and included storage. Check <Link href="/pricing">pricing</Link> and checkout for availability and any separate transfer, storage, or backup terms.</> },
28+
{ question: "Can I use my own infrastructure instead?", answer: "Yes. Mindwire’s open-source SDK and runtime can run on hardware and infrastructure you manage. A Cloud subscription is optional." },
29+
{ question: "Does my phone need to stay open?", answer: "No. Execution happens on the computer. Tasks and configured schedules can continue while the client is closed, as long as the host is running and the work is not waiting for input." },
30+
]} /></section>
31+
</div>;
32+
}

0 commit comments

Comments
 (0)