-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfeatures.php
More file actions
144 lines (139 loc) · 12.2 KB
/
Copy pathfeatures.php
File metadata and controls
144 lines (139 loc) · 12.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
<?php require __DIR__ . '/_bootstrap.php'; ?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Cortex Features</title>
<script src="/assets/support.js"></script>
<link rel="stylesheet" href="/assets/theme.css">
</head>
<body class="lovable-theme">
<x-dc>
<helmet>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link href="https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700&family=Instrument+Sans:ital,wght@0,400;0,500;0,600;1,400&display=swap" rel="stylesheet">
<style>
body{margin:0;background:#faf9f7;color:#1c1a17;font-family:'Instrument Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:#1c1a17;text-decoration:none}a:hover{color:oklch(0.55 0.17 285)}
::selection{background:oklch(0.9 0.06 285)}
</style>
</helmet>
<div style="min-height:100vh">
<nav style="position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:14px 40px;background:rgba(250,249,247,0.85);backdrop-filter:blur(12px);border-bottom:1px solid rgba(28,26,23,0.06)">
<a class="brand-link" href="/" style="display:flex;align-items:center;gap:10px">
<span style="width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,oklch(0.62 0.17 285),oklch(0.72 0.15 40))!important;display:inline-flex;align-items:center;justify-content:center;color:#fff!important;font-family:Sora!important;font-weight:700;font-size:13px">C</span>
<span style="font-family:Sora!important;font-weight:600!important;font-size:17px!important;letter-spacing:-0.01em!important;color:#1c1a17!important">Cortex</span>
</a>
<?php cortex_navigation('Features'); ?>
</nav>
<header style="position:relative;overflow:hidden;padding:88px 24px 72px;text-align:center">
<div style="position:absolute;inset:-30% -10% auto;height:480px;background:radial-gradient(520px 300px at 50% 10%,oklch(0.86 0.08 285 / 0.5),transparent 70%);pointer-events:none"></div>
<div style="position:relative;max-width:720px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:18px">
<p style="margin:0;font-size:13px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:oklch(0.55 0.17 285)">Features</p>
<div class="cms-page-intro">
<?= cms_editable('features/intro') ?>
</div>
</div>
</header>
<section style="background:#fff;border-top:1px solid rgba(28,26,23,0.06);padding:24px 40px 96px">
<div style="max-width:960px;margin:0 auto;display:flex;flex-direction:column">
<sc-for list="{{ blocks }}" as="b" hint-placeholder-count="6">
<div style="display:grid;grid-template-columns:220px 1fr;gap:48px;padding:52px 0;border-bottom:1px solid rgba(28,26,23,0.07)">
<div style="display:flex;flex-direction:column;gap:8px">
<span style="font-family:Sora;font-weight:700;font-size:12px;letter-spacing:0.06em;color:{{ b.color }}">{{ b.tag }}</span>
<h2 style="margin:0;font-family:Sora;font-weight:600;font-size:24px;letter-spacing:-0.02em;line-height:1.2">{{ b.title }}</h2>
</div>
<div style="display:flex;flex-direction:column;gap:14px">
<p style="margin:0;font-size:16px;line-height:1.65;color:rgba(28,26,23,0.7);text-wrap:pretty">{{ b.body }}</p>
<ul style="margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;font-size:14.5px;color:rgba(28,26,23,0.65)">
<sc-for list="{{ b.points }}" as="p" hint-placeholder-count="3">
<li style="display:flex;gap:10px;align-items:baseline"><span style="color:{{ b.color }};font-weight:700">✓</span>{{ p }}</li>
</sc-for>
</ul>
</div>
</div>
</sc-for>
</div>
</section>
<section class="light-accent-section" style="padding:96px 40px;background:#1c1a17;color:#1c1a17">
<div style="max-width:960px;margin:0 auto">
<div style="max-width:600px;margin-bottom:44px">
<p style="margin:0 0 12px;font-size:13px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:oklch(0.78 0.12 40)">Under the hood</p>
<h2 style="margin:0 0 14px;font-family:Sora;font-weight:600;font-size:32px;letter-spacing:-0.02em;line-height:1.15;color:#1c1a17">Matbot stays the runtime. Cortex is the shell.</h2>
<p style="margin:0;font-size:16px;line-height:1.65;color:rgba(28,26,23,0.65);text-wrap:pretty">Cortex is the product shell configured in this repository: the WebUI branding, PowerShell launch scripts, workspace registry, local services, and the default plugin set. Matbot remains the underlying runtime and plugin system — so anything Matbot can load, Cortex can become.</p>
</div>
<div style="display:grid;grid-template-columns:repeat(3,1fr);gap:16px">
<sc-for list="{{ shell }}" as="s" hint-placeholder-count="6">
<div style="background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:6px">
<span style="font-family:Sora;font-weight:600;font-size:15px;color:#1c1a17">{{ s.name }}</span>
<span style="font-size:13.5px;line-height:1.55;color:rgba(28,26,23,0.58)">{{ s.desc }}</span>
</div>
</sc-for>
</div>
</div>
</section>
<section style="padding:100px 40px;text-align:center;position:relative;overflow:hidden">
<div style="position:absolute;inset:0;background:radial-gradient(500px 280px at 50% 100%,oklch(0.88 0.07 40 / 0.5),transparent 70%);pointer-events:none"></div>
<div style="position:relative;max-width:600px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:18px">
<h2 style="margin:0;font-family:Sora;font-weight:600;font-size:36px;letter-spacing:-0.02em;line-height:1.12;text-wrap:balance">Want to see a workspace built for your team?</h2>
<a href="/pricing/#demo" style="background:#1c1a17;color:#fff;padding:15px 32px;border-radius:99px;font-weight:600;font-size:15.5px" style-hover="background:oklch(0.35 0.05 285);color:#fff">Request a demo</a>
</div>
</section>
<footer style="border-top:1px solid rgba(28,26,23,0.07);padding:48px 40px;background:#faf9f7">
<div style="max-width:1060px;margin:0 auto;display:flex;justify-content:space-between;align-items:flex-start;gap:40px;flex-wrap:wrap">
<div style="display:flex;flex-direction:column;gap:10px">
<div class="brand-lockup" style="display:flex;align-items:center;gap:9px">
<span style="width:22px;height:22px;border-radius:7px;background:linear-gradient(135deg,oklch(0.62 0.17 285),oklch(0.72 0.15 40))!important;display:inline-flex;align-items:center;justify-content:center;color:#fff!important;font-family:Sora!important;font-weight:700;font-size:11px">C</span>
<span style="font-family:Sora!important;font-weight:600!important;font-size:15px!important;color:#1c1a17!important">Cortex</span>
</div>
<p style="margin:0;font-size:13px;color:rgba(28,26,23,0.5);max-width:280px">A Windows-native local assistant built on the Matbot runtime. Everything stays on your machine.</p>
</div>
<div style="display:flex;gap:64px;font-size:14px">
<div style="display:flex;flex-direction:column;gap:10px">
<span style="font-weight:600;font-size:12.5px;letter-spacing:0.06em;text-transform:uppercase;color:rgba(28,26,23,0.45)">Product</span>
<a href="/features/" style="color:rgba(28,26,23,0.7)">Features</a>
<a href="/pricing/" style="color:rgba(28,26,23,0.7)">Pricing</a>
</div>
<div style="display:flex;flex-direction:column;gap:10px">
<span style="font-weight:600;font-size:12.5px;letter-spacing:0.06em;text-transform:uppercase;color:rgba(28,26,23,0.45)">Documentation</span>
<a href="/docs/" style="color:rgba(28,26,23,0.7)">Plugins & Tools</a>
<a href="/docs/" style="color:rgba(28,26,23,0.7)">Memory & Retrieval</a>
<a href="/docs/" style="color:rgba(28,26,23,0.7)">Expert Panel Manual</a>
<a href="/docs/" style="color:rgba(28,26,23,0.7)">WebUI</a>
</div>
</div>
</div>
<p style="max-width:1060px;margin:36px auto 0;font-size:12.5px;color:rgba(28,26,23,0.4)">© 2026 Cortex. Matbot is the underlying runtime and plugin system; Cortex is the product shell configured on top of it.</p>
</footer>
</div>
</x-dc>
<script type="text/x-dc" data-dc-script>
class Component extends DCLogic {
renderVals() {
const violet = 'oklch(0.55 0.17 285)', peach = 'oklch(0.62 0.14 40)';
return {
blocks: [
{tag:'CHAT', color:violet, title:'Local chat', body:'One assistant in the browser, backed by the runtime on your machine. Conversations, sessions, and hooks are all loaded from the active workspace — nothing routes through anyone else\u2019s cloud unless you point a provider there.', points:['Familiar chat surface for business users — no terminal required','Sessions and hooks configured per workspace','Launches with simple PowerShell scripts on Windows']},
{tag:'PROVIDERS', color:peach, title:'Provider selection', body:'The Default workspace ships with OpenAI-compatible providers defined in matbot.yaml. Pick the model per conversation from the WebUI — including fully local models when the work is sensitive.', points:['OpenAI-compatible: bring commercial, hosted, or local endpoints','Switch model mid-work from the composer','Different workspaces can carry entirely different provider sets']},
{tag:'WORKSPACES', color:violet, title:'Workspace isolation', body:'A workspace is a complete, persistent configuration: providers, plugins, memories, skills, files, and RAG indexes. New workspaces copy the Default shape and then diverge independently — so projects never contaminate each other.', points:['Per-workspace matbot.yaml controls exactly what loads','Independent memory, skills, and file indexes per project','A workspace registry keeps them organized and switchable']},
{tag:'MEMORY', color:peach, title:'Durable memory', body:'Tell Cortex to remember something and it stays remembered — locally. Remembered facts, a KnowledgeIndex, and Mem0-backed memory give the assistant continuity without giving your data away.', points:['The "remember my name" flow just works','Governed by memory-policy.json — auditable and adjustable','Skills persist alongside facts, per workspace']},
{tag:'FILES', color:violet, title:'Controlled file access', body:'Local services expose safe file indexing and safe file access. The assistant sees what the workspace allows it to see — a boundary compliance teams can actually reason about.', points:['Host-file tools are governed, not open-ended','File broker keeps access scoped and observable','Indexing runs locally; nothing is uploaded to index it']},
{tag:'RAG', color:peach, title:'Markdown RAG & retrieval', body:'Retrieval layers bring back remembered facts, skills, indexed files, workspace markdown, and expert-specific files. Contextual search means answers arrive grounded in your material.', points:['Workspace markdown indexed out of the box','contextual_search across memory, files, and knowledge','Expert-specific files feed the expert panel']},
{tag:'EXPERTS', color:violet, title:'Expert panel', body:'Select a panel — legal, security, finance, compliance, operations, and more — and each expert answers your question independently. A synthesis step merges their opinions into one cited decision. Run in parallel when you\u2019re in a hurry.', points:['Pick the panel per question, or use all experts','Parallel and sequential modes, with decision synthesis','Citations included, straight from the WebUI']},
],
shell: [
{name:'WebUI branding', desc:'The Cortex look and control surface over the runtime.'},
{name:'PowerShell launch scripts', desc:'One-command startup on Windows.'},
{name:'Workspace registry', desc:'Tracks and switches your isolated workspaces.'},
{name:'Local services', desc:'Safe file indexing, safe file access, and Mem0.'},
{name:'Default plugin set', desc:'Providers, RAG, memory, skills, experts, file tools.'},
{name:'Open plugin system', desc:'Add Matbot plugins at runtime as needs grow.'},
],
};
}
}
</script>
<?= cms_assets() ?>
</body>
</html>