Skip to content

Commit 96bdeb3

Browse files
authored
OpenTUI is here (anomalyco#2685)
1 parent 81c6177 commit 96bdeb3

File tree

104 files changed

+8455
-712
lines changed

Some content is hidden

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

104 files changed

+8455
-712
lines changed

.husky/pre-push

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
#!/bin/sh
2-
bun run typecheck
2+
bun typecheck

.opencode/command/commit.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,6 @@ For anything in the packages/app use the ignore: prefix.
1818

1919
prefer to explain WHY something was done from an end user perspective instead of
2020
WHAT was done.
21+
22+
do not do generic messages like "improvied agent experience" be very specific
23+
about what user facing changes were made

CHANGES.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# OpenCode 1.0
2+
3+
OpenCode 1.0 is a rewrite of the TUI
4+
5+
We went from the go+bubbletea based TUI which suffered from both performance and capability issues to an in-house
6+
framework (OpenTUI) written in zig+solidjs.
7+
8+
The new TUI mostly works like the old one as it's connecting to the same
9+
opencode server.
10+
11+
There are some notable UX changes:
12+
13+
1. The session history is more compressed, only showing the full details of the edit
14+
and bash tool.
15+
16+
2. We've added a command bar which almost everything flows through. Can press
17+
ctrl+p to bring it up in any context and see everything you can do.
18+
19+
3. Added a session sidebar (can be toggled) with some useful information.
20+
21+
We've also stripped out some functionality that we were not sure if anyone
22+
actually used - if something important is missing please open an issue and we'll add it back
23+
quickly.
24+
25+
### Breaking Changes
26+
27+
## Keybinds
28+
29+
### Renamed
30+
31+
- messages_revert -> messages_undo
32+
- switch_agent -> agent_cycle
33+
- switch_agent_reverse -> agent_cycle_reverse
34+
- switch_mode -> agent_cycle
35+
- switch_mode_reverse -> agent_cycle_reverse
36+
37+
### Removed
38+
39+
- messages_layout_toggle
40+
- messages_next
41+
- messages_previous
42+
- file_diff_toggle
43+
- file_search
44+
- file_close
45+
- file_list
46+
- app_help
47+
- project_init
48+
- tool_details
49+
- thinking_blocks
50+
- session_child_cycle
51+
- session_child_cycle_reverse
52+
- model_cycle_recent
53+
- model_cycle_recent_reverse

bun.lock

Lines changed: 493 additions & 235 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"keep": {
3+
"days": true,
4+
"amount": 14
5+
},
6+
"auditLog": "/home/thdxr/dev/projects/sst/opencode/logs/.2c5480b3b2480f80fa29b850af461dce619c0b2f-audit.json",
7+
"files": [
8+
{
9+
"date": 1759827172859,
10+
"name": "/home/thdxr/dev/projects/sst/opencode/logs/mcp-puppeteer-2025-10-07.log",
11+
"hash": "a3d98b26edd793411b968a0d24cfeee8332138e282023c3b83ec169d55c67f16"
12+
}
13+
],
14+
"hashType": "sha256"
15+
}

