Skip to content

Commit 822f05e

Browse files
authored
Big Onboarding Updates (#2428)
1 parent 0bddd71 commit 822f05e

25 files changed

+1512
-210
lines changed

docs/docs/gettingstarted.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ id: "gettingstarted"
44
title: "Getting Started"
55
---
66

7-
import { PlatformProvider, PlatformSelectorButton, PlatformItem } from "@site/src/components/platformcontext.tsx";
8-
import { Kbd } from "@site/src/components/kbd.tsx";
7+
import { PlatformProvider, PlatformSelectorButton, PlatformItem } from "@site/src/components/platformcontext";
8+
import { Kbd } from "@site/src/components/kbd";
99

1010
Wave Terminal is a modern terminal that includes graphical capabilities like web browsing, file previews, and AI assistance alongside traditional terminal features. This guide will help you get started.
1111

docs/docs/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ hide_title: true
66
hide_table_of_contents: true
77
---
88

9-
import { Card, CardGroup } from "@site/src/components/card.tsx";
9+
import { Card, CardGroup } from "@site/src/components/card";
1010

1111
# Welcome to Wave Terminal
1212

docs/docs/keybindings.mdx

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ id: "keybindings"
44
title: "Key Bindings"
55
---
66

7-
import { Kbd, KbdChord } from "@site/src/components/kbd.tsx";
8-
import { PlatformProvider, PlatformSelectorButton } from "@site/src/components/platformcontext.tsx";
7+
import { Kbd, KbdChord } from "@site/src/components/kbd";
8+
import { PlatformProvider, PlatformSelectorButton } from "@site/src/components/platformcontext";
99

1010
<PlatformProvider>
1111

@@ -26,6 +26,7 @@ Chords are shown with a + between the keys. You have 2 seconds to hit the 2nd ch
2626
| ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
2727
| <Kbd k="Cmd:t"/> | Open a new tab |
2828
| <Kbd k="Cmd:n"/> | Open a new block (defaults to a terminal block with the same connection and working directory). Switch to launcher using `app:defaultnewblock` setting |
29+
| <Kbd k="Cmd:Shift:a"/> | Toggle WaveAI panel visibility |
2930
| <Kbd k="Cmd:d"/> | Split horizontally, open a new block to the right |
3031
| <Kbd k="Cmd:Shift:d"/> | Split vertically, open a new block below |
3132
| <KbdChord karr={["Ctrl:Shift:s", "ArrowUp"]}/> | Split vertically, open a new block above |
@@ -39,12 +40,13 @@ Chords are shown with a + between the keys. You have 2 seconds to hit the 2nd ch
3940
| <Kbd k="Cmd:g"/> | Open the "connection" switcher |
4041
| <Kbd k="Cmd:i"/> | Refocus the current block (useful if the block has lost input focus) |
4142
| <Kbd k="Ctrl:Shift"/> | Show block numbers |
43+
| <Kbd k="Ctrl:Shift:0"/> | Focus WaveAI input |
4244
| <Kbd k="Ctrl:Shift:1-9"/> | Switch to block number |
4345
| <Kbd k="Ctrl:Shift:Arrows"/> | Move left, right, up, down between blocks |
4446
| <Kbd k="Ctrl:Shift:k"/> | Replace the current block with a launcher block |
4547
| <Kbd k="Cmd:1-9"/> | Switch to tab number |
46-
| <Kbd k="Cmd:["/> | Switch tab left |
47-
| <Kbd k="Cmd:]"/> | Switch tab right |
48+
| <Kbd k="Cmd:["/> / <Kbd k="Shift:Cmd:["/> | Switch tab left |
49+
| <Kbd k="Cmd:]"/> / <Kbd k="Shift:Cmd:]"/> | Switch tab right |
4850
| <Kbd k="Cmd:Ctrl:1-9"/> | Switch to workspace number |
4951
| <Kbd k="Cmd:Shift:r"/> | Refresh the UI |
5052
| <Kbd k="Ctrl:Shift:i"/> | Toggle terminal multi-input mode |

docs/docs/tabs.mdx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
2-
sidebar_position: 3.2
2+
sidebar_position: 3.25
33
id: "tabs"
44
title: "Tabs"
55
---
66

7-
import { PlatformProvider, PlatformSelectorButton } from "@site/src/components/platformcontext.tsx";
8-
import { Kbd } from "@site/src/components/kbd.tsx";
7+
import { PlatformProvider, PlatformSelectorButton } from "@site/src/components/platformcontext";
8+
import { Kbd } from "@site/src/components/kbd";
99

1010
<PlatformProvider>
1111

docs/docs/waveai.mdx

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
---
2+
sidebar_position: 3.4
3+
id: "waveai"
4+
title: "Wave AI"
5+
---
6+
7+
import { Kbd } from "@site/src/components/kbd";
8+
import { PlatformProvider, PlatformSelectorButton } from "@site/src/components/platformcontext";
9+
10+
<PlatformProvider>
11+
12+
<PlatformSelectorButton />
13+
14+
<br/><br/>
15+
Context-aware terminal assistant with access to terminal output, widgets, and filesystem.
16+
17+
## Keyboard Shortcuts
18+
19+
| Shortcut | Action |
20+
|----------|--------|
21+
| <Kbd k="Cmd:Shift:a"/> | Toggle AI panel |
22+
| <Kbd k="Ctrl:Shift:0"/> | Focus AI input |
23+
| <Kbd k="Cmd:k"/> | Clear chat / start new |
24+
| <Kbd k="Enter"/> | Send message |
25+
| <Kbd k="Shift:Enter"/> | New line |
26+
27+
## Widget Context Toggle
28+
29+
Controls AI's access to your workspace:
30+
31+
**ON**: AI can read terminal output, capture widget screenshots, access files/directories (with approval), navigate web widgets, and use custom widget tools. Use for debugging, code analysis, and workspace tasks.
32+
33+
**OFF**: AI only sees your messages and attached files. Standard chat mode for general questions.
34+
35+
## File Attachments
36+
37+
Drag files onto the AI panel to attach:
38+
39+
| Type | Formats | Size Limit | Notes |
40+
|------|---------|------------|-------|
41+
| Images | JPEG, PNG, GIF, WebP, SVG | 10 MB | Auto-resized to 4096px max, converted to WebP |
42+
| PDFs | `.pdf` | 5 MB | Text extraction for analysis |
43+
| Text/Code | `.js`, `.ts`, `.py`, `.go`, `.md`, `.json`, `.yaml`, etc. | 200 KB | All common languages and configs |
44+
45+
## AI Tools (Widget Context Enabled)
46+
47+
### Terminal
48+
- **Read Terminal Output**: Fetches scrollback from terminal widgets, supports line ranges
49+
50+
### File System
51+
- **Read Files**: Reads text files with line range support (requires approval)
52+
- **List Directories**: Returns file info, sizes, permissions, timestamps (requires approval)
53+
54+
### Web
55+
- **Navigate Web**: Changes URLs in web browser widgets
56+
57+
### All Widgets
58+
- **Capture Screenshots**: Takes screenshots of any widget for visual analysis
59+
60+
:::warning Security
61+
File system operations require explicit approval. You control all file access.
62+
:::
63+
64+
## Privacy
65+
66+
- Messages are proxied through the Wave Cloud AI service (powered by OpenAI)
67+
- Wave does not store your chats, attachments, or use them for training
68+
- Usage counters included in anonymous telemetry
69+
- File access requires explicit approval
70+
71+
:::info Under Active Development
72+
Wave AI is in active beta with included AI credits while we refine the experience. BYOK will be available once we've stabilized core features and gathered feedback on what works best. Share feedback in our [Discord](https://discord.gg/XfvZ334gwU).
73+
74+
**Coming Soon:**
75+
- **CLI Integration**: Send files and chat prompts directly from the command line
76+
- **Remote File Access**: Read files on SSH-connected systems
77+
- **Command Execution**: Run terminal commands with approval
78+
- **File Editing**: Modify files with approval or open in editor widgets
79+
- **Web Content**: Extract text from web pages (currently screenshots only)
80+
:::
81+
82+
</PlatformProvider>

docs/docs/widgets.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ id: "widgets"
44
title: "Widgets"
55
---
66

7-
import { Kbd } from "@site/src/components/kbd.tsx";
8-
import { PlatformProvider, PlatformSelectorButton } from "@site/src/components/platformcontext.tsx";
7+
import { Kbd } from "@site/src/components/kbd";
8+
import { PlatformProvider, PlatformSelectorButton } from "@site/src/components/platformcontext";
99

1010
<PlatformProvider>
1111

docs/docs/wsh-reference.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ id: "wsh-reference"
44
title: "wsh reference"
55
---
66

7-
import { Kbd } from "@site/src/components/kbd.tsx";
8-
import { PlatformProvider, PlatformSelectorButton } from "@site/src/components/platformcontext.tsx";
7+
import { Kbd } from "@site/src/components/kbd";
8+
import { PlatformProvider, PlatformSelectorButton } from "@site/src/components/platformcontext";
99

1010
<PlatformProvider>
1111

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
// Copyright 2025, Command Line Inc.
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
import { cn } from "@/util/util";
5+
import { useLayoutEffect, useRef, useState } from "react";
6+
7+
export const EmojiButton = ({ emoji, isClicked, onClick, className }: { emoji: string; isClicked: boolean; onClick: () => void; className?: string }) => {
8+
const [showFloating, setShowFloating] = useState(false);
9+
const prevClickedRef = useRef(isClicked);
10+
11+
useLayoutEffect(() => {
12+
if (isClicked && !prevClickedRef.current) {
13+
setShowFloating(true);
14+
setTimeout(() => setShowFloating(false), 600);
15+
}
16+
prevClickedRef.current = isClicked;
17+
}, [isClicked]);
18+
19+
return (
20+
<div className="relative inline-block">
21+
<button
22+
onClick={onClick}
23+
className={cn(
24+
"px-2 py-1 rounded border cursor-pointer transition-colors",
25+
isClicked
26+
? "bg-accent/20 border-accent text-accent"
27+
: "bg-transparent border-border/50 text-foreground/70 hover:border-border",
28+
className
29+
)}
30+
>
31+
{emoji}
32+
</button>
33+
{showFloating && (
34+
<span
35+
className="absolute pointer-events-none animate-[float-up_0.6s_ease-out_forwards]"
36+
style={{
37+
left: "50%",
38+
bottom: "100%",
39+
}}
40+
>
41+
{emoji}
42+
</span>
43+
)}
44+
</div>
45+
);
46+
};

0 commit comments

Comments
 (0)