logs/mcp-puppeteer-2025-10-07.log

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 04:52:52.879"}
2+
{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 04:52:52.880"}
3+
{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 04:52:56.191"}
4+
{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 04:52:56.192"}
5+
{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 04:52:59.267"}
6+
{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 04:52:59.268"}
7+
{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 04:53:20.276"}
8+
{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 04:53:20.277"}
9+
{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 04:53:30.838"}
10+
{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 04:53:30.839"}
11+
{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 04:53:42.452"}
12+
{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 04:53:42.452"}
13+
{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 04:53:46.499"}
14+
{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 04:53:46.500"}
15+
{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 04:54:02.295"}
16+
{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 04:54:02.295"}
17+
{"arguments":{"url":"https://google.com"},"level":"debug","message":"Tool call received","service":"mcp-puppeteer","timestamp":"2025-10-07 04:54:37.150","tool":"puppeteer_navigate"}
18+
{"0":"n","1":"p","2":"x","level":"info","message":"Launching browser with config:","service":"mcp-puppeteer","timestamp":"2025-10-07 04:54:37.150"}
19+
{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 04:55:08.488"}
20+
{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 04:55:08.489"}
21+
{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 05:23:11.815"}
22+
{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 05:23:11.816"}
23+
{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 05:23:21.934"}
24+
{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 05:23:21.935"}
25+
{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 05:23:32.544"}
26+
{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 05:23:32.544"}
27+
{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 05:23:41.154"}
28+
{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 05:23:41.155"}
29+
{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 05:23:55.426"}
30+
{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 05:23:55.427"}
31+
{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 05:24:15.715"}
32+
{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 05:24:15.716"}
33+
{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 05:24:25.063"}
34+
{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 05:24:25.064"}
35+
{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 05:24:48.567"}
36+
{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 05:24:48.568"}
37+
{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 05:25:08.937"}
38+
{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 05:25:08.938"}
39+
{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 22:38:37.120"}
40+
{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 22:38:37.121"}
41+
{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 22:38:52.490"}
42+
{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 22:38:52.491"}
43+
{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 22:39:25.524"}
44+
{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 22:39:25.525"}
45+
{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 22:40:57.126"}
46+
{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 22:40:57.127"}
47+
{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2025-10-07 22:42:24.175"}
48+
{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2025-10-07 22:42:24.176"}

opencode.json

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
11
{
2-
"$schema": "https://opencode.ai/config.json"
2+
"$schema": "https://opencode.ai/config.json",
3+
"plugin": ["opencode-openai-codex-auth"],
4+
"mcp": {
5+
"weather": {
6+
"type": "local",
7+
"command": ["bun", "x", "@h1deya/mcp-server-weather"]
8+
},
9+
"context7": {
10+
"type": "remote",
11+
"url": "https://mcp.context7.com/mcp",
12+
"headers": {
13+
"CONTEXT7_API_KEY": "{env:CONTEXT7_API_KEY}"
14+
}
15+
}
16+
}
317
}

package.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
{
22
"$schema": "https://json.schemastore.org/package.json",
33
"name": "opencode",
4+
"description": "AI-powered development tool",
45
"private": true,
56
"type": "module",
67
"packageManager": "bun@1.3.0",
78
"scripts": {
8-
"dev": "bun run packages/opencode/src/index.ts",
9+
"dev": "bun run --cwd packages/opencode --conditions=browser src/index.ts",
910
"typecheck": "bun turbo typecheck",
10-
"prepare": "husky"
11+
"prepare": "husky",
12+
"random": "echo 'Random script'"
1113
},
1214
"workspaces": {
1315
"packages": [
@@ -19,6 +21,7 @@
1921
"catalog": {
2022
"@types/bun": "1.3.0",
2123
"@hono/zod-validator": "0.4.2",
24+
"ulid": "3.0.1",
2225
"@kobalte/core": "0.13.11",
2326
"@types/node": "22.13.9",
2427
"@tsconfig/node22": "22.0.2",

packages/console/app/package.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,11 @@
1111
},
1212
"dependencies": {
1313
"@ibm/plex": "6.4.1",
14-
"@kobalte/core": "catalog:",
15-
"@openauthjs/openauth": "0.0.0-20250322224806",
1614
"@opencode-ai/console-core": "workspace:*",
15+
"@opencode-ai/console-mail": "workspace:*",
16+
"@openauthjs/openauth": "catalog:",
17+
"@kobalte/core": "catalog:",
18+
"@jsx-email/render": "1.1.1",
1719
"@opencode-ai/console-resource": "workspace:*",
1820
"@solidjs/meta": "^0.29.4",
1921
"@solidjs/router": "^0.15.0",

packages/console/core/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"drizzle-orm": "0.41.0",
1515
"postgres": "3.4.7",
1616
"stripe": "18.0.0",
17-
"ulid": "3.0.0",
17+
"ulid": "catalog:",
1818
"zod": "catalog:"
1919
},
2020
"exports": {

0 commit comments

Comments
 (0)