Compare commits

..

1922 Commits

Author SHA1 Message Date
Matt Silverlock 8b298a233e github: add OIDC_BASE_URL for custom GitHub App installs (#5756)
publish-github-action / publish (push) Has been cancelled
Update Nix Hashes / update (push) Has been cancelled
2025-12-18 11:31:13 -06:00
Adam 6f43d03043 fix(desktop): checkbox render in safari fml 2025-12-18 11:16:33 -06:00
Adam c868a4088d fix(desktop): rendering shell mode messages 2025-12-18 11:16:33 -06:00
Adam 83d8a88c90 fix(desktop): error styles 2025-12-18 11:16:33 -06:00
Adam 268f37f8c9 fix(desktop): prompt history nav, optimistic prompt dup 2025-12-18 11:16:33 -06:00
Adam b0aaf04957 fix(desktop): session ordered by most recent 2025-12-18 11:16:32 -06:00
Adam b7875256f3 feat(desktop): shell mode 2025-12-18 11:16:32 -06:00
Adam 7bc47fb904 chore: cleanup 2025-12-18 11:16:32 -06:00
GitHub Action 5cf8e54372 chore: format code 2025-12-18 16:39:21 +00:00
Ariane Emory 7437ccd6f4 feat(tui): fork slash command for keyboard-friendly session forking (resolves #5599) (#5610)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-18 10:38:19 -06:00
Jeon Suyeol 4bf882ba81 fix(command): validate model before executing slash command (#5740) 2025-12-18 10:35:40 -06:00
Frank d5dcc55a47 Revert "add client header"
This reverts commit 2fb89161c8.
2025-12-18 11:21:22 -05:00
barış e1925f4fe8 docs: fix typos (#5753)
publish-github-action / publish (push) Has been cancelled
Update Nix Hashes / update (push) Has been cancelled
2025-12-18 09:56:37 -06:00
Aiden Cline ee3d034e16 ci: fix discord 2025-12-18 09:56:08 -06:00
Aiden Cline 257a4d5b86 bump bun version 2025-12-18 09:47:42 -06:00
Daniel Polito 1fc5836f64 Improve Github Action Hallucinations (#5751) 2025-12-18 09:40:04 -06:00
Frank 2fb89161c8 add client header 2025-12-18 10:33:25 -05:00
GitHub Action 251fbc0a99 ignore: update download stats 2025-12-18 2025-12-18 12:16:54 +00:00
Brendan Allan 0da901a188 tauri: disable pinch zoom on linux (#5735) 2025-12-18 05:13:09 -06:00
Brendan Allan 17221e6ffe tauri: configure display backends more correctly on linux (#5730) 2025-12-18 18:34:12 +08:00
GitHub Action cc9f88ac8f chore: format code 2025-12-18 10:28:55 +00:00
Adam fe65ed6a61 fix(desktop): disable pinch to zoom 2025-12-18 04:28:03 -06:00
Adam e37a75a411 feat(desktop): custom update toast 2025-12-18 04:26:21 -06:00
opencode 194ff4919c release: v1.0.167
Update Nix Hashes / update (push) Has been cancelled
2025-12-18 09:45:33 +00:00
shuv 83843a794f fix: handle empty directory query parameter in server middleware (#5732) 2025-12-18 03:27:50 -06:00
Brendan Allan 235a60d3c2 tauri: say OpenCode Server instead of OpenCode CLI 2025-12-18 17:18:46 +08:00
Brendan Allan b70d186bd1 tauri: server spawn fail dialog w/ copy logs button (#5729) 2025-12-18 03:17:31 -06:00
Frank 647331de28 zen: error handling for stream requests 2025-12-18 00:47:37 -05:00
GitHub Action 57ef115375 chore: format code 2025-12-18 04:30:54 +00:00
Jeon Suyeol 942498211f docs: add OPENCODE_DISABLE_TERMINAL_TITLE to environment variables (#5725) 2025-12-17 22:30:21 -06:00
Jake Nelson e789fcf5e5 feat(tui): add option to disable terminal title (#5713) 2025-12-17 22:30:01 -06:00
Frank b9fb180bc6 zen: error handling for stream requests 2025-12-17 22:55:44 -05:00
Rohan Mukherjee 7427b887f9 MCP improvements (#5699) 2025-12-17 20:49:45 -06:00
Jay V 289b2b6a51 docs: add legal pages with privacy policy and terms of service links 2025-12-17 20:17:33 -05:00
GitHub Action 49b4b5907e chore: format code 2025-12-18 01:09:02 +00:00
Ryan Vogel f82442c123 docs: add opencode.cafe to ecosystem page (#5714) 2025-12-17 19:08:29 -06:00
opencode e682cc9daf release: v1.0.166
Update Nix Hashes / update (push) Has been cancelled
2025-12-17 22:08:15 +00:00
Adam d359e086a4 chore: cleanup 2025-12-17 16:04:41 -06:00
Adam f949755367 fix: better init error messages 2025-12-17 16:04:40 -06:00
Adam a168d854f4 fix: auto-scroll 2025-12-17 16:04:40 -06:00
GitHub Action 31645f5578 chore: format code 2025-12-17 22:03:43 +00:00
Sercan Sagman a1b68daa9a fix(tui): exclude reverted assistant reply when copying last message (#5705)
Signed-off-by: assagman <ahmetsercansagman@gmail.com>
2025-12-17 16:03:06 -06:00
opencode ca65da2d9e release: v1.0.165
Update Nix Hashes / update (push) Has been cancelled
2025-12-17 21:46:21 +00:00
Adam e48d804d84 feat(desktop): startup errors shown 2025-12-17 15:42:55 -06:00
Adam b4209582fb feat(desktop): optimistic prompt submit 2025-12-17 15:42:55 -06:00
Aiden Cline dbdea2f659 fix: better error messages 2025-12-17 15:32:44 -06:00
Aiden Cline a50ab4b5b5 fix: prevent 1 from showing when preparing write 2025-12-17 15:25:04 -06:00
Nalin Singh 4d7c3f56fa feat: add viewportOptions to scrollbox for padding adjustments to avoid scrollbar overlap (#5703) 2025-12-17 15:09:41 -06:00
Spoon 16b41d2bea UI: show plugins in /status (#4515)
Co-authored-by: GitHub Action <action@github.com>
2025-12-17 15:01:52 -06:00
Nalin Singh a8c499ae8f fix: prevent session list selection from jumping to active session when confirming delete (#5666) 2025-12-17 14:35:46 -06:00
Joel Hooks 24430287c5 feat(plugin): add experimental.session.compacting hook for pre-compaction context injection (#5698)
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2025-12-17 13:57:09 -06:00
Github Action 1f52731255 Update Nix flake.lock and hashes 2025-12-17 19:13:06 +00:00
Adam 4a3ba58f65 chore: localStorage -> tauri store 2025-12-17 13:11:02 -06:00
Brendan Allan 2a3a8a1ec2 console: use download proxy to rename mac and windows installers (#5697)
Co-authored-by: GitHub Action <action@github.com>
2025-12-18 01:59:23 +08:00
Ravi Kumar 69e562125d fix(tui): resolve session_status TypeError (#5520) 2025-12-17 11:38:05 -06:00
Aiden Cline b5e97eb338 fix: keep session dialog open if deleting session 2025-12-17 11:29:55 -06:00
Aiden Cline 16e6941495 fix: remove needless tui event publish on session delete 2025-12-17 11:29:55 -06:00
GitHub Action f033e0317e chore: format code 2025-12-17 17:02:36 +00:00
Adam ddd88f92cc fix: sticky visual issues 2025-12-17 11:02:00 -06:00
Aiden Cline 99101edc13 ci: add windows label to triage bot 2025-12-17 11:01:53 -06:00
GitHub Action 6e85a07977 chore: format code 2025-12-17 16:59:57 +00:00
Brendan Allan be1a3536ae console: add /download/[platform] endpoint 2025-12-18 00:59:16 +08:00
Qio 1e4bfbcf6f add OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX to override 32k default (#5679)
Co-authored-by: qio <handsomehust@gmail.com>
2025-12-17 10:35:43 -06:00
Adam 204e3bf382 feat(desktop): inter and ibm plex mono 2025-12-17 10:30:35 -06:00
Adam 8fb014a48d feat(desktop): inter and ibm plex mono 2025-12-17 10:30:03 -06:00
Paolo Ricciuti 57c3cf1f8b fix: send mcpName as state if authUrl doesn't have state (#5681) 2025-12-17 10:26:23 -06:00
Aiden Cline f9d0850c5e test: add regression test for setCacheKey option 2025-12-17 10:24:53 -06:00
Spoon 8864da7a77 batch: enable edit, todoread, clarify error message, minor tool description change (#5659) 2025-12-17 10:23:35 -06:00
Rhys Sullivan 1b39199083 fix: change subagent navigation order to newest-to-oldest (#5680) 2025-12-17 10:22:57 -06:00
Shantur Rathore b8204c0bb7 fix: config option setCacheKey not being respected (#5686) 2025-12-17 10:20:10 -06:00
Aiden Cline fe8c5c143e docs: update share link 2025-12-17 10:18:30 -06:00
Frank d6f86e9bb7 zen: add gemini 3 flash 2025-12-17 11:10:58 -05:00
Brendan Allan bf00b2bfc9 tauri: nsis header and sidebar 2025-12-18 00:02:16 +08:00
Brendan Allan 382ec8fb2c tauri: update nsis icon 2025-12-17 23:40:52 +08:00
Stoufiler 6454adcd69 docs: Sort LSP Server list (#5688) 2025-12-17 09:14:26 -06:00
Rohan Mukherjee 99548554d7 feat: added lucent-orng theme (#5678)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-12-17 09:10:35 -06:00
Sachnun 751899eeec fix: remove unsupported parameter from bash tool description (#5676) 2025-12-17 08:59:42 -06:00
Brendan Allan f8df1d3185 tauri: return after update failures 2025-12-17 22:54:54 +08:00
GitHub Action b07a47fc89 chore: format code 2025-12-17 14:52:05 +00:00
Brendan Allan c6f84f32d7 tauri: only alert on update failure when triggered manually 2025-12-17 22:51:14 +08:00
Brendan Allan ebe25c3e9a tauri: dev icons + separate prod config (#5691)
Co-authored-by: GitHub Action <action@github.com>
2025-12-17 22:23:03 +08:00
Adam 65d7fc3ccd fix: command shortcuts 2025-12-17 07:36:53 -06:00
Github Action 4f3037d803 Update Nix flake.lock and hashes 2025-12-17 13:35:05 +00:00
Amadeus Demarzi 5c490c51ed Diffs Performance Improvements (#5653)
Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com>
2025-12-17 07:33:46 -06:00
GitHub Action 5da1c0087b ignore: update download stats 2025-12-17 2025-12-17 12:04:41 +00:00
David Hill 4375149e63 wip: auto-detect OS and show desktop download button 2025-12-17 11:43:04 +00:00
David Hill b695d3b6bb fix: website cta button 2025-12-17 11:21:57 +00:00
Adam d7e133732c chore: cleanup 2025-12-17 03:58:16 -06:00
Adam 494e6fff01 feat(desktop): share sessions 2025-12-17 03:47:49 -06:00
Adam 0c7a297b1d feat(desktop): lsp diagnostics displayed 2025-12-17 03:47:48 -06:00
Github Action 9b1f9007c3 Update Nix flake.lock and hashes 2025-12-17 08:41:07 +00:00
GitHub Action 34ef5f4ece chore: format code 2025-12-17 08:40:22 +00:00
Sebastian Herrlinger 73ad20b90c upgrade opentui to v0.1.61 2025-12-17 09:38:04 +01:00
Jeon Suyeol 340e80257a Add availability to disable terminal title using OPENCODE_DISABLE_TERMINAL_TITLE env (#5661) 2025-12-16 23:57:03 -06:00
Dax Raad c23ea2a211 ci: update publish workflow configuration 2025-12-16 21:01:44 -05:00
GitHub Action a5f964aec6 chore: format code 2025-12-17 01:28:42 +00:00
Spoon b8a8fb0de6 plugin(hook): add task tool execution hooks and command context tracking (#5642) 2025-12-16 19:28:09 -06:00
Aiden Cline a6a8f41fd3 ci: tweak triage 2025-12-16 19:27:44 -06:00
Matt Silverlock c137babea3 github: add configurable mentions input (#5655) 2025-12-16 19:14:50 -06:00
Adam db2abc1b2c tui: increase session width to accommodate longer code blocks and improve readability 2025-12-16 17:31:26 -06:00
David Hill a0f9f8dabb fix: load more button 2025-12-16 23:23:18 +00:00
Aiden Cline 8a185aa678 ci: fix missing pkg issue 2025-12-16 16:31:46 -06:00
Dax Raad 29aaf4f000 ci: fix release draft configuration to prevent automatic draft flag 2025-12-16 17:17:06 -05:00
GitHub Action fc940dfcfb chore: format code 2025-12-16 22:07:10 +00:00
Adam 2f2ea98937 fix(share): content wasn't centered 2025-12-16 16:06:28 -06:00
opencode ef0fa2007b release: v1.0.164
Update Nix Hashes / update (push) Has been cancelled
2025-12-16 21:47:41 +00:00
Adam f07d4b933c fix(desktop): prompt history nav 2025-12-16 15:42:35 -06:00
Aiden Cline 5f57cee8e4 fix: user invoked subtasks causing tool_use or missing thinking signa… (#5650) 2025-12-16 15:42:21 -06:00
Adam 1755a3fe07 fix(desktop): auto-scroll 2025-12-16 15:32:14 -06:00
Adam 99680baf83 fix(desktop): focus prompt input after dialog close 2025-12-16 15:25:00 -06:00
Adam 9aa5460a0e fix(desktop): prompt history navigation 2025-12-16 15:10:44 -06:00
Adam b4014e5baa fix: auto-scroll 2025-12-16 15:10:43 -06:00
Adam 96e4dcb521 fix: working logic 2025-12-16 15:10:43 -06:00
Adam 7e682a95c4 fix: prompt input multi line input 2025-12-16 15:10:43 -06:00
Adam 5eeba76bc5 fix: defensive audio init 2025-12-16 15:10:43 -06:00
Eric Guo a2c91ebc32 feat(desktop): Loading more session number per project by button (#5616)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2025-12-16 14:50:33 -06:00
matvey 1aee8b49e1 feat: add experimental oxfmt formatter (#5620) 2025-12-16 14:43:14 -06:00
Aiden Cline 984f17ddd7 ci: include desktop & tauri in release notes 2025-12-16 14:37:33 -06:00
Aiden Cline d556143e3b ci: fix branch name 2025-12-16 14:35:42 -06:00
Aiden Cline 7e3ad770ac fix: git branch filewatcher, add flag to completely disable watcher
publish-github-action / publish (push) Has been cancelled
Update Nix Hashes / update (push) Has been cancelled
2025-12-16 14:31:09 -06:00
Aiden Cline 87524de265 ci: fix triage 2025-12-16 14:15:50 -06:00
Aiden Cline ee10d9b898 ci: auto tag github action once a change is shipped for it 2025-12-16 14:13:51 -06:00
Dax Raad bbd36e8441 core: update plugin dependency and config loading for .opencode directory support 2025-12-16 15:06:50 -05:00
Dax Raad 4e2d1acf7d core: fix Tauri desktop app SSE connection timeout
- Add heartbeat events to /global/event and /event SSE endpoints
- Send server.heartbeat event every 30s to prevent WKWebView 60s timeout
- Fixes desktop app disconnecting from global events after 1 minute
2025-12-16 14:45:03 -05:00
Dax Raad 40d63cd1e3 fix 2025-12-16 14:25:12 -05:00
Dax Raad 77b2331428 ignore: update opencode plugin dependency 2025-12-16 14:21:19 -05:00
Dax Raad 2b7e2edee5 core: ensure desktop app loads user shell environment variables
Changes shell spawn flags from -l to -il so that ~/.zshrc and
~/.bashrc are sourced when starting the desktop app on macOS
and Linux. This fixes missing PATH and other environment
variables that users expect to be available.
2025-12-16 14:21:19 -05:00
Adam 28aba35ff9 feat(desktop): show retries 2025-12-16 13:19:32 -06:00
Adam 89219a77f7 fix: layout badness 2025-12-16 12:53:12 -06:00
Adam 20e3a74bad fix: defensive audio init 2025-12-16 12:53:12 -06:00
Adam ff690350b1 feat(desktop): show write tool output 2025-12-16 12:53:11 -06:00
Adam ebefb26e8f chore: cleanup 2025-12-16 12:53:11 -06:00
Dax Raad 0b1ee9ddd9 Merge remote-tracking branch 'origin/dev' into dev 2025-12-16 13:52:50 -05:00
Dax Raad 79599f351e chore: update opencode plugin dependencies and fix tauri sidecar path 2025-12-16 13:52:40 -05:00
Github Action 8c9f6b1d3e Update Nix flake.lock and hashes 2025-12-16 18:38:59 +00:00
Dax Raad 83bcb9e95b tui: fix autocomplete file loading and update dependencies 2025-12-16 13:37:22 -05:00
David Hill 96b9ff8d0e fix: remove the selected state from button when select deselected 2025-12-16 17:41:56 +00:00
David Hill 0af2254856 wip: add active state to open select 2025-12-16 17:35:04 +00:00
Fran Zekan c2944024a8 fix: enable shell alias expansion in ! command (#5621) 2025-12-16 11:32:31 -06:00
GitHub Action 5be4bda90f chore: format code 2025-12-16 17:30:08 +00:00
shekohex b78e2db013 docs: fix typo in Google Antigravity github link (#5625) 2025-12-16 11:29:31 -06:00
jinzhongjia 3f4d1121a4 docs: Add new project entry for opencode.nvim frontend (#5626) 2025-12-16 11:29:06 -06:00
Connor Adams def910021d docs: add homebrew command for opencode-desktop (#5631)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2025-12-16 11:28:40 -06:00
Aiden Cline 3ac42e9632 fix: github install cmd if repo has . in it 2025-12-16 11:19:18 -06:00
David Hill 9c26bb7c6c fix: breadcrumb dropdown position left aligned 2025-12-16 17:16:51 +00:00
David Hill 53f20f7612 Revert "wip: make the default container wider"
This reverts commit 1f18f389c0.
2025-12-16 17:16:51 +00:00
Tommy D. Rossi 11b3927dc2 fix: use system prompt field from prompt input (#5633)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-16 10:52:22 -06:00
David Hill a190eda2c8 Merge branch 'dev' of https://github.com/sst/opencode into dev 2025-12-16 16:36:15 +00:00
David Hill 1f18f389c0 wip: make the default container wider 2025-12-16 16:35:57 +00:00
GitHub Action 84e56ee614 chore: format code 2025-12-16 16:10:36 +00:00
Aiden Cline 59329a414d ci: tweak triage 2025-12-16 10:09:51 -06:00
Brendan Allan 452c991f58 Keep release a draft until all builds are finished (#5632)
Co-authored-by: opencode <opencode@sst.dev>
Co-authored-by: GitHub Action <action@github.com>
2025-12-16 23:34:44 +08:00
Simon D'Morias be8116e2ea fix: preserve argument boundaries in run command (#4979) 2025-12-16 06:21:51 -06:00
David Hill f0ed1e38c9 Revert "fix: strip parentheses from file paths generated by llm"
This reverts commit 6c1a1a77b7.
2025-12-16 12:12:01 +00:00
GitHub Action ac0f1dbbdd ignore: update download stats 2025-12-16 2025-12-16 12:04:54 +00:00
GitHub Action 275a352e81 chore: format code 2025-12-16 11:51:08 +00:00
David Hill 9f3bc0e352 Merge branch 'dev' of https://github.com/sst/opencode into dev 2025-12-16 11:50:25 +00:00
David Hill 6c1a1a77b7 fix: strip parentheses from file paths generated by llm 2025-12-16 11:50:23 +00:00
David Hill 2e21c62320 fix: font size updates 2025-12-16 11:48:52 +00:00
David Hill 19c6fec4d1 wip: font-size updates 2025-12-16 11:12:08 +00:00
Brendan Allan 4779d99a13 tauri: explicitly kill sidecar before updater relaunch 2025-12-16 19:01:37 +08:00
David Hill 05e0759878 Merge branch 'dev' of https://github.com/sst/opencode into dev 2025-12-16 10:54:51 +00:00
David Hill 2330ec6dc3 fix: font size updates 2025-12-16 10:54:50 +00:00
GitHub Action 75e5130cf8 chore: format code 2025-12-16 10:33:49 +00:00
Brendan Allan 87efd27459 tauri: macos-only app menu 2025-12-16 18:33:04 +08:00
Aiden Cline 62f080b0e4 fix: small bug w/ install script 2025-12-16 00:20:05 -06:00
Aiden Cline ae3990a557 chore: centralize dep to catalog & fix typos 2025-12-15 23:07:55 -06:00
Aiden Cline d7b5b431d6 ci: Update issue assignment and labeling guidelines
Clarified assignment responsibilities and labeling for issues related to OpenCode tools.
2025-12-15 22:11:30 -06:00
Dax Raad e2fbd098d2 tui: fix dialog select items taking up 2 lines when truncated
Prevents text wrapping in dialog select options by removing wrapMode,
ensuring truncated text stays on single line and maintains proper timestamp visibility
2025-12-15 22:57:52 -05:00
Luke Parker ef78fd8bae fix: debounce LSP diagnostics to get complete results (#5600) 2025-12-15 21:26:59 -06:00
DS 72ebaeb8f7 fix: rejoin system prompt if experimental plugin hook triggers to preserve caching (#5550)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-15 20:00:26 -06:00
Lucas Duailibe 0dc62d5dad make install script use tmp dir (#5601) 2025-12-15 19:58:07 -06:00
Aiden Cline d118782a10 ci: cheaper model 2025-12-15 19:24:30 -06:00
Aiden Cline ff05647350 ci: ignore 2025-12-15 19:18:39 -06:00
GitHub Action 0e1c711c4e chore: format code 2025-12-16 01:16:20 +00:00
Aiden Cline bfb254dac6 ci: auto triage issues 2025-12-15 19:15:40 -06:00
opencode 92fe927785 release: v1.0.162
Update Nix Hashes / update (push) Has been cancelled
2025-12-16 00:40:27 +00:00
GitHub Action 2e25fe9d5d chore: format code 2025-12-16 00:36:01 +00:00
Dax Raad 38c5f23f4a tui: update dialog context and server to use new single dialog system 2025-12-15 19:35:19 -05:00
Dax Raad 112c58abf5 tui: refactor dialog system to use single active dialog instead of stack 2025-12-15 19:35:18 -05:00
opencode 0dce5173cc release: v1.0.161
Update Nix Hashes / update (push) Has been cancelled
2025-12-16 00:17:15 +00:00
Adam 2c70c0b00f fix: undefined events 2025-12-15 18:13:11 -06:00
opencode-agent[bot] 34024c2504 docs: models --refresh flag in cli.mdx (#5596)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-12-15 18:04:47 -06:00
Luke Parker 27e826eba6 fix(win32): Normalise LSP paths on windows (fixes lua) (#5597) 2025-12-15 18:01:03 -06:00
Aiden Cline 89a4f1c1ae tweak: add .catch for extractZip calls 2025-12-15 17:41:28 -06:00
GitHub Action c0c61b25ff chore: format code 2025-12-15 23:30:06 +00:00
Luke Parker 0d1c6e0ca9 fix(win32): Missing LSP can now unzip on windows (#5594) 2025-12-15 17:29:30 -06:00
opencode 002db3abf4 release: v1.0.160
Update Nix Hashes / update (push) Has been cancelled
2025-12-15 23:26:00 +00:00
Dax Raad 416a919c6d tui: fix dialog replacement to prevent nested dialogs from showing simultaneously 2025-12-15 18:21:54 -05:00
Dax Raad dbbcf0b8d0 tui: fix model selection dialog to properly replace current dialog instead of creating nested dialogs 2025-12-15 18:14:33 -05:00
Luke Parker efac8cebb3 fix(win32): correct ElixirLS extension typo (#5590) 2025-12-15 16:47:27 -06:00
GitHub Action 4f2baf1a72 chore: format code 2025-12-15 22:40:18 +00:00
Luke Parker 48b2bde6e5 fix(win32): use path.delimiter for PATH separator in LSP server lookups (#5589) 2025-12-15 16:39:42 -06:00
opencode 88314148e6 release: v1.0.159
Update Nix Hashes / update (push) Has been cancelled
2025-12-15 22:19:08 +00:00
Dax Raad 56452d886d fix dialog root complexity 2025-12-15 17:13:20 -05:00
Luke Parker f3e64cfb19 fix(windows): opencode github install (#5587) 2025-12-15 16:12:54 -06:00
Ariane Emory 8fcc80bc20 fix: restore ability to bind keys for model_cycle_favorite model_cycle_favorite_reverse (resolves #5198) (#5202) 2025-12-15 16:03:50 -06:00
opencode-agent[bot] 0beccc406e docs: enabled_providers docs section (#5586)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2025-12-15 16:01:35 -06:00
Adam b82ea693db fix: multiline user input 2025-12-15 15:22:39 -06:00
Adam 4fd9a19fbb fix: keybinds for agent and model selection 2025-12-15 15:19:19 -06:00
Adam e16487b804 fix: landing page CLS hero jump down 2025-12-15 15:10:48 -06:00
Adam 5388192aac fix: session nav on homepage 2025-12-15 15:10:17 -06:00
Adam 8010448ba1 fix: default steps expanded unless done 2025-12-15 15:03:00 -06:00
Adam 66f3e69867 fix: landing page CLS hero jump down 2025-12-15 14:59:24 -06:00
Aiden Cline ca599ab8fc tweak: add model flag support for agent create command 2025-12-15 14:55:59 -06:00
Jay V c3b3b133b0 docs: make project names clickable links in ecosystem documentation 2025-12-15 15:44:46 -05:00
Adam 300ec0e0af fix: missing event type (global) 2025-12-15 14:43:48 -06:00
Ariane Emory 6632987827 fix: record shell mode in history (resolves #5454) (#5551) 2025-12-15 14:42:17 -06:00
GitHub Action e555e893c4 chore: format code 2025-12-15 20:35:39 +00:00
Aiden Cline 81134cf61e add ability to set topK 2025-12-15 14:34:56 -06:00
opencode 37e4c1e619 release: v1.0.158
Update Nix Hashes / update (push) Has been cancelled
2025-12-15 20:28:44 +00:00
Adam 02b5e7d72c fix: modal search 2025-12-15 14:25:19 -06:00
justfortheloveof 7abc2a947e tweak: prioritize fuzzysort results that start with user input (#5571) 2025-12-15 14:22:37 -06:00
Adam 337a7e9646 fix: allow for non-vcs projects in desktop 2025-12-15 14:16:08 -06:00
GitHub Action 62cc532ecc chore: format code 2025-12-15 20:09:08 +00:00
Dax Raad d5a506d4ae core: fix server response handling to prevent connection timeouts 2025-12-15 15:07:20 -05:00
opencode 9c5f94bd66 release: v1.0.157
Update Nix Hashes / update (push) Has been cancelled
2025-12-15 19:46:23 +00:00
Dax Raad 83390314d6 ci: fix tauri updater version mismatch by checking out the release tag 2025-12-15 14:42:34 -05:00
Dax Raad 8b08e9cda5 ci: add app bundle target to fix macOS updater by generating .app.tar.gz files 2025-12-15 14:41:38 -05:00
GitHub Action b1b1df824c chore: format code 2025-12-15 19:33:56 +00:00
Dax Raad 7d1733c752 core: fix message caching for Anthropic models to improve response consistency 2025-12-15 14:33:14 -05:00
opencode cf05e6e02b release: v1.0.156
Update Nix Hashes / update (push) Has been cancelled
2025-12-15 19:28:02 +00:00
Adam 7e49d0fb15 fix: connect provider on homepage 2025-12-15 13:24:30 -06:00
Adam c4f63824df fix: terminal in desktop 2025-12-15 13:09:13 -06:00
Adam 4236744fb5 fix: image attachments in desktop 2025-12-15 12:01:11 -06:00
Github Action 284c045795 Update Nix flake.lock and hashes 2025-12-15 16:57:28 +00:00
Dax Raad 2c53abd70c docs: update header navigation to include desktop download 2025-12-15 11:56:53 -05:00
Adam b7a9cbfc68 fix: share page 2025-12-15 10:56:07 -06:00
Dax Raad 46a35dfc1b docs: restore desktop beta banner to homepage 2025-12-15 11:54:09 -05:00
GitHub Action b7597c12dd chore: format code 2025-12-15 16:52:45 +00:00
Nalin Singh 6830590183 feat: add F# language server support (#5549) 2025-12-15 10:52:16 -06:00
opencode b9b4349039 release: v1.0.155
Update Nix Hashes / update (push) Has been cancelled
2025-12-15 16:44:08 +00:00
Dax Raad 4107918909 20min 2025-12-15 11:31:38 -05:00
Adam 6347ee9988 chore: update stats 2025-12-15 10:31:11 -06:00
GitHub Action 9daa4e04ea chore: format code 2025-12-15 16:22:49 +00:00
Adam ed96ae9d45 chore: cleanup 2025-12-15 10:22:07 -06:00
Adam 8ce0966987 wip(desktop): progress 2025-12-15 10:22:06 -06:00
Adam 8cb26b6066 wip(desktop): progress 2025-12-15 10:22:06 -06:00
Adam 5cf6a1343c wip(desktop): progress 2025-12-15 10:22:04 -06:00
Adam 44d6c5780d wip(desktop): progress 2025-12-15 10:20:20 -06:00
Adam 5eaa8e1bf4 chore: cleanup 2025-12-15 10:20:20 -06:00
Adam df2713a6c2 chore: cleanup 2025-12-15 10:20:19 -06:00
Adam ff6864a7ca feat(desktop): custom commands 2025-12-15 10:20:19 -06:00
Adam 5e37a902ce wip(desktop): progress 2025-12-15 10:20:19 -06:00
Adam df2ebfac7d wip(desktop): progress 2025-12-15 10:20:19 -06:00
Adam 5fbcb203f5 wip(desktop): progress 2025-12-15 10:20:19 -06:00
Adam 34db739442 wip(desktop): progress 2025-12-15 10:20:18 -06:00
Adam ae8c4154aa wip(desktop): progress 2025-12-15 10:20:18 -06:00
Adam 315836c0b7 wip(desktop): progress 2025-12-15 10:20:18 -06:00
Adam c0d009d5f3 wip(desktop): progress 2025-12-15 10:20:18 -06:00
Adam c36f3b9dbe wip(desktop): progress 2025-12-15 10:20:17 -06:00
Adam d31824320e Revert "wip(desktop): session turn state consolidation"
This reverts commit 453f862616dc4d3ac90680581cde279e118b0da1.
2025-12-15 10:20:17 -06:00
Adam 88c0675148 wip(desktop): progress 2025-12-15 10:20:17 -06:00
Adam 82c4755fb0 wip(desktop): progress 2025-12-15 10:20:17 -06:00
Adam 40572eeba4 wip(desktop): progress 2025-12-15 10:20:17 -06:00
Adam d81d63045a wip(desktop): session turn state consolidation 2025-12-15 10:20:16 -06:00
Adam ece3bfd93d wip(desktop): progress 2025-12-15 10:20:16 -06:00
Adam acd91bddf7 wip(desktop): progress 2025-12-15 10:20:16 -06:00
Adam 3a14ca044c wip(desktop): progress 2025-12-15 10:20:16 -06:00
Adam d66d806700 wip(desktop): progress 2025-12-15 10:20:16 -06:00
Adam e9b95b2e91 wip(desktop): progress 2025-12-15 10:20:15 -06:00
opencode 56dde2cc83 release: v1.0.154
Update Nix Hashes / update (push) Has been cancelled
2025-12-15 16:01:15 +00:00
Dax Raad d2ce368a3f ci: update publish workflow concurrency to include version inputs and upgrade ubuntu runner to 24.04 2025-12-15 10:14:20 -05:00
GitHub Action f492122d59 chore: format code 2025-12-15 14:59:05 +00:00
Dax Raad b0f77da56c core: reorganize agent configuration to separate primary agents (build, plan) from subagents 2025-12-15 09:58:23 -05:00
Dax Raad 274b86b19b ci: fix AppImage build hanging by using portable appimage format
- Add appimage target back to tauri.conf.json
- Force reinstall tauri-cli from feat/truly-portable-appimage branch
- Add 10 minute timeout to prevent indefinite hangs
- Add logging to verify correct tauri-cli version is installed

This fixes the issue where AppImage builds would hang at 'Running input plugin: gtk' by using the new portable appimage format that bypasses linuxdeploy entirely.
2025-12-15 09:47:19 -05:00
René 2ca118db59 docs: Fix Wakatime repository link in ecosystem.mdx (#5552)
Co-authored-by: Github Action <action@github.com>
2025-12-15 08:32:06 -06:00
David Hill a0c0e2b5c3 fix: add tooltip to close review tab 2025-12-15 14:22:57 +00:00
David Hill d43fbec12d fix: prompt input using border shadow 2025-12-15 14:14:10 +00:00
David Hill bb426112ed fix: replace agents dropdown with shadow border 2025-12-15 14:09:47 +00:00
David Hill d2217bb825 fix: fix width and padding on agent select
- conditionally hide the role=presentation element because it was adding extra gap before the first agent
2025-12-15 14:05:24 +00:00
David Hill ac495bd351 fix: hide prompt input send tooltip when the send button is disabled 2025-12-15 13:47:50 +00:00
David Hill b913eb7acc fix: avatar and icon size in sidebar 2025-12-15 13:21:59 +00:00
David Hill ea65a91b2e fix: remove blue border from prompt input 2025-12-15 13:11:09 +00:00
GitHub Action ed6d749104 ignore: update download stats 2025-12-15 2025-12-15 12:05:05 +00:00
René 9eefcd1b41 Provider fix, anthropic Errorhandling if empty image file is read (#5521) 2025-12-14 23:56:47 -06:00
Nalin Singh 7c1124199e fix: input lip visibility for transparent themes (#5544) 2025-12-14 23:10:33 -06:00
Spoon 5cf126d489 fix(edit): add per-file lock to prevent read-before-write race (#4388) 2025-12-14 23:01:50 -06:00
Aiden Cline 509f7d9617 ignore: fix debug var in last commit 2025-12-14 22:59:30 -06:00
opencode-agent[bot] ae1bf92c81 Add dismiss button to Getting Started box (#5543)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2025-12-14 22:58:26 -06:00
DS b021b26e77 feat: restore experimental.chat.messages.transform and add experimental.chat.system.transform hooks (#5542) 2025-12-14 22:51:11 -06:00
Aiden Cline 9555d348de ci: switch model 2025-12-14 22:41:54 -06:00
Brendan Allan 220c564047 tauri: use correct sidecar name 2025-12-15 12:40:49 +08:00
Brendan Allan cf5c0129ac tauri: rename sidecar to opencode-cli 2025-12-15 12:40:14 +08:00
Aiden Cline 543dbe71d2 ci: smart oc 2025-12-14 22:36:46 -06:00
Ravi Kumar 54569b5552 fix(session): fix unshare command not clearing share state (#5523) 2025-12-14 22:05:06 -06:00
GitHub Action 6a09861806 chore: format code 2025-12-15 03:42:56 +00:00
Adam 79a4c65313 fix: test 2025-12-14 21:42:17 -06:00
Adam 654534ac71 fix: update sdk 2025-12-14 21:41:20 -06:00
Adam ba16bfdf3d wip(desktop): progress 2025-12-14 21:38:59 -06:00
Adam ad5614bbb9 wip(desktop): progress 2025-12-14 21:38:59 -06:00
Adam dda579c8ad wip(desktop): progress 2025-12-14 21:38:59 -06:00
Adam 4246cdb069 wip(desktop): progress 2025-12-14 21:38:58 -06:00
Adam 7ade6d386d wip(desktop): progress 2025-12-14 21:38:58 -06:00
Adam 2613f44961 wip(desktop): progress 2025-12-14 21:38:58 -06:00
Adam 62ffeb3987 fix(desktop): auto scroll 2025-12-14 21:38:58 -06:00
Adam 4a8e8f537c wip(desktop): progress 2025-12-14 21:38:58 -06:00
Adam a68bee7878 fix(desktop): layout fixes 2025-12-14 21:38:57 -06:00
Mark Jaquith ed33d82535 feat(cli): auto-submit prompt when using --prompt flag (#4510) 2025-12-14 21:06:04 -06:00
Dax Raad 2d63c22d1a fix share link 2025-12-14 22:05:53 -05:00
Dax Raad e22af25076 ci: fix test failures in CI by pre-populating models cache
Tests were failing in CI because the models.json cache file doesn't exist
and the data() macro fallback only works at build time, not runtime.
The preload now pre-fetches models.json and disables the background
refresh to prevent race conditions during test execution.
2025-12-14 21:23:45 -05:00
Dax Raad 622caae9c9 fix desktop updater 2025-12-14 21:12:38 -05:00
Dax fed4776451 LLM cleanup (#5462)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2025-12-14 21:11:30 -05:00
Ravi Kumar fdf560c343 fix(tui): --continue selects wrong session (#5513) 2025-12-14 19:50:54 -06:00
GitHub Action fc3ffb2bf9 chore: format code 2025-12-14 23:14:05 +00:00
Martijn Baay 7368342bab feat: add experimental.continue_loop_on_deny config option (#4729)
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2025-12-14 17:13:32 -06:00
Dax Raad c8fc910533 ignore: simplify download page to use GitHub latest redirect URLs 2025-12-14 17:10:59 -05:00
GitHub Action 0f9ef84d55 chore: format code 2025-12-14 22:05:28 +00:00
Dax Raad 74b5c285cf disable app image 2025-12-14 17:04:46 -05:00
opencode a34e67b518 release: v1.0.153
Update Nix Hashes / update (push) Has been cancelled
2025-12-14 19:04:01 +00:00
Aiden Cline 0c7f0cfa2e tweak: fallback to provider default for temperature 2025-12-14 11:57:12 -06:00
GitHub Action 10ee6d345b chore: format code 2025-12-14 17:48:34 +00:00
Nalin Singh 48ec68730f fix: ensure input borders are drawn in transparent themes (#5524) 2025-12-14 11:48:02 -06:00
GitHub Action 70e4efe429 chore: format code 2025-12-14 17:46:46 +00:00
Sellers Crisp 92948ed8a4 feat: add server_error, rate_limit, and no_kv_space retry logic to accommodate Foundry API issues (#5527)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2025-12-14 11:46:14 -06:00
shekohex 6d412d8872 docs: add opencode-pty and opencode-google-antigravity-auth plugins to the echosystem (#5530) 2025-12-14 11:38:53 -06:00
Lawrence Sarpong e6a0a005d6 Add Gleam LSP and formatter (#5514) 2025-12-14 10:51:08 -06:00
Aymvn 90d44751e7 docs: Fix Wakatime link in ecosystem documentation (#5528) 2025-12-14 10:49:35 -06:00
GitHub Action 4d062ba1b2 ignore: update download stats 2025-12-14 2025-12-14 12:04:18 +00:00
Aiden Cline f8bca50f00 rm unnecessary code 2025-12-13 23:45:15 -06:00
Aiden Cline 3d2ef28fa8 add topK function to transform, add temp defaults for glm and minimax 2025-12-13 23:27:11 -06:00
YeonGyu-Kim 210b3e905b fix(ui): guard Node reference for SSR compatibility in isTriggerTitle (#5509) 2025-12-13 22:28:14 -06:00
Brendan Allan 96975ef8d6 tauri: change mainBinaryName to just OpenCode 2025-12-14 12:08:53 +08:00
Brendan Allan b8b998be56 tauri: bring back appimage 2025-12-14 12:00:14 +08:00
Sachnun d8ac35f6e5 fix(tui): open parent session instead of subagent on continue flag (#5503) 2025-12-13 21:09:42 -06:00
Zhou Rui ed1eacfce0 docs: Add opencode-websearch-cited to plugin list (#5501) 2025-12-13 20:28:39 -06:00
Adam 629f475f63 fix: sort models 2025-12-13 20:25:24 -06:00
Adam 43a7c1dd8c fix: use opencode icon 2025-12-13 20:25:24 -06:00
Adam e288ce0fca chore: cleanup 2025-12-13 20:25:24 -06:00
Adam 67b3fcb31a chore: cleanup 2025-12-13 20:25:24 -06:00
Tommy D. Rossi aedb5550a8 fix: limit LSP diagnostics to prevent context window waste (#5480)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2025-12-13 19:56:26 -06:00
Aiden Cline 1638ffde69 docs: networking 2025-12-13 18:20:44 -06:00
Aiden Cline d4cfbd8219 chore: reduce duplication of field in transform 2025-12-13 18:07:22 -06:00
Adam c7bac83212 chore: cleanup 2025-12-13 16:17:32 -06:00
Adam fc9789d7a7 fix(desktop): archive button 2025-12-13 16:14:31 -06:00
Adam a8957d8d16 fix(desktop): auto scroll 2025-12-13 15:56:12 -06:00
Adam 0660433921 feat(desktop): show richer status when thinking 2025-12-13 15:47:50 -06:00
Adam 1a6f4f1c0d fix: css scroll jitter 2025-12-13 15:36:28 -06:00
Adam 974a24ba02 fix: don't rotate placeholders in session 2025-12-13 15:25:56 -06:00
Adam 5ebe29de1e fix: don't open shell by default 2025-12-13 15:17:22 -06:00
Github Action 6bdf8b1fe1 Update Nix flake.lock and hashes 2025-12-13 21:13:53 +00:00
Adam 5bcc93851c chore: cleanup 2025-12-13 15:12:41 -06:00
Adam d0789632b4 fix(desktop): terminal light mode 2025-12-13 15:12:32 -06:00
Adam a6e297baad feat(desktop): message history 2025-12-13 14:57:24 -06:00
Adam 307af10c8b fix: session turn scroll 2025-12-13 14:57:23 -06:00
Felipe Oduardo Sierra f254cf76d9 add ARM64 Docker image support (#5483) 2025-12-13 13:01:59 -06:00
Github Action b4ffaa21ec Update Nix flake.lock and hashes 2025-12-13 19:01:20 +00:00
Aiden Cline 7bf6f264e4 bump bun version & set flags this time 2025-12-13 13:00:03 -06:00
GitHub Action 7434fbba8e chore: format code 2025-12-13 17:34:07 +00:00
Jan-Niklas W. b7581e01ea docs: fix title for JetBrains ACP config file (#5479) 2025-12-13 11:33:31 -06:00
YeonGyu-Kim b46d4789fc docs: add oh-my-opencode to plugins list (#5481) 2025-12-13 11:33:10 -06:00
GitHub Action 199bd8a9a2 chore: format code 2025-12-13 17:30:48 +00:00
rari404 decf2452c4 feat: add dockerfile language server (#5252)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2025-12-13 11:30:15 -06:00
GitHub Action d8663a44c2 ignore: update download stats 2025-12-13 2025-12-13 12:04:19 +00:00
rari404 8917a4c609 feat: add texlab language server and latexindent formatter (#5251) 2025-12-12 23:50:09 -06:00
GitHub Action 5d7a52f8b8 chore: format code 2025-12-13 02:09:41 +00:00
Jan-Niklas W. b7b827c5bd docs: JetBrains IDEs to ACP config docs page (#5465) 2025-12-12 20:09:08 -06:00
Matt Silverlock 613e082358 github: support GITHUB_TOKEN + skip OIDC (#5459) 2025-12-12 19:55:46 -06:00
Charles Cooper b6856bd593 fix: add --session flag to attach command (#5460)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2025-12-12 19:45:28 -06:00
David Hill 7cb5a77ba6 fix: mute the project path in the sidebar that proceeds the final directory 2025-12-12 23:45:39 +00:00
David Hill cd9898a565 Merge branch 'dev' of https://github.com/sst/opencode into dev 2025-12-12 23:25:11 +00:00
Dax Raad a4ffa869cc fix 2025-12-12 18:15:31 -05:00
David Hill dbc84ff4c3 Merge branch 'dev' of https://github.com/sst/opencode into dev 2025-12-12 22:50:50 +00:00
David Hill c11ea3fd92 fix: mute the whole prompt area when leader key is active 2025-12-12 22:50:48 +00:00
GitHub Action 3c3a0f8afb chore: format code 2025-12-12 22:48:43 +00:00
Aiden Cline b93614cb81 docs: add env vars sections 2025-12-12 16:47:50 -06:00
opencode b84d513bd7 release: v1.0.152
Update Nix Hashes / update (push) Has been cancelled
2025-12-12 22:29:21 +00:00
Adam 0554d03162 Revert "fix: archive button"
This reverts commit bc3286de46.
2025-12-12 16:16:52 -06:00
Aiden Cline 15caecdb45 shell tweaks, better handling for windows (#5455)
Co-authored-by: GitHub Action <action@github.com>
2025-12-12 16:11:07 -06:00
Adam 91ab966921 fix: max height on bash tool 2025-12-12 16:10:13 -06:00
Adam bc3286de46 fix: archive button 2025-12-12 16:03:07 -06:00
Dax Raad af45444496 desktop: fix build on Linux and Windows by making macOS title bar styling conditional 2025-12-12 16:47:48 -05:00
Sebastian Herrlinger 43202f2820 only exit app when prompt is empty, otherwise fallthrough, fix #5457 2025-12-12 22:45:28 +01:00
GitHub Action ce37e11bfe chore: format code 2025-12-12 21:44:09 +00:00
Dan Brown 6e9833acce Shell: No -l in fallback, for max compatibility (#5452) 2025-12-12 15:43:35 -06:00
opencode 379c4ecab3 release: v1.0.151
Update Nix Hashes / update (push) Has been cancelled
2025-12-12 21:34:32 +00:00
Github Action f1db4b60c4 Update Nix flake.lock and hashes 2025-12-12 21:28:16 +00:00
Adam 9846b26be7 fix: desktop layout 2025-12-12 15:26:53 -06:00
Adam d6ba6af6f3 fix: desktop layout 2025-12-12 15:24:43 -06:00
Adam d463ade028 fix: desktop layout 2025-12-12 15:24:43 -06:00
Adam 6c3495a75a fix: desktop layout 2025-12-12 15:24:43 -06:00
Adam a16edb4ea0 fix: desktop layout 2025-12-12 15:24:43 -06:00
Adam 9efe09564b fix: desktop layout 2025-12-12 15:24:42 -06:00
Adam ccdd77032a fix: desktop layout 2025-12-12 15:24:42 -06:00
Adam 41e234c6d0 fix: desktop layout 2025-12-12 15:24:42 -06:00
Adam 3e03646e42 fix: desktop layout 2025-12-12 15:24:42 -06:00
Adam f7acc34327 fix: desktop layout 2025-12-12 15:24:41 -06:00
Adam bf420e7df6 chore: cleanup 2025-12-12 15:24:41 -06:00
Adam 78484f545c chore: cleanup 2025-12-12 15:24:41 -06:00
Adam ad008d2151 wip: desktop timeline changes 2025-12-12 15:24:41 -06:00
Dax Raad 651a10d6db only gen summary if diffs 2025-12-12 16:24:26 -05:00
Aiden Cline f9674793af tweak: 5.1 -> 5. in transform 2025-12-12 15:17:11 -06:00
GitHub Action f3a33d41f1 chore: format code 2025-12-12 20:26:02 +00:00
David Hill 642eec3dfd Merge branch 'dev' of https://github.com/sst/opencode into dev 2025-12-12 20:25:21 +00:00
Dax Raad 73513612d4 reuse existing server query 2025-12-12 15:23:38 -05:00
David Hill 9b77246246 Merge branch 'dev' of https://github.com/sst/opencode into dev 2025-12-12 20:23:06 +00:00
David Hill cf3bc1e0a6 fix: increase font-size-small to 13px 2025-12-12 20:22:51 +00:00
David Hill 4550ad049e fix: make syntax colors have more contrast 2025-12-12 20:22:08 +00:00
Dax Raad d51c6ca39f sync 2025-12-12 15:21:29 -05:00
Dax Raad 47c6a2430c sync 2025-12-12 15:18:07 -05:00
Aiden Cline 909013320b tweak: 5.1 -> 5. reasoning effort match 2025-12-12 13:21:57 -06:00
Frank 770a4d87db Zen: add gpt5.2 2025-12-12 13:48:54 -05:00
Luke Parker 2e417c4d8c fix: osascript for clipboard typo (#5430) 2025-12-12 11:37:43 -06:00
Adam 2da527aaa6 fix: desktop layout 2025-12-12 11:11:17 -06:00
Jeremy Osih 0303eb0cc1 Change tooltip text from 'Open file' to 'New Terminal' (#5435) 2025-12-12 10:57:52 -06:00
Adam 3f4a792c8a fix: tweak missing colors 2025-12-12 10:56:30 -06:00
Adam 9629f7464b chore: cleanup 2025-12-12 10:45:34 -06:00
xu0o0 9017d10303 acp: fix internal error on /compact (#5424) 2025-12-12 10:43:18 -06:00
Brendan Allan 59d4041aa4 tauri: add basic custom titlebar (#5438) 2025-12-12 09:37:17 -06:00
Adam feb8c4f3c6 feat(desktop): archive sessions 2025-12-12 07:07:54 -06:00
Adam 3f5cd2c4a8 fix(desktop): audio stuff 2025-12-12 06:21:31 -06:00
Adam a160eb76df fix(desktop): homedir aware path on home 2025-12-12 06:21:31 -06:00
GitHub Action e4b2028f91 ignore: update download stats 2025-12-12 2025-12-12 12:04:34 +00:00
Github Action ffc48e115b Update Nix flake.lock and hashes 2025-12-12 11:16:22 +00:00
Adam 04b4dacee3 feat(desktop): basic alerting 2025-12-12 05:14:51 -06:00
GitHub Action c0e30f48c6 chore: format code 2025-12-12 09:44:46 +00:00
David Hill 99158e736b Merge branch 'dev' of https://github.com/sst/opencode into dev 2025-12-12 09:44:06 +00:00
David Hill 4c02d515a1 wip: desktop sidebar icon updates 2025-12-12 09:44:04 +00:00
David Hill b803a9732d fix: make the logo on the home screen non-selectable 2025-12-12 09:43:41 +00:00
Brendan Allan f9d5e18790 tauri: create window with full screen size 2025-12-12 17:04:00 +08:00
Github Action 147111c9c6 Update Nix flake.lock and hashes 2025-12-12 09:00:19 +00:00
GitHub Action 9a70eb538b chore: format code 2025-12-12 08:59:18 +00:00
Brendan Allan 0b1731142e tauri: initialise store and window-state plugins 2025-12-12 16:58:37 +08:00
Viktor Forsman 7ec48dfd15 fix: debug lsp diagnostics cmd for certain lsps (#5420) 2025-12-11 23:20:38 -06:00
Frank 57120e69ed Zen: sync 2025-12-11 23:41:04 -05:00
Rhys Sullivan 11efda3f5c [feat]: show indicator for in progress chats in the sessions list (#5417) 2025-12-11 21:57:03 -05:00
Sachnun a5cb4e41f5 fix(tui): restore input on timeline revert and show newest first (#5366) 2025-12-11 20:07:31 -06:00
GitHub Action 88b2382b97 chore: format code 2025-12-12 02:06:49 +00:00
Sachnun 237c0253c2 fix(server): make time field optional in session update validator (#5372) 2025-12-11 20:06:15 -06:00
xu0o0 a9f27371cf acp: replay conversation history in session/load (#5385) 2025-12-11 20:02:06 -06:00
opencode-agent[bot] 9c126c5b64 Removed cache mention from webfetch prompt. (#5412)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-12-11 19:53:39 -06:00
Zeno Jiricek e241aa21b9 docs: Add opencode-md-table-formatter and plugin template (#5405) 2025-12-11 17:02:49 -06:00
Koichi Nakayamada 1fd005838c fix(tui): ensure fatal error UI is readable in light mode (#5387) 2025-12-11 16:39:27 -06:00
Koichi Nakayamada 61ba844234 fix: add fg color to some TUI text elements for light mode visibility (#5378) 2025-12-11 16:29:34 -06:00
Adán ffec52a17c fix: Windows LSP URIs using backslashes (Biome initialization failure) (#5317) 2025-12-11 16:28:39 -06:00
Aiden Cline 342595e0f7 tweak: setting chat_template_args in transform 2025-12-11 16:22:10 -06:00
Aiden Cline b41051b4ee tweak(tui): better error msg rendering 2025-12-11 16:22:10 -06:00
Dax Raad 6f8746ab94 console: fix download route async handling 2025-12-11 16:55:23 -05:00
Dax Raad 9d4ed5b04a console: fix download links to use dynamic GitHub release version 2025-12-11 16:49:15 -05:00
Adam e149b7c1e2 fix: avatar colors 2025-12-11 15:39:41 -06:00
GitHub Action 55957b2ac7 chore: format code 2025-12-11 21:34:17 +00:00
Jay V 14291bff71 docs: lander copy 2025-12-11 16:26:42 -05:00
Adam a0472c0312 fix: free model logic 2025-12-11 15:24:32 -06:00
Dax Raad 0400024d02 core: fix missing Flag import in session prompt 2025-12-11 16:18:04 -05:00
Dax Raad d4dc142cc2 core: add client identification to user agent and request headers for better tracking 2025-12-11 16:18:04 -05:00
Adam bfdb236581 fix: toast colors 2025-12-11 15:16:44 -06:00
Aiden Cline 4e92f54415 tweak: bash tool, try to prevent the cd spam 2025-12-11 14:58:46 -06:00
Adam f8dc740c61 fix: remove settings button 2025-12-11 14:55:41 -06:00
Adam dea5111a5a fix: message nav popover placement 2025-12-11 14:52:06 -06:00
Aiden Cline 4f5abe387d tweak: bash tool deny msg 2025-12-11 14:46:58 -06:00
Adam 7d55aeee0a fix: no loading state in message nav 2025-12-11 14:46:32 -06:00
Adam b34f434332 fix: message order ascending 2025-12-11 14:46:32 -06:00
Jorgen Henriksen 2a9269c347 add experimental.chat.messages.transform hook (#5207)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-11 14:38:45 -06:00
Sachnun 0efdc3a8a0 feat: add caching for opencode binary in GitHub Actions (#5384) 2025-12-11 14:14:37 -06:00
GitHub Action fc9dfd054a chore: format code 2025-12-11 20:14:20 +00:00
Dax Raad 013bf079cc ignore: added debug logging for share data loading performance 2025-12-11 15:13:36 -05:00
opencode 5ffcde9dba release: v1.0.150
Update Nix Hashes / update (push) Has been cancelled
2025-12-11 20:09:20 +00:00
Dax Raad e0f885ffc8 ci 2025-12-11 14:57:54 -05:00
Aiden Cline 5b21334fdd fix 2025-12-11 13:55:08 -06:00
Shantur Rathore 755a79cd8e fix: Writing to Bun.stderr causes CPU pinning to 100%. (#5396) 2025-12-11 13:47:59 -06:00
Adam 16b7370d8c wip(desktop): progress 2025-12-11 13:42:47 -06:00
Adam 634fd62b25 wip(desktop): progress 2025-12-11 13:42:47 -06:00
Adam e845eedbc3 wip(desktop): progress 2025-12-11 13:42:47 -06:00
Adam 4ae7e1b19c wip(desktop): progress 2025-12-11 13:42:46 -06:00
Adam 0ca758e135 wip(desktop): progress 2025-12-11 13:42:45 -06:00
Dax Raad ea8508ee44 ci 2025-12-11 14:38:45 -05:00
GitHub Action 78d4f32d79 chore: format code 2025-12-11 19:35:36 +00:00
David Hill afcd547a16 Merge branch 'dev' of https://github.com/sst/opencode into dev 2025-12-11 19:34:34 +00:00
David Hill 521fbb93cd wip: lander updates 2025-12-11 19:33:55 +00:00
Dax Raad 9d73096db0 ci: fix Ubuntu host detection in Tauri build workflow 2025-12-11 13:27:21 -05:00
GitHub Action c11bb440e6 chore: format code 2025-12-11 18:21:10 +00:00
Sebastian Herrlinger 80e04be84f fix super modifier parsing 2025-12-11 19:20:23 +01:00
Dax Raad 639320b3e1 ci: install libglib2.0-dev on Blacksmith Linux runners to fix missing glib-2.0 system library error 2025-12-11 13:16:44 -05:00
GitHub Action 55ea20de84 chore: format code 2025-12-11 18:12:25 +00:00
Dax Raad 21cf3a7c1b ci 2025-12-11 13:11:36 -05:00
David Hill 4f855072f2 wip: avatar colors 2025-12-11 18:07:14 +00:00
David Hill 11e6a181ad fix: free cta 2025-12-11 18:07:14 +00:00
GitHub Action 4c9208fbf1 chore: format code 2025-12-11 18:05:35 +00:00
Dax Raad 3a9bbe2371 ci: use Blacksmith runners for Linux and Windows Tauri builds to improve build performance 2025-12-11 13:04:55 -05:00
opencode 6382bda7d6 release: v1.0.149
Update Nix Hashes / update (push) Has been cancelled
2025-12-11 18:00:30 +00:00
Dax Raad 885a142ae3 temporarily remove undo/redo keybinds 2025-12-11 12:55:08 -05:00
GitHub Action 4387602f9d chore: format code 2025-12-11 17:49:43 +00:00
opencode 71fc8b2115 release: v1.0.148
Update Nix Hashes / update (push) Has been cancelled
2025-12-11 17:49:42 +00:00
Dax Raad 137716e0dc ci: fix tauri release asset naming to use opencode-desktop-[platform]-[arch][ext] format 2025-12-11 12:45:48 -05:00
Dax Raad 95526fb9ed fix share image 2025-12-11 12:20:11 -05:00
GitHub Action a5cc19068b chore: format code 2025-12-11 16:46:43 +00:00
opencode 48c7913431 release: v1.0.147
Update Nix Hashes / update (push) Has been cancelled
2025-12-11 16:46:43 +00:00
Dax Raad 89d9856ed2 ci: enable tauri desktop app to be published with GitHub release ID and tag name 2025-12-11 11:41:54 -05:00
Sebastian Herrlinger c12be73bf7 align default input keybinds 2025-12-11 17:39:29 +01:00
Github Action de6fb3126c Update Nix flake.lock and hashes 2025-12-11 16:25:22 +00:00
GitHub Action fad5cbe6c7 chore: format code 2025-12-11 16:24:30 +00:00
Sebastian Herrlinger e271852bc3 allow custom mappings for all textarea actions via config 2025-12-11 17:23:47 +01:00
David Hill 4e02704f17 Merge branch 'dev' of https://github.com/sst/opencode into dev 2025-12-11 16:21:32 +00:00
David Hill b17fdc7f4e fix: inverted text colors 2025-12-11 16:21:31 +00:00
Dax Raad df4d9236a6 fix bug causing windows builds to sometimes fail 2025-12-11 11:01:43 -05:00
GDR! 0ee626ba9f Add ripgrep to Docker image (#5379) 2025-12-11 09:47:56 -06:00
Daniel Polito dce4585d40 Fix / Improve Github Eyes Reaction Removal (#5383) 2025-12-11 09:42:10 -06:00
David Hill 5ffc1617fe Merge branch 'dev' of https://github.com/sst/opencode into dev 2025-12-11 14:37:05 +00:00
David Hill 93dd01947d wip: update lander video 2025-12-11 14:36:49 +00:00
Brendan Allan 5e7d908dc9 tauri: always build cli in predev 2025-12-11 22:20:22 +08:00
David Hill eb6596cb97 Merge branch 'dev' of https://github.com/sst/opencode into dev 2025-12-11 13:10:46 +00:00
David Hill 8fcd31f353 wip: social share image 2025-12-11 13:03:08 +00:00
Adam dfdd1c9b20 fix: load fonts the right way 2025-12-11 06:51:39 -06:00
Adam d7b8dce6a7 fix: missing font 2025-12-11 06:49:00 -06:00
Adam f9f78122d0 wip(desktop): progress 2025-12-11 06:48:59 -06:00
Adam 1980113ee4 wip(desktop): progress 2025-12-11 06:48:59 -06:00
Adam 85c0311d38 wip(desktop): progress 2025-12-11 06:48:59 -06:00
Adam 740aa8e541 wip(desktop): progress 2025-12-11 06:48:59 -06:00
Adam 1b331548ba wip(desktop): progress 2025-12-11 06:48:59 -06:00
Adam 3bb546c94d wip(desktop): progress 2025-12-11 06:48:58 -06:00
David Hill 8e15bcb68e Merge branch 'dev' of https://github.com/sst/opencode into dev 2025-12-11 12:40:24 +00:00
David Hill ca08dc87dd wip: add faq to download 2025-12-11 12:38:40 +00:00
David Hill 4287552991 wip: add more items to download 2025-12-11 12:26:47 +00:00
GitHub Action f1af54ada1 chore: format code 2025-12-11 12:12:13 +00:00
David Hill 577cacb7db Merge branch 'dev' of https://github.com/sst/opencode into dev 2025-12-11 12:11:36 +00:00
David Hill 8346550d26 fix: change terminal title to OpenCode 2025-12-11 12:10:04 +00:00
David Hill a8e3caca3f wip: lander updates 2025-12-11 12:09:31 +00:00
GitHub Action fd83578442 ignore: update download stats 2025-12-11 2025-12-11 12:04:43 +00:00
David Hill e91d121ef8 Merge branch 'dev' of https://github.com/sst/opencode into dev 2025-12-11 10:47:24 +00:00
David Hill 1b4975ba54 wip: hero and nav updates 2025-12-11 10:47:22 +00:00
David Hill 380d2c466e wip: lander hero updates 2025-12-11 10:36:31 +00:00
Brendan Allan 53d2edc0f2 write typescript artifacts to node_modules/.ts-dist 2025-12-11 18:35:07 +08:00
David Hill 02705e460f wip: downloads 2025-12-11 10:19:41 +00:00
GitHub Action 44cd384e3c chore: format code 2025-12-11 06:33:51 +00:00
Aiden Cline 8ac5204009 ignore: Comment out plugin entry in opencode.jsonc
Comment out the plugin entry in opencode.jsonc
2025-12-11 00:33:17 -06:00
opencode ddd5464081 release: v1.0.146
Update Nix Hashes / update (push) Has been cancelled
2025-12-11 06:23:53 +00:00
opencode fbad378966 release: v1.0.145
Update Nix Hashes / update (push) Has been cancelled
2025-12-11 06:19:42 +00:00
Dax Raad c211b22a45 update 2025-12-11 01:15:34 -05:00
Dax Raad 5d57d0385c opencode config 2025-12-11 01:13:23 -05:00
Aiden Cline f7e29a1acf downgrade bun 2025-12-11 00:10:58 -06:00
Aiden Cline a8f83cdcb5 ignore: comment out item in project cfg 2025-12-11 00:09:43 -06:00
Github Action 9e0a2bc7d0 Update Nix flake.lock and hashes 2025-12-11 06:03:16 +00:00
Dax Raad 2d9c76baae enterprise: add default social card images to HTML head
- Add og:image and twitter:image meta tags to entry-server
- Provide fallback social card image for pages without specific social cards
2025-12-11 01:02:31 -05:00
Dax Raad 85c01e8694 enterprise: add social card meta tags to share pages
- Add og:image and twitter:image meta tags for better social sharing
- Generate dynamic social card URLs with session title, models, and version
- Include description meta tag for search engines
2025-12-11 01:01:32 -05:00
GitHub Action 65a6b3d585 chore: format code 2025-12-11 05:54:58 +00:00
Dax Raad 40f121c3e8 prevent indexing of share page 2025-12-11 00:54:15 -05:00
opencode 6251231e41 release: v1.0.144
Update Nix Hashes / update (push) Has been cancelled
2025-12-11 05:48:13 +00:00
Dax Raad 578072bb8e use new share url 2025-12-11 00:43:00 -05:00
Dax Raad 231390cb7b ci 2025-12-11 00:23:06 -05:00
Dax Raad 5955d20539 remove 2025-12-11 00:21:40 -05:00
Dax Raad 4309c078fb domain 2025-12-11 00:11:40 -05:00
Dax Raad d14462f7a7 fix 2025-12-10 23:19:28 -05:00
Dax Raad a02223a310 sync 2025-12-10 23:19:28 -05:00
Ayush Walekar d93c8c7604 docs: update doc sdk.mdx (#5315) 2025-12-10 21:56:23 -06:00
Aiden Cline 7eb509db14 ci: rm bash tool from opencode ci workflow, reduce risks 2025-12-10 21:45:46 -06:00
Dax Raad f1b8707286 ignore 2025-12-10 22:36:57 -05:00
Dax Raad 9b05217471 ignore 2025-12-10 22:34:16 -05:00
Dax Raad d88912abf0 global bus 2025-12-10 22:28:56 -05:00
GitHub Action 28c6320cd6 chore: format code 2025-12-11 03:22:51 +00:00
Dax Raad 13a77005f1 global.dispose 2025-12-10 22:22:16 -05:00
Dax Raad 530b75a92a ignore 2025-12-10 22:22:16 -05:00
Aiden Cline 7b4f852f33 ignore: tmp transform exclusion 2025-12-10 21:18:19 -06:00
Aiden Cline 439aebb4e9 tweak: correct thinkingLevel 2025-12-10 21:13:10 -06:00
Brendan Allan 6f5f73a74a desktop: exclude ts-dist from tsconfig sources 2025-12-11 09:51:35 +08:00
Brendan Allan bd1f5f884e tauri: update icons 2025-12-11 09:49:00 +08:00
Koichi Nakayamada 499ad4f84b fix: light mode visibility for filepath in /undo diff files (#5352) 2025-12-10 19:38:14 -06:00
Jinhyeok Lee 01fd0d8209 docs(bash): clarify description parameter is required (#5353) 2025-12-10 19:37:38 -06:00
Seb Duerr df55ad89ab Add Cerebras integration header with opencode identifier (#5354) 2025-12-10 19:36:58 -06:00
David Hill a5a3060208 wip: lander updates 2025-12-11 00:56:05 +00:00
David Hill a468044c9f Merge branch 'dev' of https://github.com/sst/opencode into dev 2025-12-11 00:46:07 +00:00
David Hill f0274fd29f wip: lander updates 2025-12-11 00:46:02 +00:00
Dax Raad fadeed1fa4 desktop: enable zoom hotkeys in Tauri app 2025-12-10 19:27:05 -05:00
David Hill e9d3e240c2 wip: lander updates 2025-12-11 00:18:22 +00:00
Dax Raad 13611176b0 fix deploy 2025-12-10 19:11:49 -05:00
Jay V 92fa66d76f core: reposition OpenCode as open source multi-platform coding agent
docs: update main intro page to reflect open source positioning and multi-platform availability
2025-12-10 19:05:33 -05:00
David Hill fba0aad2f8 wip: lander updates 2025-12-10 23:57:11 +00:00
Jay V 1a1874d8b3 docs: desktop 2025-12-10 18:43:19 -05:00
Adam 56540f8312 wip(desktop): progress 2025-12-10 17:31:13 -06:00
Shantur Rathore 89d51ad596 compaction: improve compaction prompt (#5348) 2025-12-10 17:21:38 -06:00
Adam 15b8c14542 fix: tauri 2025-12-10 17:19:50 -06:00
Adam 85cfa226c3 wip(desktop): progress 2025-12-10 17:17:37 -06:00
Christian Stewart cbb591eb7d fix: more descriptive tool or subtask execution failed error (#5337)
Signed-off-by: Christian Stewart <christian@aperture.us>
2025-12-10 17:12:49 -06:00
Aiden Cline e36c349222 tweak: oc -> OC 2025-12-10 17:06:16 -06:00
Christian Stewart b274371dbb feat: use |- for intermediate sub-agent steps (#5336)
Signed-off-by: Christian Stewart <christian@aperture.us>
2025-12-10 16:36:11 -06:00
Hammad Shami 72eb004057 feat: add helicone docs + helicone session tracking (#5265) 2025-12-10 16:23:52 -06:00
Yukai Huang e46080aa8c fix(auth): add plugin lookup for custom provider in 'Other' flow (#5324) 2025-12-10 16:23:12 -06:00
Aiden Cline 7d82f1769c tweak: small fix 2025-12-10 16:01:10 -06:00
OpeOginni 7435d94f85 fix(cli): obtain directory data from server (#5320) 2025-12-10 15:55:15 -06:00
Github Action e060f968f5 Update Nix flake.lock and hashes 2025-12-10 21:18:57 +00:00
Dax Raad 86f7cc17ae tui: pass dynamic port to frontend
Frontend now receives the server port via window.__OPENCODE__.port,
allowing it to connect when using a random free port instead of hardcoded 4096
2025-12-10 16:17:36 -05:00
Adam 58e66dd3d1 wip(desktop): progress 2025-12-10 15:17:04 -06:00
Adam 190fa4c87a wip(desktop): progress 2025-12-10 15:17:03 -06:00
Adam 91d743ef9a wip(desktop): progress 2025-12-10 15:17:03 -06:00
Adam 804ad5897f wip(desktop): progress 2025-12-10 15:17:03 -06:00
Adam f20d6e8555 wip(desktop): progress 2025-12-10 15:17:03 -06:00
Adam e694d4d880 wip(desktop): progress 2025-12-10 15:17:02 -06:00
Adam ada40decd1 wip(desktop): progress 2025-12-10 15:17:02 -06:00
Adam 6866a060bc wip(desktop): progress 2025-12-10 15:17:02 -06:00
Adam a4ec619c74 wip(desktop): progress 2025-12-10 15:17:02 -06:00
Adam 67a95c3cc8 wip(desktop): progress 2025-12-10 15:17:01 -06:00
Dax Raad 8d3eac2347 fix type 2025-12-10 16:14:32 -05:00
Dax Raad 9ad828dcd0 tui: use random free port and enable icon discovery by default
- Tauri app now automatically finds an available port instead of defaulting to 4096
- Icon discovery feature is now enabled by default in the Tauri app
- Prevents port conflicts when multiple OpenCode instances are running
2025-12-10 16:13:11 -05:00
Aiden Cline 59fb3ae606 ignore: add bash tests 2025-12-10 15:07:40 -06:00
GitHub Action 0ab3b88250 chore: format code 2025-12-10 21:01:06 +00:00
Dax Raad a1175bddcd gen types 2025-12-10 15:59:42 -05:00
Dax Raad 936a6be5d6 stuff adam needs 2025-12-10 15:59:42 -05:00
igordertigor 03c6c3f4cb docs: document accept always behavior (#5340)
Co-authored-by: Ingo Fruend <ingo@oudyo.com>
2025-12-10 14:59:12 -06:00
Aiden Cline 6288a032fd bump bun to 1.3.4 2025-12-10 14:48:52 -06:00
Daniel Polito 31e6ed6806 Add Eyes Reaction instead of Comment Working on Github Action (#5072)
publish-github-action / publish (push) Has been cancelled
Update Nix Hashes / update (push) Has been cancelled
2025-12-10 13:35:55 -06:00
Aiden Cline da56319af4 ignore: fix test 2025-12-10 13:31:45 -06:00
GitHub Action 2198f9400f chore: format code 2025-12-10 19:31:11 +00:00
Dax Raad ffc4d53923 add models.dev family 2025-12-10 14:30:28 -05:00
Aiden Cline 18d3c054a3 more interleaved thinking fixes (#5334) 2025-12-10 13:29:26 -06:00
Aiden Cline 59c5da9b6c tweak: set gemini thinkingLevel to high by default 2025-12-10 13:09:27 -06:00
Github Action 15880195a2 Update Nix flake.lock and hashes 2025-12-10 19:04:03 +00:00
Tom Aylott 117de64f39 fix: upgrade OpenRouter sdk pkg (#5302)
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2025-12-10 13:02:26 -06:00
Dax Raad 388156704a fix /provider endpoint to return loaded providers 2025-12-10 13:49:45 -05:00
GitHub Action faf443132f chore: format code 2025-12-10 18:32:21 +00:00
Nick 36a9be040b docs: add opencode-type-inject to ecosystem plugins (#5331) 2025-12-10 12:31:44 -06:00
GitHub Action 1835d7526f chore: format code
publish-github-action / publish (push) Has been cancelled
Update Nix Hashes / update (push) Has been cancelled
2025-12-10 16:55:19 +00:00
Stanislas 946e4f0a61 docs: add wakatime plugin to ecosystem page (#5326)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-10 10:54:45 -06:00
Matt Silverlock ae60f41adf themes: update orng theme (#5329) 2025-12-10 10:52:58 -06:00
GitHub Action 6b93d23642 chore: format code 2025-12-10 16:50:49 +00:00
Noè cfa13df346 docs: Added opencode-antigravity-auth to ecosystem documentation (#5303) 2025-12-10 10:50:12 -06:00
Frank 744a7159e4 zen: sync 2025-12-10 11:44:37 -05:00
arc-source-coder 80d1c62818 tui: only show active MCP server count (#5327) 2025-12-10 10:27:59 -06:00
Connor Adams 83aa42f510 docs: configure mise to use latest version instead of pinned version (#5316) 2025-12-10 10:11:48 -06:00
Aiden Cline 183a1a181c ci: stop zed sync temporarily 2025-12-10 09:57:34 -06:00
Github Action bc7e7c2c4d Update Nix flake.lock and hashes 2025-12-10 14:04:52 +00:00
GitHub Action 7b5bd89570 chore: format code 2025-12-10 14:04:08 +00:00
Sebastian Herrlinger ba1c6122b9 bump opentui to v0.1.60, fixing doubled key events on some older terminal emulators and add_buffer leaks for prompt input 2025-12-10 15:03:14 +01:00
Sebastian Herrlinger baed581a7c remove input_forward_delete special handling 2025-12-10 14:55:56 +01:00
GitHub Action 4a23052778 chore: format code 2025-12-10 13:53:21 +00:00
opencode ee4190aa41 release: v1.0.143
Update Nix Hashes / update (push) Has been cancelled
2025-12-10 13:53:21 +00:00
Dax Raad de8460cb99 docs: improve bash and grep tool documentation with clearer usage guidelines 2025-12-10 08:48:41 -05:00
opencode f7b2beaaf1 release: v1.0.142
Update Nix Hashes / update (push) Has been cancelled
2025-12-10 13:25:55 +00:00
GitHub Action 9b0933187e ignore: update download stats 2025-12-10 2025-12-10 12:04:47 +00:00
Adam 862141e8b2 fix: exit aliases 2025-12-10 02:49:54 -06:00
Aiden Cline 070ced0b3f fix: revert hook try/catch that surpressed errors 2025-12-10 00:14:24 -06:00
GitHub Action cc3b699823 chore: format code 2025-12-10 06:02:31 +00:00
spoj 301f1a191b fix: add Windows support for shell mode (! command) (#5311) 2025-12-10 00:01:56 -06:00
Adam d149c25aab fix: types 2025-12-09 21:44:34 -06:00
Adam 18d24b8f5f wip(desktop): progress 2025-12-09 21:39:13 -06:00
Adam cf34981e8f wip(desktop): progress 2025-12-09 21:39:13 -06:00
Adam e2ebe560ea feat: provider icon component 2025-12-09 21:39:12 -06:00
GitHub Action 6db822fd92 chore: format code 2025-12-10 03:32:26 +00:00
Brendan Allan 661122bab8 tauri: don't ask to restart separately in updater 2025-12-10 11:31:50 +08:00
Brendan Allan 4a96836d11 tauri: update macos icon 2025-12-10 11:28:40 +08:00
Brendan Allan e072f9605c tauri: comment out restart server dialog 2025-12-10 11:18:17 +08:00
Brendan Allan 9986031481 fix: use project references for desktop typecheck 2025-12-10 11:15:12 +08:00
Dax Raad 3d95848607 ci 2025-12-09 22:14:18 -05:00
GitHub Action 221c9028af chore: format code 2025-12-10 03:10:18 +00:00
Timor b2057791aa feat: add CLI arguments to agent create command for scripting (#5157) 2025-12-09 21:09:45 -06:00
Dax Raad c1ee6d6c41 ci 2025-12-10 02:57:39 +00:00
opencode a3fbbece9a release: v1.0.141
Update Nix Hashes / update (push) Has been cancelled
2025-12-10 02:57:38 +00:00
Dax Raad e72c974c4c ci 2025-12-09 21:49:38 -05:00
Dax Raad a762da7cab ci 2025-12-09 21:49:05 -05:00
Dax Raad fa6c060324 ci 2025-12-09 21:44:13 -05:00
Dax Raad 8e33ac052b ci: publish with multiple tags instead of using dist-tag
npm dist-tag add command is broken, so publish package multiple times
with different tags directly instead
2025-12-09 21:39:05 -05:00
Dax Raad 0759696ec0 core: enable project discovery for experimental builds 2025-12-09 21:23:55 -05:00
Hosenur Rahaman 59dce63471 docs: Add portal project to ecosystem documentation (#5300)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-09 20:23:14 -06:00
Dax Raad 1ae28090e3 ci 2025-12-09 21:16:36 -05:00
Dax Raad 0decdf6a55 ci 2025-12-09 21:16:23 -05:00
Dax Raad 09b402a274 ci 2025-12-09 21:16:00 -05:00
Dax Raad 150baf3e96 ci 2025-12-09 21:10:58 -05:00
Dax Raad 78c51371af sync 2025-12-09 21:06:57 -05:00
Dax Raad 6dbcacf3ea ci 2025-12-09 21:04:06 -05:00
Dax Raad 4ecebc2c83 ci 2025-12-09 21:03:19 -05:00
Dax Raad 38a79fa449 ci 2025-12-09 21:02:04 -05:00
Dax Raad bafad6b8a8 ci 2025-12-09 21:01:48 -05:00
Dax Raad 5682dddd45 ci 2025-12-09 21:01:39 -05:00
Dax Raad a9aacdb94a ci 2025-12-09 20:59:31 -05:00
Dax Raad e7e32c946b ci 2025-12-09 20:58:01 -05:00
Dax Raad fc9bc26d86 ci 2025-12-09 20:56:13 -05:00
Dax Raad ee00b4e0ce ci 2025-12-09 20:54:56 -05:00
Dax Raad f82156f0b1 ci 2025-12-09 20:51:54 -05:00
Dax Raad 2ed6298584 ci 2025-12-09 20:51:25 -05:00
Dax Raad 52ef8dea3e ci 2025-12-09 20:50:46 -05:00
Adam ebe6015db0 fix: re-enable tauri typecheck 2025-12-09 19:34:07 -06:00
Dax Raad 56526114e4 ci 2025-12-09 20:26:46 -05:00
Dax Raad bb1c225027 ci 2025-12-09 20:24:31 -05:00
Dax Raad e5af0dde08 ci 2025-12-09 20:22:00 -05:00
Dax Raad 3cf17bc24f ci 2025-12-09 20:20:47 -05:00
Dax Raad 4aa1b8de0e ci 2025-12-09 20:19:43 -05:00
Dax Raad 73e9534d08 ci 2025-12-09 20:17:07 -05:00
Dax Raad cb188f907f ci 2025-12-09 19:53:50 -05:00
Dax Raad 63d9656ad8 ci 2025-12-09 19:46:59 -05:00
Dax Raad 3512d02e9e ci 2025-12-09 19:46:38 -05:00
Dax Raad 1efdceaf10 ci: combine sdk and format workflows into single generate workflow 2025-12-09 19:41:23 -05:00
GitHub Action 632a0fe009 chore: regen sdk 2025-12-10 00:33:05 +00:00
Dax Raad 6fb32cebec ci 2025-12-09 19:32:30 -05:00
GitHub Action 8b8b17d755 chore: format code 2025-12-10 00:28:05 +00:00
GitHub Action 2c27afaaf5 chore: regen sdk 2025-12-10 00:27:29 +00:00
Dax Raad 4bdc7c1426 ci fix 2025-12-09 19:26:54 -05:00
Github Action 3c1e6c2c8f Update Nix flake.lock and hashes 2025-12-09 23:56:13 +00:00
Aiden Cline b8f5809f95 ignore: rm chalk 2025-12-09 17:54:53 -06:00
Aiden Cline 552ee81455 tweak: add OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS 2025-12-09 17:28:34 -06:00
David Hill 9fdbe193cd fix: add spacer before queued badge 2025-12-09 22:56:44 +00:00
Aiden Cline df64612d54 better interleaved thinking support (#5298) 2025-12-09 16:32:12 -06:00
Adam 0aa3e6c270 wip(desktop): progress 2025-12-09 16:23:05 -06:00
Adam 44c17c1435 wip(desktop): progress 2025-12-09 16:23:05 -06:00
Dax Raad 132e772c26 core: fix project icon update handling to preserve existing icon properties 2025-12-09 16:55:26 -05:00
Adam 62cbed57cc wip(desktop): progress 2025-12-09 15:55:08 -06:00
Adam ebab7e176e wip(desktop): progress 2025-12-09 15:53:08 -06:00
Adam 9c93853e22 wip(desktop): progress 2025-12-09 15:46:23 -06:00
Aiden Cline 8a9c7a4ef3 add OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT 2025-12-09 15:44:56 -06:00
Adam 2dad56c9a2 wip(desktop): progress 2025-12-09 15:39:44 -06:00
Adam 41d78c1ecc wip(desktop): progress 2025-12-09 15:32:36 -06:00
ry2009 16c4b02b69 feat: add Biome LSP support (#5290) 2025-12-09 15:31:13 -06:00
Adam 35c04d9283 wip(desktop): progress 2025-12-09 15:24:11 -06:00
Adam 1fbd7a7f9a wip(desktop): progress 2025-12-09 15:21:47 -06:00
Adam d7563d1694 wip(desktop): progress 2025-12-09 15:21:47 -06:00
Adam b9fa7d9163 wip(desktop): progress 2025-12-09 15:21:47 -06:00
Adam f736751ab2 wip(desktop): progress 2025-12-09 15:21:45 -06:00
Aiden Cline dbcc779f0b ci: fix sdk workflow 2025-12-09 15:08:30 -06:00
Nick c33a90320c fix: resolve 'latest' to actual version when caching plugins (#5292) 2025-12-09 15:07:59 -06:00
Dax Raad 802b862aae format on write 2025-12-09 16:06:57 -05:00
GitHub Action b0cd171c1b chore: format code 2025-12-09 21:05:09 +00:00
GitHub Action 13755f4680 chore: regen sdk 2025-12-09 21:04:37 +00:00
Dax Raad b242659cc3 fix types 2025-12-09 16:03:58 -05:00
Dax Raad 5f6b2fdc6f fix tests 2025-12-09 16:03:33 -05:00
GitHub Action e34f18991e chore: format code 2025-12-09 20:53:06 +00:00
GitHub Action 209b0a06f7 chore: regen sdk 2025-12-09 20:52:31 +00:00
Dax Raad a2e460bc4b discover logic 2025-12-09 15:51:55 -05:00
GitHub Action fc9081afe4 chore: format code 2025-12-09 20:49:25 +00:00
GitHub Action 1a3f7c3d84 chore: regen sdk 2025-12-09 20:48:49 +00:00
Dax Raad 06aa1f49b8 sync 2025-12-09 15:48:22 -05:00
GitHub Action dfd67cd922 chore: format code 2025-12-09 20:44:09 +00:00
GitHub Action 70f7287ca1 chore: regen sdk 2025-12-09 20:43:35 +00:00
Dax Raad f1955b4d05 core: fix project event emission to include updated worktree data 2025-12-09 15:41:38 -05:00
Dax Raad c5e5627cbd test fixes 2025-12-09 15:41:38 -05:00
GitHub Action 93378526b9 chore: format code 2025-12-09 20:26:02 +00:00
GitHub Action abf176a335 chore: regen sdk 2025-12-09 20:25:21 +00:00
Aiden Cline 84a0868e66 fix: read when file is svg 2025-12-09 14:24:30 -06:00
GitHub Action 75a9c42789 chore: format code 2025-12-09 20:20:03 +00:00
GitHub Action 204fa54625 chore: regen sdk 2025-12-09 20:19:27 +00:00
Dax Raad 365584048f core: fix project creation to include updated timestamp 2025-12-09 15:18:55 -05:00
Dax Raad edffcc32cf core: make project updated timestamp optional to support legacy project data 2025-12-09 15:18:55 -05:00
GitHub Action 238f441bcb chore: format code 2025-12-09 20:17:37 +00:00
GitHub Action 0571a8302c chore: regen sdk 2025-12-09 20:16:59 +00:00
Aiden Cline 8c07382382 ci: fix sdk gen 2025-12-09 14:16:22 -06:00
GitHub Action fa32fbd187 chore: format code 2025-12-09 20:12:07 +00:00
GitHub Action 0fd2ecd0ba chore: regen sdk 2025-12-09 20:11:32 +00:00
Dax Raad 7439a40b00 core: fix project icon update to preserve existing icon properties 2025-12-09 15:11:00 -05:00
GitHub Action 2ad99713f3 chore: format code 2025-12-09 20:07:32 +00:00
GitHub Action 19ec970701 chore: regen sdk 2025-12-09 20:06:57 +00:00
Dax Raad b48caec218 core: add automatic project icon discovery from favicon/logo files 2025-12-09 15:06:24 -05:00
GitHub Action 380c34af53 chore: format code 2025-12-09 19:54:54 +00:00
GitHub Action 553d9013eb chore: regen sdk 2025-12-09 19:54:19 +00:00
Dax Raad 8bff3cdae8 fix ci 2025-12-09 14:53:47 -05:00
Dax Raad 0b40c3d37d rework project loading 2025-12-09 14:41:14 -05:00
Dax Raad 1e3bdcc71c rename bus 2025-12-09 14:32:09 -05:00
GitHub Action de577e17da chore: format code 2025-12-09 19:31:07 +00:00
GitHub Action 8a9e258ad7 chore: regen sdk 2025-12-09 19:30:32 +00:00
Adam 9a34965432 feat: add color to project 2025-12-09 13:29:59 -06:00
Adam c944d19c3b wip(desktop): progress 2025-12-09 13:24:37 -06:00
Dax Raad fb1b6c5e6b add project.name/icon 2025-12-09 13:57:18 -05:00
GitHub Action ad0c4c5d89 chore: format code 2025-12-09 18:37:14 +00:00
GitHub Action a54b663a39 chore: regen sdk 2025-12-09 18:36:38 +00:00
Adam ae4993f39a wip(desktop): progress 2025-12-09 12:36:06 -06:00
GitHub Action aa638cec48 chore: format code 2025-12-09 18:10:31 +00:00
GitHub Action 4db4a90559 chore: regen sdk 2025-12-09 18:07:43 +00:00
Aiden Cline e23a81097c core: add test to prevent MCP headers regression when OAuth is enabled
Custom headers configured for remote MCP servers were being silently
dropped when OAuth was enabled (the default). This test ensures headers
are always sent to MCP servers regardless of OAuth configuration.
2025-12-09 12:06:40 -06:00
opencode 76f4803d8d release: v1.0.138
Update Nix Hashes / update (push) Has been cancelled
2025-12-09 18:05:21 +00:00
GitHub Action 22e4649318 chore: format code 2025-12-09 17:53:53 +00:00
GitHub Action 0ac70ff261 chore: regen sdk 2025-12-09 17:53:14 +00:00
Adam 1bc1e56da3 wip(desktop): progress 2025-12-09 11:52:43 -06:00
GitHub Action 0d0c20e673 chore: format code 2025-12-09 17:45:35 +00:00
Jay a964824b22 docs: Modify documentation for SDK ecosystem references
Updated link text to refer to community-built projects.
2025-12-09 12:44:33 -05:00
GitHub Action 2cf0d578fe chore: regen sdk 2025-12-09 17:43:58 +00:00
Jay 13e8fb382f docs: Update community plugins reference in documentation 2025-12-09 12:43:29 -05:00
GitHub Action 4090bc9dea chore: format code 2025-12-09 17:39:25 +00:00
Aiden Cline cec1caf99e ci: sdk stuff 2025-12-09 11:38:22 -06:00
GitHub Action c74da97d52 chore: regen sdk 2025-12-09 17:38:01 +00:00
Jay 1f2497ce69 docs: Add submission note for OpenCode projects
Added a note about submitting projects to the list.
2025-12-09 12:37:34 -05:00
GitHub Action 986f14cb15 chore: format code 2025-12-09 17:37:32 +00:00
GitHub Action 34f639d510 chore: regen sdk 2025-12-09 17:34:45 +00:00
Aiden Cline defe51c825 docs: fix name 2025-12-09 11:34:15 -06:00
GitHub Action 5a16acef8c chore: format code 2025-12-09 17:26:28 +00:00
Aiden Cline 2ce249dbc0 docs: OpenCode ecosystem (#5287)
Co-authored-by: GitHub Action <action@github.com>
2025-12-09 11:25:28 -06:00
GitHub Action 7ba6b18945 chore: format code 2025-12-09 17:10:13 +00:00
GitHub Action b8c0b393bf chore: regen sdk 2025-12-09 17:09:35 +00:00
Adam 5442adb517 wip(desktop): progress 2025-12-09 11:09:00 -06:00
Adam 6b2ac20abc wip(desktop): progress 2025-12-09 11:09:00 -06:00
GitHub Action 3efc95b157 chore: format code 2025-12-09 16:53:58 +00:00
GitHub Action cd9db8a81d chore: regen sdk 2025-12-09 16:53:24 +00:00
Dax Raad 036f5d4eef core: add project update timestamps to track when projects were last modified
Projects now track when they were last updated, making it easier for users
to see recent activity and identify stale projects in their workspace.
2025-12-09 11:52:53 -05:00
GitHub Action c4401290db chore: format code 2025-12-09 15:53:48 +00:00
GitHub Action 4a6deb6420 chore: regen sdk 2025-12-09 15:53:12 +00:00
André Cruz 87a03e1e30 fix(mcp): send custom headers regardless of OAuth settings (#5273)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2025-12-09 09:52:39 -06:00
GitHub Action 01dc9d7ec6 chore: format code 2025-12-09 15:47:54 +00:00
GitHub Action e78e0f9841 chore: regen sdk 2025-12-09 15:47:19 +00:00
Ravi Kumar 8326640670 feat(telemetry): Add userId and sessionId metadata to experimental_telemetry (#5279) 2025-12-09 09:46:48 -06:00
GitHub Action d079af4be2 chore: format code 2025-12-09 12:16:05 +00:00
GitHub Action 82c9584382 chore: regen sdk 2025-12-09 12:15:30 +00:00
Adam d3b6de855b chore: cleanup 2025-12-09 06:14:58 -06:00
Adam 5ad000fd99 chore: cleanup 2025-12-09 06:14:22 -06:00
Adam fe196da430 fix(tui): order 2025-12-09 06:13:36 -06:00
Adam 20662e2101 wip(desktop): progress 2025-12-09 06:12:09 -06:00
Adam 0a357be160 wip(desktop): progress 2025-12-09 06:12:09 -06:00
Adam d29205e677 fix: diff scroll gutter 2025-12-09 06:12:09 -06:00
GitHub Action 9d0630f094 ignore: update download stats 2025-12-09 2025-12-09 12:04:56 +00:00
Github Action b6844565e8 Update Nix flake.lock and hashes 2025-12-09 11:15:34 +00:00
GitHub Action 17d1b24def chore: format code 2025-12-09 11:15:02 +00:00
GitHub Action 3d279edf44 chore: regen sdk 2025-12-09 11:14:23 +00:00
Brendan Allan 0a47a3cea0 fix: use ts project references for desktop and tauri 2025-12-09 19:13:51 +08:00
Github Action 306d57fcde Update Nix flake.lock and hashes 2025-12-09 09:17:58 +00:00
GitHub Action ff6f1abf61 chore: format code 2025-12-09 09:17:36 +00:00
GitHub Action 331278a5be chore: regen sdk 2025-12-09 09:17:00 +00:00
Brendan Allan 78547f3c59 desktop: move updater logic to js 2025-12-09 17:16:24 +08:00
GitHub Action d32671224f chore: format code 2025-12-09 07:26:55 +00:00
GitHub Action 9ade416ad4 chore: regen sdk 2025-12-09 07:26:16 +00:00
Aiden Cline f8bd4ff705 core: refactor providerOptions function to accept Provider.Model for cleaner API 2025-12-09 01:25:36 -06:00
GitHub Action 2206e10d92 chore: format code 2025-12-09 06:42:56 +00:00
Aiden Cline e282d5dc42 ci: run format workflow after sdk workflow completion 2025-12-09 00:41:40 -06:00
GitHub Action 2b4a5aede1 chore: regen sdk 2025-12-09 06:37:35 +00:00
Aiden Cline 654a2cd6a4 core: remove unused fzf dependency to address CVE
- Eliminates fzf binary dependency that was no longer used after file search overhaul
- Removes fzf from Nix package configuration and Arch Linux PKGBUILD dependencies
2025-12-09 00:36:33 -06:00
GitHub Action 2252b5ca1b chore: format code 2025-12-09 03:18:47 +00:00
terakael c78dad8db5 tui: add permission indicator to footer (#4813)
Co-authored-by: terakael <terakael@gmail.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2025-12-08 21:18:17 -06:00
opencode 0569e8652c release: v1.0.137
Update Nix Hashes / update (push) Has been cancelled
2025-12-09 03:00:50 +00:00
GitHub Action f2d5b32e52 chore: regen sdk 2025-12-09 02:17:38 +00:00
Matt Silverlock b2f5ea7c30 themes: add new orng theme (#5267)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-12-08 20:17:10 -06:00
GitHub Action 8eb8f1a16c chore: format code 2025-12-09 02:07:00 +00:00
Aiden Cline ad93d50ab7 ci: ignore 2025-12-08 20:06:27 -06:00
GitHub Action 73c5c328a8 chore: regen sdk 2025-12-09 01:07:23 +00:00
Dax Raad 72a13212e2 ci 2025-12-08 20:06:36 -05:00
Github Action 78bcf35f37 Update Nix flake.lock and hashes 2025-12-09 00:52:48 +00:00
GitHub Action 3a3ee3ecfd chore: format code 2025-12-09 00:52:05 +00:00
Sebastian Herrlinger 34e045c275 bump opentui to v0.1.59, allowing shift+space insert as char again 2025-12-09 01:51:27 +01:00
GitHub Action e187918ce0 chore: regen sdk 2025-12-08 23:46:24 +00:00
Aiden Cline 7ac17c7833 ci: ignore 2025-12-08 17:45:50 -06:00
GitHub Action b05d5b30fb chore: format code 2025-12-08 22:44:57 +00:00
Aiden Cline 57c08b01b7 ignore: mark ripgrep as an sst/tap/opencode depends_on 2025-12-08 16:42:32 -06:00
GitHub Action 08efb9cdf6 chore: regen sdk 2025-12-08 22:16:30 +00:00
Ariane Emory 8b51da768c fix: improve sidebar working directory colour contrast with modified files (resolves #5184 (#5188) 2025-12-08 16:15:40 -06:00
Github Action 862407c674 Update Nix flake.lock and hashes 2025-12-08 22:11:38 +00:00
GitHub Action a381aa7e0d chore: format code 2025-12-08 22:10:46 +00:00
Aiden Cline 4dcda3d53d fix: parcel watcher musl support 2025-12-08 16:08:53 -06:00
GitHub Action 479cca29a5 chore: regen sdk 2025-12-08 21:29:05 +00:00
Ravi Kumar e38814c597 fix: apply provider filtering to /connect endpoint (#5233) 2025-12-08 15:28:32 -06:00
GitHub Action 4d42daa9a3 chore: format code 2025-12-08 21:05:09 +00:00
Ariane Emory 130345bd5d fix: sort sessions by updated time (resolves #5074) (#5080) 2025-12-08 15:04:39 -06:00
Github Action 0baee00be4 Update Nix flake.lock and hashes 2025-12-08 21:00:43 +00:00
GitHub Action e0acd5d361 chore: regen sdk 2025-12-08 20:59:55 +00:00
Sebastian Herrlinger 1e7d78a215 bump opentui to v0.1.58, fixing diff color issues in light themes 2025-12-08 21:59:09 +01:00
GitHub Action 7a6cb85617 chore: format code 2025-12-08 20:34:25 +00:00
Shoubhit Dash 20530104ce add ocaml lsp support (#5230) 2025-12-08 14:33:45 -06:00
GitHub Action d22754dd68 chore: regen sdk 2025-12-08 20:06:51 +00:00
Sebastian Herrlinger db0e1ebb80 fix colors for dialog prompt (like session rename prompt in light theme) 2025-12-08 21:06:03 +01:00
Sebastian Herrlinger e83a47debe set theme text color for no matching items in auto complete 2025-12-08 20:59:00 +01:00
GitHub Action eed48e76de chore: format code 2025-12-08 18:06:48 +00:00
Aiden Cline ac70c1e813 docs: lsp & formatters 2025-12-08 12:05:25 -06:00
GitHub Action ac0bed16a2 chore: regen sdk 2025-12-08 18:02:54 +00:00
rari404 fab8ab2840 feat: add terraform-ls language server and formatter (#5243) 2025-12-08 12:02:25 -06:00
GitHub Action 09ff8eba00 chore: format code 2025-12-08 17:40:24 +00:00
rari404 9bd2ea5e5f feat: add bash-language-server LSP (#5246) 2025-12-08 11:39:49 -06:00
GitHub Action aa525482ae chore: regen sdk 2025-12-08 17:37:58 +00:00
Shoubhit Dash 285605737d add ocamlformat support (#5229) 2025-12-08 11:37:30 -06:00
GitHub Action 4201fe6e01 chore: format code 2025-12-08 17:31:56 +00:00
Daniel Polito 203f3312ee feat: ability to toggle MCP Servers in TUI (#4509) 2025-12-08 11:31:22 -06:00
GitHub Action 0c77c46dc7 chore: regen sdk 2025-12-08 17:28:14 +00:00
Jérôme Benoit 52bb43eebd fix: SAP AI Core Vercel AI SDK v2 support (#5180)
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2025-12-08 11:27:47 -06:00
GitHub Action e020f5355e chore: format code 2025-12-08 17:07:18 +00:00
rari404 9b86d4e595 feat: add theme support for thinking text opacity (#5240) 2025-12-08 11:06:46 -06:00
GitHub Action f3d3b41a3f chore: regen sdk 2025-12-08 16:27:32 +00:00
Bishal Roy a959199f09 feat: add catppuccin-macchiato theme (#5225) 2025-12-08 10:27:03 -06:00
Adam 5e3a59d5a2 feat: resize handle 2025-12-08 10:24:26 -06:00
Adam 9f23d85e20 wip(desktop): progress 2025-12-08 10:24:26 -06:00
GitHub Action 54e15b38ea chore: regen sdk 2025-12-08 15:48:52 +00:00
Adam d66b903e7f fix: opencode web command 2025-12-08 09:48:21 -06:00
Adam 4425c66732 revert: opencode web command changes
This reverts commit c347056246.
2025-12-08 09:47:43 -06:00
GitHub Action 0dd0250285 chore: format code 2025-12-08 15:40:18 +00:00
Adam c347056246 fix: opencode web command 2025-12-08 09:39:41 -06:00
GitHub Action 2a5255ac8f chore: regen sdk 2025-12-08 15:35:44 +00:00
Adam d9175be989 fix: opencode web command 2025-12-08 09:35:12 -06:00
GitHub Action cebbfcfbaa chore: format code 2025-12-08 15:19:26 +00:00
Adam de415be4f6 fix: opencode web command 2025-12-08 09:18:46 -06:00
Adam e8ce113b7f fix: bump localstorage 2025-12-08 09:05:26 -06:00
GitHub Action 8ca02b7664 chore: regen sdk 2025-12-08 12:48:30 +00:00
Adam 3f5bb21f16 chore: identity cleanup, vscode ext images 2025-12-08 06:47:57 -06:00
Github Action fe114c41b5 Update Nix flake.lock and hashes 2025-12-08 12:25:44 +00:00
GitHub Action d90fd8a5d7 chore: format code 2025-12-08 12:24:56 +00:00
Adam 9363c15b4a feat: better code and diff perf 2025-12-08 06:24:24 -06:00
GitHub Action 3325823f23 ignore: update download stats 2025-12-08 2025-12-08 12:04:36 +00:00
GitHub Action 4b4d8da1ad chore: regen sdk 2025-12-08 05:46:02 +00:00
Brendan Allan d531dff8d3 Export DesktopInterface from desktop and add PlatformContext 2025-12-08 13:43:36 +08:00
GitHub Action 923bf36593 chore: format code 2025-12-08 04:54:08 +00:00
Justin Vogt d6e499dd48 docs: Update "model" inheritance for agents (#4894)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2025-12-07 22:53:41 -06:00
GitHub Action aec1497c6e chore: regen sdk 2025-12-08 04:43:13 +00:00
Aiden Cline f5a77c8cd8 bump plugin versions 2025-12-07 22:42:35 -06:00
GitHub Action bc524eeb44 chore: format code 2025-12-08 04:22:50 +00:00
ry2009 725f658260 fix: ensure Auth.all returns valid objs (#5128) 2025-12-07 22:22:21 -06:00
GitHub Action af1080dd42 chore: regen sdk 2025-12-08 04:21:06 +00:00
Ariane Emory 63e54541fe fix: Sort themes in the /theme modal alphabetically (resolves #5217) (#5219)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2025-12-07 22:20:40 -06:00
GitHub Action c3f7a88c1c chore: format code 2025-12-08 04:20:07 +00:00
opencode-agent[bot] 586a8b7b31 docs: azure content filter note (#5212)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
Co-authored-by: GitHub Action <action@github.com>
2025-12-07 22:19:39 -06:00
GitHub Action 981744f802 chore: regen sdk 2025-12-08 03:54:26 +00:00
Aiden Cline a3bb4a3c85 pdf support in read tool (#5222)
Co-authored-by: ammi1378 <ammi1378@users.noreply.github.com>
2025-12-07 21:54:00 -06:00
GitHub Action 06ba1f76dc chore: format code 2025-12-08 03:49:13 +00:00
Aiden Cline 076c8b2ca1 ci: fix fmt 2025-12-07 21:48:41 -06:00
Adam 9a90939ac4 fix: use diff context instead of prop drilling 2025-12-07 21:21:18 -06:00
GitHub Action 123a136093 chore: regen sdk 2025-12-08 02:56:09 +00:00
Dax Raad 4126fedbd4 openapi 2025-12-07 21:55:36 -05:00
Dax Raad 145d185e6f ci 2025-12-07 21:51:22 -05:00
GitHub Action 6b32667c7d chore: regen sdk 2025-12-08 02:29:26 +00:00
Aiden Cline d8401e1937 ci: fix fmt 2025-12-07 20:28:50 -06:00
GitHub Action 55d6fcc350 chore: format code 2025-12-08 02:11:26 +00:00
Aiden Cline 9ff39503e9 tweak: additional error msg parsing case 2025-12-07 20:10:54 -06:00
GitHub Action f96c181afd chore: regen sdk 2025-12-08 01:48:52 +00:00
Aiden Cline f9b75a09df ignore: update description 2025-12-07 19:48:23 -06:00
GitHub Action 6111ed79b1 chore: format code 2025-12-08 01:47:31 +00:00
Ariane Emory 4cf2322b7f fix: toggle timestamps now properly hides/shows timestamps when toggled (resolves #5142) (#5145) 2025-12-07 19:47:02 -06:00
GitHub Action 2c6fcc5dc1 chore: regen sdk 2025-12-08 01:44:32 +00:00
franlol 81ee8541ab feat: add experimental.text.complete plugin hook (#4962) 2025-12-07 19:44:04 -06:00
GitHub Action 5b3550ab9f chore: format code 2025-12-08 01:13:22 +00:00
Patrick Erichsen 4fabce58d8 fix(cli): prevent help text wrapping (#5185) 2025-12-07 19:12:54 -06:00
GitHub Action da7edb5f5c chore: regen sdk 2025-12-08 00:58:40 +00:00
Dax Raad bf0f85e37f playing with sdk docs 2025-12-07 19:58:04 -05:00
Github Action 7b52160bff Update Nix flake.lock and hashes 2025-12-08 00:05:25 +00:00
GitHub Action fde97ec4a7 chore: format code 2025-12-08 00:04:40 +00:00
Dax ea7ec60f51 v2 SDK (#5216)
Co-authored-by: GitHub Action <action@github.com>
2025-12-07 19:04:14 -05:00
GitHub Action 6667856ba5 chore: format code 2025-12-07 20:53:12 +00:00
Dax Raad 13b2cf50ae remove outdated SDKs 2025-12-07 15:52:27 -05:00
Github Action 93b0abfce9 Update Nix flake.lock and hashes 2025-12-07 20:49:39 +00:00
GitHub Action f7e4c47113 chore: regen sdk 2025-12-07 20:47:51 +00:00
André Cruz 509e43d6f8 feat(mcp): add OAuth authentication support for remote MCP servers (#5014) 2025-12-07 15:47:27 -05:00
GitHub Action e693192e06 chore: regen sdk 2025-12-07 19:23:56 +00:00
rari404 ec27759f90 feat: add uninstall command (#5208) 2025-12-07 13:23:30 -06:00
GitHub Action 9c938eec73 chore: format code 2025-12-07 19:08:48 +00:00
secretninjaman 238b907dd8 fix: use basename for shell detection to support non-standard paths (#5205)
Co-authored-by: Ayato French <a@ayatofrench.com>
2025-12-07 13:08:26 -06:00
GitHub Action c16d8c6db8 chore: format code 2025-12-07 19:06:37 +00:00
Aiden Cline 9856e3b798 ignore: add test for provider url case 2025-12-07 13:06:12 -06:00
GitHub Action 1d089272c8 chore: regen sdk 2025-12-07 19:01:34 +00:00
Aiden Cline c30b1130ee fix: provider url merging logic 2025-12-07 13:01:05 -06:00
GitHub Action 40ca222d09 chore: format code 2025-12-07 18:48:45 +00:00
Dax Raad 0ecccbfd17 enable zoom hotkeys 2025-12-07 13:48:12 -05:00
GitHub Action 3f4862ced6 chore: regen sdk 2025-12-07 18:42:48 +00:00
Brendan Allan 1574e2457b Desktop macOS codesigning and notarization (#5154)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Dax Raad <d@ironbay.co>
2025-12-07 13:42:23 -05:00
GitHub Action af33212f77 chore: format code 2025-12-07 18:26:05 +00:00
Mikheil Berishvili 4eb82e8c04 fix: autocomplete popup repositions on window resize (#5196) 2025-12-07 12:25:35 -06:00
GitHub Action a45f0aac90 chore: regen sdk 2025-12-07 18:18:10 +00:00
Aiden Cline eb4afdca65 ci: fix format 2025-12-07 12:17:40 -06:00
GitHub Action 9391749577 chore: format code 2025-12-07 15:33:51 +00:00
Carsten Kragelund Jørgensen 36a25660e9 fix: update zed agent server linux url to tar.gz (#5194) 2025-12-07 09:33:23 -06:00
GitHub Action d9fe722da1 ignore: update download stats 2025-12-07 2025-12-07 12:04:11 +00:00
GitHub Action da722e7db9 chore: regen sdk 2025-12-07 05:55:31 +00:00
Aiden Cline 75a4dcbce8 tweak: make bash give agent more awareness of cwd, bump default timeout, drop max timeout (#5140) 2025-12-06 23:55:07 -06:00
GitHub Action 3a179fcd34 chore: format code 2025-12-07 05:45:36 +00:00
Arindam Majumder ad22fe9fe7 docs: Nebius Token Factory provider documentation (#2997) 2025-12-06 23:45:08 -06:00
GitHub Action 6d622d91be chore: regen sdk 2025-12-07 05:33:26 +00:00
Aiden Cline aa884b003e core: prevent sessions from disappearing after git init
Previously, sessions created in a non-git directory would disappear from
the session picker after running git init and making the first commit.
This happened because the migration logic ran prematurely before a stable
project ID existed.
2025-12-06 23:32:47 -06:00
GitHub Action e0f77940f9 chore: format code 2025-12-06 23:25:16 +00:00
Aiden Cline 3a1718f62b ci: fix review 2025-12-06 17:24:44 -06:00
GitHub Action f7f9d3e5b9 chore: regen sdk 2025-12-06 23:23:24 +00:00
Dax Raad 68501d7799 ci 2025-12-06 18:22:55 -05:00
GitHub Action f8a987b135 chore: format code 2025-12-06 23:22:04 +00:00
Dax Raad dfea6780d9 sync 2025-12-06 18:21:32 -05:00
GitHub Action 2ac8dd6361 chore: regen sdk 2025-12-06 23:19:47 +00:00
Dax Raad dd0945b9ca tui: add visual separator between username and timestamp for better readability 2025-12-06 18:19:18 -05:00
Dax Raad 1b05d5dd8e tui: prevent deprecated models from appearing in model picker 2025-12-06 18:18:45 -05:00
GitHub Action 6923cc4a6a chore: format code 2025-12-06 23:15:39 +00:00
Aiden Cline 3feb69e63c ci: fix format 2025-12-06 17:15:04 -06:00
GitHub Action 6723792fbb chore: regen sdk 2025-12-06 22:05:07 +00:00
Aiden Cline 3e36069f41 fix: reduce overhead of task tool metadata 2025-12-06 16:04:33 -06:00
GitHub Action 6a4ca92a6c chore: format code 2025-12-06 20:49:33 +00:00
Saatvik Arya 3ec34ee3dd feat(tui): add dynamic terminal window title (#5112) 2025-12-06 14:49:11 -06:00
GitHub Action 2e5c2d5e98 chore: regen sdk 2025-12-06 20:48:46 +00:00
Anchit Bajaj 4dbe17d4f1 fix: update description to lowercase for ACP command (to be consistent with other commands) (#5137) 2025-12-06 14:48:21 -06:00
GitHub Action f18776cb49 chore: format code 2025-12-06 20:43:15 +00:00
Ariane Emory 429aa24275 fix: make timestamp toggle text dynamic in command list (resolves #5106) (#5108) 2025-12-06 14:42:46 -06:00
GitHub Action 741c9d3c63 chore: regen sdk 2025-12-06 20:30:00 +00:00
Ben Vargas 419983c0f1 feat: restore experimental flag for websearch/codesearch tools (#5132)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-12-06 14:29:34 -06:00
GitHub Action a59c80e076 chore: format code 2025-12-06 20:28:25 +00:00
Cody Rayment 55981205da docs: update server API reference with complete endpoint list (#5136) 2025-12-06 14:28:02 -06:00
Dak Washbrook c1e6037bda feat: add mercury.com theme (#5141) 2025-12-06 14:27:56 -06:00
Github Action 8e816a9283 Update Nix flake.lock and hashes 2025-12-06 12:45:14 +00:00
GitHub Action d165c6b15a chore: regen sdk 2025-12-06 12:44:22 +00:00
Adam 9111005165 fix: terminal serialization and isolation 2025-12-06 06:43:53 -06:00
GitHub Action 3ceac25fb5 ignore: update download stats 2025-12-06 2025-12-06 12:04:12 +00:00
GitHub Action 8ec771d5be chore: format code 2025-12-06 11:53:20 +00:00
Adam 659e5653bc fix: exclude dist 2025-12-06 05:52:47 -06:00
Adam 3ff6de261c chore: update tauri update pub key 2025-12-06 05:49:05 -06:00
GitHub Action 25dae77fcd chore: regen sdk 2025-12-06 01:21:17 +00:00
Dax Raad 68daadcb56 sync 2025-12-05 20:20:47 -05:00
GitHub Action c9b1bb0285 chore: format code 2025-12-06 01:14:58 +00:00
Dax ac5809e757 Documentation edits made through Mintlify web editor 2025-12-05 20:14:29 -05:00
Dax 0db209a636 Documentation edits made through Mintlify web editor 2025-12-05 20:14:10 -05:00
GitHub Action 6c65f4acd1 chore: regen sdk 2025-12-06 01:13:23 +00:00
Dax Raad 3d447e8b12 ci 2025-12-05 20:12:52 -05:00
Dax Raad f8807144d4 openapi route 2025-12-05 20:11:01 -05:00
GitHub Action ebb4c8a724 chore: format code 2025-12-06 01:09:36 +00:00
Dax Raad 893f232b2f openapi json 2025-12-05 20:07:24 -05:00
GitHub Action a6aaf5429c chore: format code 2025-12-06 01:02:41 +00:00
Dax Raad 4ef239a086 openapi generate 2025-12-05 20:01:55 -05:00
David Hill 9362368fd3 fix: add extra line break to install page 2025-12-05 23:43:26 +00:00
Adam b35e010e2a feat: consistent (updated) social share images 2025-12-05 15:42:19 -06:00
GitHub Action cc35e6a019 chore: format code 2025-12-05 21:42:15 +00:00
Dax Raad 3281888160 ignore: docs test 2025-12-05 16:41:35 -05:00
GitHub Action c6d0ae892e chore: regen sdk 2025-12-05 21:02:17 +00:00
Aiden Cline df67ae9cbe ci: regen sdk instead of failing tests 2025-12-05 15:01:41 -06:00
GitHub Action ebe20efb29 chore: format code 2025-12-05 20:50:13 +00:00
franlol b03b9b9017 feat: add optional scrollbar to the session chat (#5116)
Co-authored-by: Sebastian <hasta84@gmail.com>
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-12-05 14:49:05 -06:00
opencode 73258c6193 release: v1.0.134
Update Nix Hashes / update (push) Has been cancelled
2025-12-05 20:46:49 +00:00
Github Action dfe3fb8ed3 Update Nix flake.lock and hashes 2025-12-05 20:41:00 +00:00
Brendan Allan cd6bfb3f69 OpenCode Desktop app (#5044)
Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com>
2025-12-05 14:39:49 -06:00
Shantur Rathore ba417d80b1 tweak: bash tool improve output metadata for agent consumption, fix small timeout issue (#5131) 2025-12-05 13:56:56 -06:00
Nathan Thomas 40eb8b93e1 feat: add max steps for supervisor and sub-agents (#4062)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-12-05 12:26:44 -06:00
Adam 6e6bd1e171 fix(desktop): terminal cursor position 2025-12-05 12:05:30 -06:00
Adam 81ee2d2332 fix(desktop): prompting 2025-12-05 10:51:35 -06:00
Aiden Cline 85974e9acd ignore: regen sdk 2025-12-05 10:50:14 -06:00
Noam Bressler 864c098701 add experimental.open_telemetry config option to enable OTEL spans (#4978)
Co-authored-by: noamzbr <noamzbr@users.noreply.github.com>
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-12-05 10:48:22 -06:00
Adam cfbaf81ef8 fix(desktop): clone pty session on reconnect 2025-12-05 10:30:48 -06:00
Adam 87a791fdb9 fix(desktop): new session not selecting tab 2025-12-05 10:30:48 -06:00
Anthony Shew ada7cca10d feat(theme): Vercel (#5119)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-12-05 10:01:20 -06:00
Julian Visser 52db0f23a6 fix: #5064 ProviderInitError github-copilot-enterprise (#5123) 2025-12-05 09:53:32 -06:00
Dax Raad 60388f7f03 do not use required pty for local dev 2025-12-05 10:39:44 -05:00
Frank 53ed1c912b Zen: add codex max 2025-12-05 09:05:00 -05:00
GitHub Action 5f7ab83de4 ignore: update download stats 2025-12-05 2025-12-05 12:04:29 +00:00
Aiden Cline 05d2f70529 ignore: tweak 2025-12-05 01:00:47 -06:00
Aiden Cline f950de95ba fix: ensure projects that go from having no commits to having commits have sessions migrated (#5105)
Co-authored-by: GitHub Action <action@github.com>
2025-12-05 00:49:07 -06:00
Aiden Cline a4e5a72c36 ci: keybinds 2025-12-05 00:22:28 -06:00
ry2009 03324d4277 tui: wrap dialog option descriptions (#5083) 2025-12-05 00:19:48 -06:00
Aiden Cline e53580cb68 ignore: cmd tweak 2025-12-05 00:11:47 -06:00
GitHub Action 332ebe36c3 chore: format code 2025-12-05 05:14:21 +00:00
Aiden Cline 5013d64b28 ignore: rm slop commnand (only for opencode repo this isnt shipping) 2025-12-04 23:13:41 -06:00
Aiden Cline 767a81f930 fix: ensure that vcs is still set to git even if no commits in repo 2025-12-04 23:02:11 -06:00
Aiden Cline 78046dac8b ci: review 2025-12-04 23:02:11 -06:00
Dax Raad 95168b8267 increase default scroll speed 2025-12-04 23:54:46 -05:00
Dax Raad c264e9c364 fix 2025-12-04 23:48:32 -05:00
Dax Raad 856e1e2948 fix pty builds 2025-12-04 23:47:57 -05:00
Jérôme Benoit bef4fdfc4b fix: add getModel to SAP AI Core provider for correct SDK initialization (#5086)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2025-12-04 22:43:22 -06:00
opencode-agent[bot] 095a1ab041 docs: llama.cpp docs: limit moved under model (#5089)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: GitHub Action <action@github.com>
2025-12-04 22:39:13 -06:00
Dax Raad 71e578eac9 ignore: fix provider credentials query for BYOK
Provider credentials field was being selected from ProviderTable even when the table wasn't joined (when byokProvider was undefined). Now the join is conditional - when byokProvider exists, we join and get the credentials; when it doesn't, the join condition is always false so provider remains null.
2025-12-04 22:57:39 -05:00
Frank 4380727727 zen: fix byok 2025-12-04 21:53:33 -05:00
Github Action 392d46933b Update Nix flake.lock and hashes 2025-12-05 02:33:39 +00:00
GitHub Action 2bc0b46ff4 chore: format code 2025-12-05 02:33:01 +00:00
Adam 09f522f0aa Reapply "feat(desktop): terminal pane (#5081)"
This reverts commit f9dcd97936.
2025-12-04 20:32:08 -06:00
Github Action d82bd430f6 Update Nix flake.lock and hashes 2025-12-04 22:02:17 +00:00
opencode 49800a00bd release: v1.0.133
Update Nix Hashes / update (push) Has been cancelled
2025-12-04 22:02:17 +00:00
Aiden Cline f9dcd97936 Revert "feat(desktop): terminal pane (#5081)"
This reverts commit d763c11a6d.
2025-12-04 15:57:01 -06:00
Adam d763c11a6d feat(desktop): terminal pane (#5081)
Co-authored-by: Github Action <action@github.com>
Co-authored-by: Dax Raad <d@ironbay.co>
2025-12-04 15:37:29 -06:00
Dax Raad b1202ac6db core: add test for custom model npm package inheritance 2025-12-04 16:30:54 -05:00
Aiden Cline d469d7d441 tweak: bash tool description re commit stuff 2025-12-04 15:27:23 -06:00
Cason Adams 48dc520fb8 docs: add CodeCompanion.nvim integration instructions (#5079) 2025-12-04 14:49:51 -06:00
Dax Raad 668d5a76d5 core: ensure model npm package falls back to dev models config when not explicitly defined 2025-12-04 15:39:52 -05:00
Jérôme Benoit b9c1f10016 feat: Add SAP AI Core provider support (#5023)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2025-12-04 14:07:23 -06:00
Aiden Cline 8a0c86cbdb bump: builtin plugin versions 2025-12-04 12:37:14 -06:00
Daniel Polito 7f86fe3f61 add optional prompt Input to Github Action (#4828)
Co-authored-by: Github Action <action@github.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
2025-12-04 12:10:56 -06:00
Aiden Cline a32cf70d7e tui: fix /new slash command being persisted in prompt input 2025-12-04 12:01:13 -06:00
Shantur Rathore a607f33552 tweak: bash tool messages regarding timeouts and truncation more clear for agent (#5066) 2025-12-04 11:33:00 -06:00
Aiden Cline 350a32274a fix: model not being passed correctly to tool 2025-12-04 11:15:30 -06:00
Daniel Gray 27c99b46cb Preserve prompt input when creating new session (#4993) 2025-12-04 11:12:58 -06:00
Adam 1d6e3d477b fix(tui): cursor color 2025-12-04 06:56:48 -06:00
GitHub Action efbb973393 ignore: update download stats 2025-12-04 2025-12-04 12:04:38 +00:00
Aiden Cline 45bc7a6a9d ci: cleaner 2025-12-04 01:14:09 -06:00
Aiden Cline 088ebb967f ci: only maintainer can trigger 2025-12-04 01:07:04 -06:00
Frank bcf740f98a zen: make session provider sticky 2025-12-03 23:33:46 -05:00
wsx99outlook 6b80fff2bb ci: use blacksmith runners in review workflow too (#5042) 2025-12-03 22:30:00 -06:00
GitHub Action 2e63fedb76 chore: format code 2025-12-04 04:29:03 +00:00
YeonGyu-Kim 5a9f4e5c60 fix: ensure checkUpgrade sets init: (#5040) 2025-12-03 22:28:35 -06:00
opencode d0a48a09e2 release: v1.0.132
Update Nix Hashes / update (push) Has been cancelled
2025-12-04 04:23:39 +00:00
GitHub Action c0a21e7025 chore: format code 2025-12-04 04:19:15 +00:00
Dax Raad 10cc15aabe fix anthropic api key error 2025-12-03 23:18:24 -05:00
opencode adf7681100 release: v1.0.131
Update Nix Hashes / update (push) Has been cancelled
2025-12-04 04:11:48 +00:00
Aiden Cline 0237905b96 fix: TypeError: undefined is not an object 2025-12-03 22:03:42 -06:00
GitHub Action e8aa79bab6 chore: format code 2025-12-04 03:42:08 +00:00
Frank 4ff5783e59 zen: fix chart loading 2025-12-03 22:41:31 -05:00
opencode dcfeb52983 release: v1.0.130
Update Nix Hashes / update (push) Has been cancelled
2025-12-04 03:38:18 +00:00
Jakub Matjanowski 46790e57e9 feat: Enhance DeepSeek reasoning content handling (#4975)
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2025-12-03 21:31:36 -06:00
Jack Bisceglia 4bc3fa0826 docs: remove outdated theme section as system theme is now added back (#5041) 2025-12-03 21:10:26 -06:00
Aiden Cline 88cfb979be ci: add note about iife 2025-12-03 21:08:12 -06:00
Aiden Cline 32b5db754e fix: provider id issue 2025-12-03 20:45:55 -06:00
Aiden Cline f33f8ca109 fix: compaction type issue 2025-12-03 20:43:47 -06:00
Aiden Cline 598d63db63 fix: dax typo 2025-12-03 20:39:11 -06:00
Github Action 38bff1b372 Update Nix flake.lock and hashes 2025-12-04 02:34:26 +00:00
Aiden Cline e8c9b21f20 bump opentui 2025-12-03 20:33:08 -06:00
Dax 6d3fc63658 core: refactor provider and model system (#5033)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: thdxr <thdxr@users.noreply.github.com>
2025-12-03 21:09:03 -05:00
Dax Raad ee4437ff32 core: add provider test coverage for upcoming refactor
Add comprehensive test suite for Provider module to ensure safe
refactoring of provider internals. Tests cover:
- Provider loading from env vars and config
- Provider filtering (disabled_providers, enabled_providers)
- Model whitelist/blacklist
- Model aliasing and custom providers
- getModel, getProvider, closest, defaultModel functions

Also adds Env module for instance-scoped environment variable access,
enabling isolated test environments without global state pollution.
2025-12-03 18:30:42 -05:00
Frank 7a4aa68706 zen: fix chart loading
closes #5030
2025-12-03 18:12:28 -05:00
Aiden Cline f00380d285 ci: review tweak 2025-12-03 16:16:08 -06:00
Ariane Emory c00d4885c6 feat: add tool_details keybind w/ no default (#4976)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2025-12-03 13:38:09 -06:00
Aiden Cline 70f4722356 ci: review ready for review action 2025-12-03 13:35:49 -06:00
Aiden Cline 8898bf7ca4 ci: tweak review cmd 2025-12-03 13:34:45 -06:00
Frank e5b13b767e zen: usage graph respect light/dark mode 2025-12-03 14:24:44 -05:00
Aiden Cline 3181c68cbb ci: make review only fire on non draft pr creation 2025-12-03 13:10:40 -06:00
Aiden Cline c3c9003dbb ci: add pr review 2025-12-03 12:45:06 -06:00
Ariane Emory 921b98066d feat: add messages_last_user command to scroll TUI to last user message (implements #4847) (#4855)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2025-12-03 12:30:11 -06:00
Luke Parker c5b4cc80cc fix: bunfs path on windows (#5011) 2025-12-03 11:21:13 -06:00
Spoon 0bccd1d578 feat: experimental.primary_tools, allow user to set the tools that should only be available to primary agents (#4913)
Co-authored-by: GitHub Action <action@github.com>
2025-12-03 11:19:43 -06:00
Aiden Cline 91db82c138 add retry case for grok resource exhausted 2025-12-03 11:16:27 -06:00
GitHub Action 0eb97086fc chore: format code 2025-12-03 16:47:25 +00:00
Aiden Cline 5b34636afa ignore: docs & style 2025-12-03 10:46:48 -06:00
GitHub Action f1138b9a55 ignore: update download stats 2025-12-03 2025-12-03 12:04:36 +00:00
opencode 23ff6dbba4 release: v1.0.129
Update Nix Hashes / update (push) Has been cancelled
2025-12-03 11:39:04 +00:00
Aiden Cline b457923970 core: fix GitHub Copilot Enterprise authentication failing with sdk.chat undefined error 2025-12-02 23:37:10 -06:00
Jason Cheatham 66e4a5a64e tweak: adjust light/dark theme toggle (#5007) 2025-12-02 23:03:24 -06:00
Ben Vargas 6c25e64658 fix: correct Provider type in chat.params plugin hook (#5003) 2025-12-02 22:50:21 -06:00
Jason Cheatham f2fd0f8f00 fix: handle 0 in ANSI theme color definitions (#5009) 2025-12-02 22:42:30 -06:00
Frank 44cdde5422 zen: fix removing provider 2025-12-02 21:52:12 -05:00
Github Action 88235dc618 Update Nix flake.lock and hashes 2025-12-03 02:17:49 +00:00
Sebastian Herrlinger 4d2b671d7b actually bump opentui to v0.1.55
- fix scrollbox empty/blank last items at bottom
- fix should not insert chars with modifiers in input/textarea anymore
- do not wrap OSC4 palette sequences for tmux 3.6
2025-12-03 03:16:32 +01:00
Sebastian Herrlinger 8098031eac Revert "bump opentui to v0.1.55"
This reverts commit 80636fec43.
2025-12-03 03:14:08 +01:00
Github Action 74c882d9d0 Update Nix flake.lock and hashes 2025-12-03 02:06:35 +00:00
Sebastian Herrlinger 80636fec43 bump opentui to v0.1.55
- fix scrollbox empty/blank last items at bottom
- fix should not insert chars with modifiers in input/textarea anymore
- do not wrap OSC4 palette sequences for tmux 3.6
2025-12-03 03:03:52 +01:00
Aiden Cline a8ad74aef3 add basic session list command 2025-12-02 19:24:05 -06:00
Aiden Cline e2e2b7934e Make homebrew update check use homebrew registry version info 2025-12-02 17:43:33 -06:00
Frank 28c802f399 wip: zen 2025-12-02 18:36:15 -05:00
Dalton Alexandre bcfa63aa4e fix: allow unignoring files in .ignore (#4814) 2025-12-02 17:15:12 -06:00
Jay V d40feafb01 ignore: commands 2025-12-02 18:09:16 -05:00
Jay V 2a8473891b docs: replace deprecated opencode auth login command with /connect across all documentation
Users no longer need to exit the TUI to add providers - they can now use the /connect command directly in the terminal interface. Updated all provider setup instructions to use simplified format with /connect command instead of the deprecated opencode auth login CLI command. Added /connect to TUI commands reference and streamlined provider documentation to show clearer, more concise setup steps.
2025-12-02 18:08:39 -05:00
Aiden Cline a4e3451d5c tweak: make message border match color of agent it was sent to 2025-12-02 16:59:31 -06:00
Aiden Cline 53a7c2885b bump default lsp server timeout 2025-12-02 16:04:08 -06:00
Adam f354507d42 fix: session turn margins 2025-12-02 15:50:24 -06:00
Jaga Santagostino f17e1def32 toggle to hide username in TUI (#4750)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2025-12-02 15:11:03 -06:00
GitHub Action 3183e8b7d4 chore: format code 2025-12-02 20:28:17 +00:00
Aiden Cline 9d2b9ef2d4 ci: dont forget our european designer 2025-12-02 14:27:41 -06:00
opencode-agent[bot] 733e5cd876 add OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT (#4996)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-12-02 20:14:23 +00:00
opencode 4ee4f7bcb3 release: v1.0.128
Update Nix Hashes / update (push) Has been cancelled
2025-12-02 20:14:22 +00:00
GitHub Action da7ecda9ea chore: format code 2025-12-02 19:52:47 +00:00
Frank 1f11d4fb1a zen: data dumper 2025-12-02 14:51:27 -05:00
Adam b308503ab5 chore: remove comment (redeploy) 2025-12-02 13:49:48 -06:00
Adam 3b10de4a28 fix: vite config 2025-12-02 13:08:59 -06:00
U Cirello 6ce1de476a fix(run): allow messages to start with dash (-) (#4904) 2025-12-02 12:52:05 -06:00
Aiden Cline d9b0848a61 tweak: hide [REDACTED] chunks 2025-12-02 12:29:20 -06:00
Adam 46dd3b8166 chore: update landing page stats 2025-12-02 11:59:37 -06:00
Adam eca07be072 chore: update landing page stats 2025-12-02 11:52:53 -06:00
GitHub Action 165d57b88e chore: format code 2025-12-02 17:07:27 +00:00
David Hill 28c44f7e5a Merge branch 'dev' of https://github.com/sst/opencode into dev 2025-12-02 17:06:54 +00:00
David Hill 39d5bdff4b fix: add docs button 2025-12-02 17:06:37 +00:00
GitHub Action b9f8480b2f chore: format code 2025-12-02 17:02:39 +00:00
David Hill 58b30d678a Merge branch 'dev' of https://github.com/sst/opencode into dev 2025-12-02 17:00:45 +00:00
David Hill 408cdaf5e0 fix: website hero copy 2025-12-02 17:00:40 +00:00
GitHub Action cae23cde09 chore: format code 2025-12-02 16:45:56 +00:00
Dalton Alexandre 702fb2562c fix: handle ANSI color indexes in theme resolution (#4842) 2025-12-02 10:45:22 -06:00
opencode 785d0b60b6 release: v1.0.127
Update Nix Hashes / update (push) Has been cancelled
2025-12-02 16:05:59 +00:00
Adam 67ab9dc4d0 fix: share page ssr 2025-12-02 07:08:25 -06:00
Github Action 77494cb7df Update Nix flake.lock and hashes 2025-12-02 12:52:28 +00:00
GitHub Action 08f8856d6c chore: format code 2025-12-02 12:51:37 +00:00
Adam 79a4c1544d fix: type error 2025-12-02 06:51:05 -06:00
Adam c0a35141e6 feat: better code and diff rendering performance 2025-12-02 06:50:21 -06:00
GitHub Action 221bb64aeb ignore: update download stats 2025-12-02 2025-12-02 12:04:35 +00:00
David Hill 2555dba188 fix: update the install copy 2025-12-02 11:37:41 +00:00
Aiden Cline 6355ed6ae7 feat: add overridable review slash command (#4973) 2025-12-02 00:18:58 -06:00
Ariane Emory 1864e8c863 feat: toggle tool details visibility (resolves #4824) (#4882)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-12-01 19:38:44 -06:00
Adam 61d0d66dae fix: install orange 2025-12-01 19:21:55 -06:00
Aiden Cline 86522f1b3e fix: tui crash when no authed providers and default provider disabled (#4964) 2025-12-01 18:35:40 -06:00
Frank dc32705bc9 zen: remove unnecessary transactions 2025-12-01 18:33:32 -05:00
Stephen Collings 1eaf5c31d3 fix(auth): Respect disabled/enabled providers config in auth login (#4940)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2025-12-01 17:01:10 -06:00
Aiden Cline 677b19e22e fix: add .quiet 2025-12-01 16:59:32 -06:00
opencode-agent[bot] 8e248ae045 fix: respect npm registry (#4958)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2025-12-01 16:58:39 -06:00
Adam 0acefd5c08 fix: safari icons 2025-12-01 16:27:12 -06:00
Aiden Cline 0331931f56 fix: sanitize more invalid schema cases for gemini models 2025-12-01 16:19:10 -06:00
Dax Raad 01e2c9cc21 core: fix share compaction reprocessing same events by making storage list boundaries exclusive 2025-12-01 16:58:59 -05:00
Dax Raad 4acb645f04 core: add debug logging to troubleshoot share compaction loading 2025-12-01 16:46:57 -05:00
Github Action ef664039ac Update Nix flake.lock and hashes 2025-12-01 21:38:38 +00:00
Dax Raad 993422c6af core: prevent share tests from cleaning up storage used by other tests 2025-12-01 16:37:54 -05:00
Dax Raad c950d59047 fix types 2025-12-01 16:36:56 -05:00
GitHub Action cc726e0200 chore: format code 2025-12-01 21:35:51 +00:00
Dax Raad 3d99dc78db core: reduce latency when loading shared sessions through event compaction 2025-12-01 16:35:07 -05:00
Dax Raad 95c3a8b805 limit grep line length to 2000 2025-12-01 16:35:07 -05:00
Aiden Cline f1bb5870ce fix: copilot responses bug w/ gpt 5 mini 2025-12-01 14:36:49 -06:00
GitHub Action 540407e193 chore: format code 2025-12-01 19:03:13 +00:00
Aiden Cline 027d43b5ea fix case where opencode wasn't retrying 2025-12-01 13:02:33 -06:00
opencode 729a6eda23 release: v1.0.126
Update Nix Hashes / update (push) Has been cancelled
2025-12-01 19:00:00 +00:00
blacksmith-sh[bot] cbbd21e2e5 .github/workflows: Migrate workflows to Blacksmith runners (#4941)
Co-authored-by: blacksmith-sh[bot] <157653362+blacksmith-sh[bot]@users.noreply.github.com>
2025-12-01 09:43:33 -05:00
GitHub Action e7d45ca617 chore: format code 2025-12-01 14:43:23 +00:00
Dax Raad 0ddfdb55d3 log fetch time 2025-12-01 09:35:08 -05:00
GitHub Action fc439455a7 chore: format code 2025-12-01 14:23:36 +00:00
opencode c0fc02769b release: v1.0.125
Update Nix Hashes / update (push) Has been cancelled
2025-12-01 14:23:35 +00:00
Dax Raad 068ac68496 docs: add rebase instructions to commit command 2025-12-01 09:14:54 -05:00
Dax Raad 7da6a22df2 core: close SSE stream when instance is disposed 2025-12-01 09:14:00 -05:00
Sebastian Herrlinger e37aeb6e6a no conceal for write tool output 2025-12-01 15:12:47 +01:00
GitHub Action eeb0d2b8e0 chore: format code 2025-12-01 13:27:29 +00:00
adamelmore bf8c866bf7 chore: otf fonts 2025-12-01 07:20:53 -06:00
GitHub Action 75354b0002 ignore: update download stats 2025-12-01 2025-12-01 12:08:56 +00:00
opencode 4eb4d97d51 release: v1.0.124
Update Nix Hashes / update (push) Has been cancelled
2025-12-01 09:20:29 +00:00
Aiden Cline b1b82977ec tweak: better err msgs 2025-12-01 01:33:32 -06:00
Aiden Cline f6262460ff fix: drop absolute flag to resolve issues when using older git versions 2025-12-01 00:23:19 -06:00
GitHub Action 560a610384 chore: format code 2025-12-01 02:53:41 +00:00
Aiden Cline 0308b2ff98 bump anthropic plugin to fix header issue 2025-11-30 20:52:50 -06:00
opencode 5b92d49be7 release: v1.0.123
Update Nix Hashes / update (push) Has been cancelled
2025-12-01 01:07:50 +00:00
Github Action 0386d0ae09 Update Nix flake.lock and hashes 2025-12-01 01:00:23 +00:00
Sebastian Herrlinger 28bec57e1d bump opentui to v0.1.54, removing the cc flicker feature, fixing diffs and input event handling 2025-12-01 01:57:55 +01:00
Shantur Rathore aaa31f02af tweak: compaction prompt (#4838)
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2025-11-30 14:31:57 -06:00
Justin Vogt ff609a52c1 docs: explore subagent (#4893) 2025-11-30 14:04:27 -06:00
GitHub Action 1e30793f0a ignore: update download stats 2025-11-30 2025-11-30 12:04:23 +00:00
Adam 5268eb479d feat(share): split diffs on wide screens 2025-11-30 05:29:07 -06:00
Aiden Cline a4eba2e6e9 tweak: plan prompt 2025-11-30 01:03:35 -06:00
Aiden Cline 0f30115205 chore: cleanup 2025-11-30 00:32:43 -06:00
opencode-agent[bot] ae500ea01d Added "Open docs" command to palette (#4915)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-11-29 23:49:45 -06:00
Justin Vogt 087479d459 docs: Move tip to correct tool (#4891) 2025-11-29 22:03:20 -06:00
Aiden Cline 6e2379a28c get codex working in copilot (#4914)
Co-authored-by: OpeOginni <107570612+OpeOginni@users.noreply.github.com>
Co-authored-by: GitHub Action <action@github.com>
2025-11-29 21:47:29 -06:00
opencode 262fa184fd release: v1.0.122
Update Nix Hashes / update (push) Has been cancelled
2025-11-30 00:35:34 +00:00
Github Action 9a7e1c154d Update Nix flake.lock and hashes 2025-11-29 23:56:14 +00:00
Sebastian Herrlinger 5bf9193dfa bump opentui to v0.1.53, fixing an event listener leak in the line number renderable (perf) 2025-11-30 00:52:32 +01:00
Sebastian Herrlinger 180fb3f39d tweak spinner to be bg independent 2025-11-30 00:50:30 +01:00
GitHub Action 7e6b7314f4 chore: format code 2025-11-29 21:41:00 +00:00
Dax Raad a262508fb8 core: clarify general agent can execute multiple parallel tasks 2025-11-29 16:40:15 -05:00
Dax Raad 80ff24b65a ci: allow snapshot builds from any branch starting with snapshot- prefix 2025-11-29 21:30:38 +00:00
opencode 012aa67e42 release: v1.0.121
Update Nix Hashes / update (push) Has been cancelled
2025-11-29 21:30:38 +00:00
Github Action 0a1f12a583 Update Nix flake.lock and hashes 2025-11-29 21:20:24 +00:00
Sebastian Herrlinger f17dc812d0 upgrade opentui to v0.1.52, fixing #4906 - key repeat handling 2025-11-29 22:18:08 +01:00
kavin 1854d85ccc fix(tui): add missing fg color to permission keybind hints (#4899)
Co-authored-by: Github Action <action@github.com>
2025-11-29 14:22:20 -06:00
Adam 2c4d1fb8b4 chore: cleanup duplicate markup 2025-11-29 06:18:51 -06:00
GitHub Action d8fa7cf65d ignore: update download stats 2025-11-29 2025-11-29 12:04:12 +00:00
Dorian Karter 7d8d360138 fix: minor ui bug for transparent backgrounds (#4886) 2025-11-28 23:58:44 -06:00
Dax Raad d80880350d core: improve explore agent description to clarify tool availability 2025-11-28 21:47:45 -05:00
GitHub Action b693ed0dbd chore: format code 2025-11-29 02:44:40 +00:00
Dax Raad 83f961a7c2 Merge remote-tracking branch 'origin/dev' into dev 2025-11-28 21:44:02 -05:00
Dax Raad a093917db1 core: update generated types to include explore agent configuration 2025-11-28 21:43:56 -05:00
opencode 52716db649 release: v1.0.120
Update Nix Hashes / update (push) Has been cancelled
2025-11-29 02:34:23 +00:00
Dax Raad 9ca4b464ea tui: improve task display in session view to show tool names and completion status 2025-11-28 21:19:15 -05:00
Dax Raad 204a31b6bb Merge remote-tracking branch 'origin/dev' into dev 2025-11-28 21:13:13 -05:00
Dax Raad 813d287a09 core: add explore agent for fast codebase navigation and improve task UI display 2025-11-28 21:13:07 -05:00
Adam 4dd9f33eba fix: diffs double rendering when CSR'd 2025-11-28 20:08:50 -06:00
Adam 5953378a12 fix: theme-color value 2025-11-28 19:57:01 -06:00
Github Action b419eed295 Update Nix flake.lock and hashes 2025-11-29 01:55:02 +00:00
Sebastian Herrlinger 52deb7f352 opentui diffs 2025-11-29 02:52:17 +01:00
Dax Raad a4f3aecbaa ignore 2025-11-28 20:29:58 -05:00
GitHub Action 49ff6a852a chore: format code 2025-11-28 22:43:33 +00:00
Justin Vogt 7f537d2e98 docs: Add tip to tools about subagents re todos (#4875) 2025-11-28 15:49:24 -06:00
Aiden Cline 753443b16f ci: add community contributors to the changelog 2025-11-28 15:44:21 -06:00
Ariane Emory 33c63be980 feat: persist thinking blocks display to KV and indicate its current display state in the command_list (resolves #4582) (#4810)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2025-11-28 15:01:05 -06:00
Aiden Cline b6efca42b4 ci: use haiku 2025-11-28 14:41:32 -06:00
Github Action fa6eadc39a Update Nix flake.lock and hashes 2025-11-28 20:32:46 +00:00
Aiden Cline 8789acefa6 bump openrouter & google ai sdk packages 2025-11-28 14:30:22 -06:00
Aiden Cline 0e280017e6 Revert "fix: title gen when first msg(s) are shell invocations (#4874)"
This reverts commit 17e8322c29.
2025-11-28 12:18:02 -06:00
Aiden Cline 17e8322c29 fix: title gen when first msg(s) are shell invocations (#4874)
Co-authored-by: GitHub Action <action@github.com>
2025-11-28 11:55:22 -06:00
Sergio Garcia 96eda740cd docs: formatter: false and lsp: false (#4833)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
2025-11-28 11:22:48 -06:00
jaov fa84612357 tweak: gemini retry message to not be explicitly about gemini 3 (#4864)
Co-authored-by: jesuso <j.ochoa@norteconecta.net>
2025-11-28 11:14:53 -06:00
Dax Raad cf1f63eda3 ci stuff 2025-11-28 10:59:52 -05:00
Dax Raad 9704f5ce89 add otui-diffs 2025-11-28 10:59:07 -05:00
GitHub Action 0eaec2af82 ignore: update download stats 2025-11-28 2025-11-28 12:04:42 +00:00
Adam 398d35dc97 fix: theme-color value 2025-11-28 05:48:07 -06:00
Adam 5efeaae093 fix: desktop and share layouts 2025-11-28 05:35:35 -06:00
Adam cb2dd34a5e fix: unified diff as default 2025-11-28 05:35:35 -06:00
Christoph 7112a706b8 core: add built-in Dart LSP server and formatter (#4841) 2025-11-28 00:33:45 -06:00
Github Action 025a47d01f Update Nix flake.lock and hashes 2025-11-28 06:27:49 +00:00
DS 13f89fdb8f fix: filter empty messages in toModelMessage (#4811) 2025-11-28 00:26:48 -06:00
Aiden Cline cc78d50ef6 bump anthropic package 2025-11-28 00:25:16 -06:00
Adam a8985b1849 fix(desktop): layout 2025-11-27 20:15:49 -06:00
Adam 6a1552f65c fix: unwrap solid store part 2025-11-27 20:15:49 -06:00
Dax Raad 776091cc23 ci: add bun version check to pre-push hook to ensure version consistency 2025-11-27 15:50:23 -05:00
Dax Raad f385524f48 fix lock 2025-11-27 15:48:16 -05:00
Dax Raad 350982e636 tui: simplify model dialog ordering logic to reduce complexity 2025-11-27 14:38:51 -05:00
Dax Raad 5854455815 tui: improve provider dialog text clarity for better user guidance 2025-11-27 14:09:53 -05:00
Dax Raad 9ecaf618db tui: fix provider sorting to prioritize recommended options 2025-11-27 13:54:42 -05:00
Dax Raad 95b667d21e tui: remove cancel keybind hint from prompt dialog to simplify UI 2025-11-27 13:48:34 -05:00
Dax Raad a0b689c140 tui: hide favorite keybind in model dialog when disconnected to prevent errors 2025-11-27 13:42:36 -05:00
GitHub Action ea52ed41be chore: format code 2025-11-27 17:15:41 +00:00
Jay V 5a50d54fda ignore: lock 2025-11-27 12:14:50 -05:00
Jay V 35d118b0c4 ignore: add reply-to support for enterprise form emails 2025-11-27 12:12:44 -05:00
Albert O'Shea ea7c213f5d nix: fix workflow failing on PRs (#4820)
Co-authored-by: Github Action <action@github.com>
2025-11-27 10:05:51 -06:00
Frank 70dd6dd394 doc: slashing kimi k2 thinking price 2025-11-27 09:58:57 -05:00
GitHub Action 049510afbd ignore: update download stats 2025-11-27 2025-11-27 12:04:30 +00:00
Adam c120447fd0 fix: desktop layout and scroll gutters 2025-11-27 05:41:50 -06:00
Adam feb1f36126 fix: session turn margins 2025-11-27 05:25:39 -06:00
GitHub Action d6ef47bb2d chore: format code 2025-11-27 11:06:46 +00:00
Adam 50fd416d49 fix: simpler sanitize 2025-11-27 05:05:55 -06:00
opencode aef6904247 release: v1.0.119
Update Nix Hashes / update (push) Has been cancelled
2025-11-27 03:15:40 +00:00
Dax Raad 0bf40faf95 core: prevent codesearch and websearch tools when webfetch permission is denied 2025-11-26 22:08:50 -05:00
GitHub Action c90987c4b0 chore: format code 2025-11-27 03:08:33 +00:00
Dax Raad 0e08655407 core: prevent external diff tools from interfering with snapshot generation 2025-11-26 22:07:51 -05:00
opencode 427887db9c release: v1.0.118
Update Nix Hashes / update (push) Has been cancelled
2025-11-27 02:43:07 +00:00
Dax Raad a718622498 tui: prevent footer from shrinking when terminal is resized 2025-11-26 21:35:56 -05:00
Github Action 4e83107d79 Update Nix flake.lock and hashes 2025-11-27 01:33:35 +00:00
GitHub Action 04b6e72820 chore: format code 2025-11-27 01:32:04 +00:00
Dax Raad 501a2539c7 revert ts lsp to monorepo root 2025-11-26 20:31:26 -05:00
opencode 6a9856d480 release: v1.0.117
Update Nix Hashes / update (push) Has been cancelled
2025-11-27 01:29:00 +00:00
Dax Raad 2c8d42d997 roll back vtsls 2025-11-26 20:18:40 -05:00
Dax Raad 9c237f0bfb temporarily restrict codesearch and websearch to opencode zen users. need to figure out how to opt out for enterprise users who do not want this 2025-11-26 20:13:20 -05:00
Dax 63bfe76720 tui design refinement (#4809) 2025-11-26 20:11:39 -05:00
Aiden Cline 99d7ff47c4 enable parcel file watcher, expand parcel ignore patterns, replace fs watcher for git branches with parcel (#4805) 2025-11-26 17:33:43 -06:00
Aiden Cline 3ff0eb3065 Revert "fix: disable virtual extmarks for file/agent mentions (#4731)"
This reverts commit 673dbeee09.
2025-11-26 14:55:39 -06:00
GitHub Action 4d2b265dc4 chore: format code 2025-11-26 19:10:51 +00:00
rosmur 1854245bd3 docs: add llama.cpp provider for local LLM inference (#4769)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2025-11-26 13:10:15 -06:00
Aiden Cline 4d07034930 fix: svg paste bug 2025-11-26 12:38:48 -06:00
Dax Raad 98031173b6 lil branch refactor 2025-11-26 12:34:48 -05:00
GitHub Action e8e474597c chore: format code 2025-11-26 17:26:46 +00:00
Tommy D. Rossi 382758790c fix(tui): dedupe file references in prompt (#4775) 2025-11-26 11:26:05 -06:00
opencode c33920f59d release: v1.0.115
Update Nix Hashes / update (push) Has been cancelled
2025-11-26 16:57:35 +00:00
Jensen 33f004d4b6 fix(tui): show bootstrap errors instead of {} to trace (#4779)
Co-authored-by: Github Action <action@github.com>
2025-11-26 10:49:55 -06:00
Yug Agarwal 8963b536ee docs: IO.NET Provider (#4762) 2025-11-26 10:44:05 -06:00
GitHub Action 51455e2a1e ignore: update download stats 2025-11-26 2025-11-26 12:04:44 +00:00
Adam 30d6a26e3e fix: useData 2025-11-26 06:03:13 -06:00
Adam cd4fabd11b fix: scroll gutter padding 2025-11-26 05:58:30 -06:00
Github Action 9a8b8f26ac Update Nix flake.lock and hashes 2025-11-26 11:31:37 +00:00
Adam 2f73b16b57 deps: update pierre diffs 2025-11-26 05:29:31 -06:00
opencode-agent[bot] df9952c291 Renamed vcs.changed to vcs.branch.updated (#4771)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-11-26 01:17:59 -06:00
Dmitry Halushka ee946d8128 fix: transform MCP tool schemas for Google/Gemini compatibility (#4538)
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
Co-authored-by: Github Action <action@github.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2025-11-26 00:58:20 -06:00
Aiden Cline ec8f2e078e Remove keybinds from favorites feature, keep functionality 2025-11-26 00:45:33 -06:00
shuv 335f46122b Add favorites to model selector (#23) (#4343)
Co-authored-by: Github Action <action@github.com>
2025-11-26 00:41:41 -06:00
Meysam Najafi Fard 73eae191e9 fix: handle remote image URLs in paste handler (#4691)
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2025-11-26 00:34:22 -06:00
Aiden Cline 14e823e938 ignore: fix type issue 2025-11-26 00:14:04 -06:00
Aiden Cline 2fbd462e6e Reapply "feat(github): add ability to react to PR Review Comments in Workflow (#4705)"
This reverts commit e1cc98d448.
2025-11-25 23:51:46 -06:00
Aiden Cline e1cc98d448 Revert "feat(github): add ability to react to PR Review Comments in Workflow (#4705)"
This reverts commit 0ce64962d4.
2025-11-25 23:51:23 -06:00
U Cirello 0ce64962d4 feat(github): add ability to react to PR Review Comments in Workflow (#4705)
Co-authored-by: GitHub Action <action@github.com>
2025-11-25 23:45:19 -06:00
george larson 338229193f docs: add Venice.ai provider (#4748)
Co-authored-by: George Larson <georgeglarson@users.noreply.github.com>
2025-11-25 23:40:52 -06:00
Ariane Emory 57644a4be8 feat: add a diff_style option to allow disabling columnar diffs (resolve #4677) (#4756)
Co-authored-by: Dax Raad <d@ironbay.co>
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-11-25 23:34:58 -06:00
Frank da2099137a zen: trial 2025-11-25 23:44:57 -05:00
Aiden Cline 09bc8d9ca4 show current git branch in tui (#4765)
Co-authored-by: GitHub Action <action@github.com>
2025-11-25 21:39:20 -06:00
Dax Raad d95f724303 enable exa code/websearch 2025-11-25 22:06:26 -05:00
Frank c413c3ed8f wip: zen 2025-11-25 22:01:34 -05:00
Adam 5f56be0ad4 fix: pierre separators 2025-11-25 20:39:20 -06:00
Adam ef441d5cff chore: cleanup pierre stuff 2025-11-25 20:39:20 -06:00
GitHub Action 16a188c524 chore: format code 2025-11-26 02:33:36 +00:00
Dax Raad 50c40a8d99 tui: fix event subscription cleanup in SDK context 2025-11-25 21:32:56 -05:00
opencode 4114c8715c release: v1.0.114
Update Nix Hashes / update (push) Has been cancelled
2025-11-26 00:32:22 +00:00
GitHub Action ced5fdbe70 chore: format code 2025-11-26 00:24:10 +00:00
Dax Raad b16aa81e0d switch to vtsls for typescript lsp 2025-11-25 19:23:23 -05:00
Aiden Cline b44971668c fix: global prefix handling w/ aws bedrock (#4757) 2025-11-26 00:21:59 +00:00
opencode 0ff4c284e2 release: v1.0.113
Update Nix Hashes / update (push) Has been cancelled
2025-11-26 00:21:59 +00:00
Dax Raad e8db95be16 switch typescript lsp to be one per package to ensure it loads when typescript is not installed at root 2025-11-25 19:14:07 -05:00
Shantur Rathore 69c2dd53ad config: add setCacheKey in provider options (#4738)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2025-11-25 17:53:56 -06:00
Frank 14a910bd64 wip: zen 2025-11-25 18:04:25 -05:00
GitHub Action 52f97ffdc9 chore: format code 2025-11-25 22:59:55 +00:00
Frank a1e87f6cd9 wip: zen 2025-11-25 17:58:59 -05:00
Frank c2fc41dcd5 wip: zen 2025-11-25 17:57:24 -05:00
Frank b62c7943e7 zen: trial 2025-11-25 17:57:24 -05:00
Tommy D. Rossi 64caeeb12d fix(tui): abort in-progress generation on undo (#4744) 2025-11-25 16:35:34 -06:00
Adam e8ac4a1e99 fix: build error 2025-11-25 16:27:53 -06:00
Adam 19c8654195 fix: missing deps 2025-11-25 16:27:26 -06:00
Haris Gušić 00d7aed797 fix: prompt submit error with opencode -c (#4496)
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2025-11-25 16:27:06 -06:00
Adam 4477132448 fix: sanitize absolute paths 2025-11-25 16:02:31 -06:00
Aiden Cline eaeea45ace ci: change changelog model 2025-11-25 15:36:26 -06:00
Aiden Cline e404bf33b1 update install script to handle musl & avx 2025-11-25 15:35:10 -06:00
Aiden Cline 79a7edea5e ci: update changelog prompt 2025-11-25 15:34:49 -06:00
Jaga Santagostino 2b05fe2859 docs: improve notes on mobile (#4747) 2025-11-25 15:27:28 -06:00
GitHub Action f8996f0a90 chore: format code 2025-11-25 21:10:31 +00:00
Dax Raad eb04cdac41 better overloaded message 2025-11-25 21:10:31 +00:00
opencode 125938c7a1 release: v1.0.112
Update Nix Hashes / update (push) Has been cancelled
2025-11-25 21:10:30 +00:00
opencode ec1260d8aa release: v1.0.111
Update Nix Hashes / update (push) Has been cancelled
2025-11-25 20:54:40 +00:00
Dax Raad 9eabbe2e76 retry anthropic overloaded errors 2025-11-25 15:47:34 -05:00
Adam 5f35c579e2 fix: accordion styles 2025-11-25 14:46:22 -06:00
Adam 99a23bdc8f fix: css code splitting off for desktop 2025-11-25 14:33:49 -06:00
Aiden Cline d914a08896 tweak stats command to show avg & median # of tokens per session 2025-11-25 14:14:06 -06:00
Jaga Santagostino ceccc30cb8 docs: reduce mobile padding (#4745) 2025-11-25 14:04:55 -06:00
Youssef Achy 3366a71155 Theme selector UX (current theme indicator and easier selection) (#4623)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2025-11-25 13:53:01 -06:00
Adam cd67804412 fix: scroll gutter 2025-11-25 13:49:46 -06:00
Aiden Cline 4a95db6013 fix: add missing compacted event 2025-11-25 13:47:10 -06:00
Adam 8bf552ae25 fix: markdown inline code style 2025-11-25 13:11:21 -06:00
Adam ccd0c2382f fix(share): style issues 2025-11-25 12:53:43 -06:00
Adam d74663bf53 fix(share): don't highlight words unless split 2025-11-25 12:21:39 -06:00
Aiden Cline 020ee56f25 fix: dont auto continue if compaction was manual 2025-11-25 12:11:09 -06:00
Adam 87b295bc3d fix(share): metadata and popover close delay 2025-11-25 12:09:22 -06:00
Github Action b9b1e92788 Update Nix flake.lock and hashes 2025-11-25 17:45:45 +00:00
Dax Raad 4000705701 core(enterprise): use aws4fetch for smaller bundle size on edge runtimes 2025-11-25 12:43:36 -05:00
Tommy D. Rossi 673dbeee09 fix: disable virtual extmarks for file/agent mentions (#4731) 2025-11-25 11:37:46 -06:00
Ariane Emory 5288041782 tweak: alphabetical (mostly) opencode models output (#4725)
Co-authored-by: Dax Raad <d@ironbay.co>
2025-11-25 11:37:05 -06:00
Ariane Emory 4273fa9ccf fix: merge plugin selections (resolves #4565) (#4724)
Co-authored-by: Dax Raad <d@ironbay.co>
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-11-25 11:34:21 -06:00
Aiden Cline 01bcb9dff9 ci: setup bun 2025-11-25 11:27:29 -06:00
Github Action 101f86ad1f Update Nix flake.lock and hashes 2025-11-25 16:56:01 +00:00
GitHub Action 2575dc2db0 chore: format code 2025-11-25 16:46:00 +00:00
Adam b4e6f128d7 fix: favicons across all web properties 2025-11-25 10:45:18 -06:00
Albert O'Shea 7d5e6718dc nix: set dontFixup = true (#4735) 2025-11-25 10:16:53 -06:00
Github Action 072aa7569c Update Nix flake.lock and hashes 2025-11-25 13:50:22 +00:00
GitHub Action 62871283e2 chore: format code 2025-11-25 13:49:03 +00:00
Adam 0f1dd24f97 fix(enterprise): custom element defs 2025-11-25 07:48:18 -06:00
Adam 995f551e80 fix(enterprise): custom element defs 2025-11-25 07:47:25 -06:00
Adam 15facd8cfd feat(share): SSR'd diffs 2025-11-25 07:40:16 -06:00
GitHub Action 57bd47a446 ignore: update download stats 2025-11-25 2025-11-25 12:05:06 +00:00
Aiden Cline 0568c943ab better scroll speed default for windows 2025-11-25 01:16:21 -06:00
Shantur Rathore b1aaa8570e prompt_async: Allows to receive prompt and return immediately, start … (#4664)
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2025-11-24 23:52:57 -06:00
Aiden Cline 3b2aa7e91d Revert "Support basic auth in opencode sdk (#4697)"
This reverts commit b9253d0b3b.
2025-11-24 23:12:00 -06:00
Aiden Cline 997aacf7f0 ci: adjust nix hash 2025-11-24 22:50:32 -06:00
Dax Raad 3183978c6b fixed suspense in enterprise 2025-11-24 23:33:47 -05:00
Frank 6a0b20456f zen: remove official support for unified endpoint 2025-11-24 23:33:23 -05:00
Frank 8841112b07 zen: add zai logo 2025-11-24 23:33:23 -05:00
Aiden Cline 16dbac6026 Revert "config: add setCacheKey in provider options (#4654)"
This reverts commit 9b6d03c497.
2025-11-24 22:30:56 -06:00
Shantur Rathore 9b6d03c497 config: add setCacheKey in provider options (#4654)
Co-authored-by: GitHub Action <action@github.com>
2025-11-24 22:20:52 -06:00
Aiden Cline d3ea044619 ignore: comment out thingy 2025-11-24 22:15:00 -06:00
Frank 364355c8e1 zen: graduate kimi k2 thinking 2025-11-24 23:14:46 -05:00
Frank 88c4e95428 zen: sticky session 2025-11-24 23:14:46 -05:00
Dax Raad 9403f6ced5 log data 2025-11-24 23:13:28 -05:00
GitHub Action 56fe84e516 chore: format code 2025-11-25 03:59:28 +00:00
Dax Raad 69d1381ba3 core: refactor share system to separate session IDs from share IDs
- Generate shorter share IDs from session IDs for better URL structure
- Update API routes to use shareID parameter instead of sessionID
- Improve sync mechanism with better data queuing and deduplication
- Maintain backward compatibility while improving security and organization
2025-11-24 22:58:47 -05:00
Dax Raad ccec8c4792 tui: align session panel content with consistent left padding 2025-11-25 03:08:12 +00:00
opencode 83c47e0ed7 release: v1.0.110
Update Nix Hashes / update (push) Has been cancelled
2025-11-25 03:08:12 +00:00
Dax Raad 6d630901b6 tui: use standard middle dot separator for better terminal compatibility 2025-11-24 22:00:44 -05:00
Adam 320622fc27 fix(tui): spacing 2025-11-24 20:44:30 -06:00
Dax Raad fb8ef1f27b tui: prevent re-fetching already synced sessions when switching sessions 2025-11-24 21:43:11 -05:00
Adam 333948711d fix(desktop): content animations 2025-11-24 20:35:51 -06:00
Adam 001b4be0ae fix(desktop): message summaries 2025-11-24 19:56:12 -06:00
Github Action 427c62d052 Update Nix flake.lock and hashes 2025-11-25 00:03:08 +00:00
Sebastian Herrlinger 99097d418b bump opentui to v0.1.50
- fix another segfault
- fix weird tmux window/pane title
- fix selection in textarea (use shift+arrow keys)
2025-11-25 01:00:48 +01:00
Adam 75654afeaa fix(share): responsiveness 2025-11-24 17:59:37 -06:00
GitHub Action f10d18956a chore: format code 2025-11-24 23:06:21 +00:00
Andrew Joslin b9253d0b3b Support basic auth in opencode sdk (#4697) 2025-11-24 17:05:35 -06:00
opencode 2458e7597b release: v1.0.109
Update Nix Hashes / update (push) Has been cancelled
2025-11-24 22:30:42 +00:00
Aiden Cline 23a721f0a2 remove hardcoded openrouter provider 2025-11-24 16:11:12 -06:00
Frank 9bd6be5c6d zen: byok for gemini 2025-11-24 17:09:54 -05:00
Adam Hosker dd6113c9d1 Add --refresh flag to models command (#4707) 2025-11-24 16:06:51 -06:00
Adam d39bcd9c55 fix(desktop): layout 2025-11-24 15:57:48 -06:00
Frank 823d7da4c1 zen: display reasoning tokens 2025-11-24 16:54:54 -05:00
Frank 7fff191c57 wip: zen 2025-11-24 16:54:54 -05:00
Aiden Cline 9e44085a69 adjust bundled provider logic, fix tree shaking stuff (#4708) 2025-11-24 15:48:54 -06:00
Adam 5230b91b25 fix(console): remove extra favicon 2025-11-24 15:48:11 -06:00
GitHub Action 493b3d72e4 chore: format code 2025-11-24 21:17:40 +00:00
Adam 337590c450 fix(console): favicon issues 2025-11-24 15:10:40 -06:00
Adam 8e1c7cfe89 wip(share): enterprise favicon 2025-11-24 15:10:40 -06:00
Adam c60cb6c329 wip(share): more styling 2025-11-24 15:10:40 -06:00
Adam acf1dd8500 wip(share): more styling 2025-11-24 15:10:40 -06:00
Adam 3fb57044d1 wip(share): more styling 2025-11-24 15:10:39 -06:00
Frank 46a76a778a zen: add opus 4.5 2025-11-24 15:39:38 -05:00
Aiden Cline a9a2c23736 add autoupdate: notify 2025-11-24 14:32:38 -06:00
Aiden Cline ccde319937 ci: nix hash 2025-11-24 14:26:55 -06:00
Frank 0ed7fac5fb wip: zen 2025-11-24 15:24:44 -05:00
GitHub Action 80b9cd1292 chore: format code 2025-11-24 19:53:00 +00:00
Sebastian Herrlinger b6c1df41fb textarea highlight cursor color 2025-11-24 20:51:07 +01:00
opencode 125af820d0 release: v1.0.108
Update Nix Hashes / update (push) Has been cancelled
2025-11-24 19:16:14 +00:00
GitHub Action 8167e90801 chore: format code 2025-11-24 18:40:01 +00:00
Sebastian Herrlinger 82ebf66cba non-corpo loading spinner 2025-11-24 19:39:09 +01:00
Frankie Seabrook 883ed4d424 docs: add Ollama Cloud provider setup to providers.mdx (#4693) 2025-11-24 10:51:16 -06:00
GitHub Action e6bf1754c3 ignore: update download stats 2025-11-24 2025-11-24 12:04:34 +00:00
Carli Samuele bcb494d5d1 TUI: fix: add null check for user.time in duration calculation (#4679) 2025-11-24 02:06:09 -06:00
Ariane Emory 75c0c0a098 tweak: display MCPs in alphabetic order in the sidebar. (#4680)
Co-authored-by: Github Action <action@github.com>
2025-11-24 02:02:04 -06:00
GitHub Action 840d2694b4 chore: format code 2025-11-24 07:51:59 +00:00
Aiden Cline abdc7b276a fix: persist light vs dark mode 2025-11-24 01:51:13 -06:00
Aiden Cline d4f6deb9ef tweak: modified files sidebar 2025-11-24 01:51:13 -06:00
opencode 502e85b903 release: v1.0.107
Update Nix Hashes / update (push) Has been cancelled
2025-11-24 07:06:41 +00:00
Aiden Cline ac1e2bfd49 bump copilot plugin, give better error message for copilot (#4678) 2025-11-24 00:40:15 -06:00
Aiden Cline b9b071c744 fix: fatal: undefined is not an object (evaluating 'color.buffer') 2025-11-23 23:56:15 -06:00
GitHub Action 83186b6fed chore: format code 2025-11-24 04:55:13 +00:00
Albert O'Shea a3a239967f nix: bundle js dist with bun and patch tree-sitter wasm paths (#4644)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: Github Action <action@github.com>
2025-11-23 22:54:29 -06:00
Huang Qi b4fd4bb257 fix: add explicit fallback model and prevent direct opencode provider calls (#4653)
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2025-11-23 22:51:15 -06:00
GitHub Action eb009d5959 chore: format code 2025-11-23 20:59:37 +00:00
Frank 4a81bd0f50 wip: zen 2025-11-23 15:58:55 -05:00
Frank bbc9142fc5 wip: zen 2025-11-23 15:21:47 -05:00
Aiden Cline 7413c2715c tweak: slight improvements to title gen 2025-11-23 14:04:39 -06:00
Dax Raad 7579c3bb15 ci: remove log 2025-11-23 15:00:29 -05:00
Dax Raad 24683058fd ci: ignore 2025-11-23 14:56:24 -05:00
Dax Raad bf81e3108c ci: ignore 2025-11-23 14:56:24 -05:00
Dax Raad 5ade90416e ci: ignore 2025-11-23 14:44:05 -05:00
GitHub Action 8f2a8086c0 chore: format code 2025-11-23 19:37:19 +00:00
Dax Raad 38b70f7877 ci: secret 2025-11-23 14:36:36 -05:00
Dax Raad 5e112a17a5 token 2025-11-23 19:35:39 +00:00
Dax Raad 59a3e7e3cc ci: ignore 2025-11-23 19:35:39 +00:00
Github Action 2c93f065cb Update Nix flake.lock and hashes 2025-11-23 19:35:39 +00:00
opencode 488d33c1ed release: v1.0.106
Update Nix Hashes / update (push) Has been cancelled
2025-11-23 19:35:38 +00:00
Dax Raad de4660ac12 ci: ignore 2025-11-23 14:28:10 -05:00
Aiden Cline 27ae341684 fix bash tool wsl 2025-11-23 12:29:15 -06:00
Github Action 25b3846694 Update Nix flake.lock and hashes 2025-11-23 17:57:34 +00:00
Dax Raad 8e2f9f6544 ci: stuff 2025-11-23 12:55:33 -05:00
Github Action 76b5870f89 Update Nix flake.lock and hashes 2025-11-23 17:45:24 +00:00
Dax Raad 604891e793 ci: stuff 2025-11-23 12:43:23 -05:00
Dax Raad 5814df7eaa sync 2025-11-23 12:43:23 -05:00
Aiden Cline 2509d03f42 tweak: fix bool 2025-11-23 11:43:09 -06:00
Github Action a256df9823 Update Nix flake.lock and hashes 2025-11-23 17:09:33 +00:00
Dax Raad af96ec5a30 ignore: update @solidjs/start dependency and fix console redirect handling
Updates the @solidjs/start dependency to latest version and removes deprecated getResponseHeaders usage from auth callback. Also adds error handling for workspace ID lookup to prevent redirect failures.
2025-11-23 12:07:28 -05:00
GitHub Action 55df80b80e ignore: update download stats 2025-11-23 2025-11-23 12:04:01 +00:00
Ariane Emory 7d11986a0a feature: optional selectedListItemText element in themes and luminance-based fallback to solve 4369 (#4572)
Co-authored-by: knanao <nao.7ken@gmail.com>
Co-authored-by: knanao <k@knanao.com>
2025-11-23 01:51:07 -06:00
Aiden Cline d75d90c53e ci: fix action 2025-11-23 01:36:45 -06:00
Tyler Limbach 35fead2eca fix: make tui session text respect theme fg (#4618) (#4620) 2025-11-23 01:34:31 -06:00
Github Action 9bb2efd3ef Update Nix flake.lock and hashes 2025-11-23 07:31:17 +00:00
Aiden Cline 30ffcaa667 tweak: start bundling in some ai-sdk packages (#4649) 2025-11-23 01:29:20 -06:00
terakael ba11455786 fix: prevent permission shortcuts when ctrl/meta pressed (#4631)
Co-authored-by: terakael <terakael@gmail.com>
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2025-11-22 23:58:10 -06:00
Dax Raad d69ba27f84 fix suspense 2025-11-23 00:16:06 -05:00
Dax Raad 448b72d046 fix logout 2025-11-23 00:12:58 -05:00
Dax Raad d96d89bcb8 fix logout 2025-11-22 23:59:50 -05:00
Dax Raad 7a013d4f40 fixed 2025-11-22 23:56:37 -05:00
GitHub Action e4597df3b9 chore: format code 2025-11-23 04:54:26 +00:00
Dax Raad 2b014fcd75 fix auth 2025-11-22 23:53:41 -05:00
Github Action c2bf6975f8 Update Nix flake.lock and hashes 2025-11-23 00:44:43 +00:00
Sebastian Herrlinger 733e1f79ac bump opentui to v0.1.49
- fix stdin handling for suspend/resume
- fix textarea cursor movement segfault for wcdwidth (alacritty/tmux)
2025-11-23 01:42:33 +01:00
GitHub Action 2a6cbfd5fd chore: format code 2025-11-23 00:20:07 +00:00
Adam 6173b69a8b wip(share): more styling 2025-11-22 18:19:02 -06:00
opencode fc72cfe784 release: v1.0.105
Update Nix Hashes / update (push) Has been cancelled
2025-11-22 22:39:18 +00:00
Dax Raad 768c81cdfd core: prevent concurrent bun package installs that could cause corruption or conflicts 2025-11-22 17:32:53 -05:00
Dax Raad bcea8ed593 tui: fix message completion timing and duration display in session view 2025-11-22 17:28:50 -05:00
GitHub Action f93bb1dd21 chore: format code 2025-11-22 22:27:23 +00:00
Ravi Kumar b92e8510f9 fix: auto upgrade toast message (#4625)
Co-authored-by: Dax Raad <d@ironbay.co>
Co-authored-by: opencode <opencode@sst.dev>
2025-11-22 16:26:46 -06:00
opencode 1b692ec7eb release: v1.0.104
Update Nix Hashes / update (push) Has been cancelled
2025-11-22 20:03:20 +00:00
Dax Raad 4c97e2e8bb reset cache 2025-11-22 14:56:35 -05:00
Dax Raad b652198979 load desktop app 2025-11-22 14:40:11 -05:00
Dax Raad 31c4a1d853 docs: add Docker installation option for OpenCode 2025-11-22 14:13:04 -05:00
Goni Zahavy 6afdb5c0e5 tui: added ctrl-z terminal suspension support (#3983) 2025-11-22 12:48:23 -06:00
shuv bdcf864678 proper fix for image attachments (#4562)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2025-11-22 12:47:57 -06:00
opencode 0dd5039668 release: v1.0.103
Update Nix Hashes / update (push) Has been cancelled
2025-11-22 18:21:49 +00:00
Dax Raad a0831eade1 tui: remove bullet prefix from timestamps in session view for cleaner display 2025-11-22 13:11:08 -05:00
GitHub Action f1dc9818b6 chore: format code 2025-11-22 18:04:34 +00:00
Dax Raad b52b7c6ded more flickering fixes 2025-11-22 13:03:44 -05:00
Dax Raad e03a41144a tui: keep assistant footer from crashing after compaction 2025-11-22 18:00:54 +00:00
opencode 37bb07e7a3 release: v1.0.100
Update Nix Hashes / update (push) Has been cancelled
2025-11-22 18:00:54 +00:00
Dax Raad 78a6325b64 improve model footer 2025-11-22 12:54:02 -05:00
GitHub Action c96923d2c9 chore: format code 2025-11-22 17:50:32 +00:00
Valerio Di Maggio 59742fbfee Showed end time for agent loop and changed message time to show date if not current day (#4503)
Co-authored-by: GitHub Action <action@github.com>
2025-11-22 11:49:50 -06:00
Dax Raad 2938a25ec5 sync 2025-11-22 16:43:47 +00:00
opencode d163eb3888 release: v1.0.99
Update Nix Hashes / update (push) Has been cancelled
2025-11-22 16:43:46 +00:00
Dax Raad 75c29d4d1c summary optimizaitons 2025-11-22 11:32:49 -05:00
Dax Raad e103fb1f93 ci: add Node.js setup to deploy workflow for consistent runtime environment 2025-11-22 10:47:18 -05:00
Dax Raad bd79ff87cc fix missing vite 2025-11-22 10:45:06 -05:00
Dax Raad ac21ec2f46 upgrade bun lock version 2025-11-22 10:42:09 -05:00
Github Action 5bcf017c10 Update Nix flake.lock and hashes 2025-11-22 15:41:29 +00:00
Brendan Allan 85d99198b5 Use devinxi-ed Solid Start (#4635)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Dax Raad <d@ironbay.co>
2025-11-22 10:39:25 -05:00
GitHub Action 7f183f7404 ignore: update download stats 2025-11-22 2025-11-22 12:04:02 +00:00
opencode 85284df725 release: v1.0.98
Update Nix Hashes / update (push) Has been cancelled
2025-11-22 06:00:23 +00:00
Dax Raad 87054ee983 fix flickering/layout shift during work 2025-11-22 00:49:35 -05:00
GitHub Action 81245c2548 chore: format code 2025-11-22 05:15:55 +00:00
Dax Raad 6f82b321d8 tauri 2025-11-22 00:15:01 -05:00
opencode f4593c6653 release: v1.0.97
Update Nix Hashes / update (push) Has been cancelled
2025-11-22 05:02:16 +00:00
Dax Raad 15902cf54d core: add missing system libraries to docker image so the agent starts successfully 2025-11-21 23:52:01 -05:00
GitHub Action d1102c33ac chore: format code 2025-11-22 04:48:52 +00:00
Dax Raad aabbd3383c fix dockerfile 2025-11-21 23:48:09 -05:00
opencode afb55cb7d4 release: v1.0.95
Update Nix Hashes / update (push) Has been cancelled
2025-11-22 04:27:20 +00:00
Dax Raad ade794a937 ci: ignore 2025-11-21 23:08:35 -05:00
Dax Raad 34271a82ff release: v1.0.94
Update Nix Hashes / update (push) Has been cancelled
2025-11-21 23:06:37 -05:00
Dax Raad b20a31098a sync 2025-11-21 22:58:20 -05:00
Dax Raad b5a039e5ae ci stuff 2025-11-21 22:53:58 -05:00
GitHub Action 986cc0a01c chore: format code 2025-11-22 03:31:29 +00:00
opencode b20fd36c48 release: v1.0.92
Update Nix Hashes / update (push) Has been cancelled
2025-11-22 03:31:28 +00:00
Dax Raad e4e6bf66e1 publish tar.gz for linux 2025-11-21 22:24:36 -05:00
opencode 3ae27273c6 release: v1.0.91
Update Nix Hashes / update (push) Has been cancelled
2025-11-22 02:19:56 +00:00
Dax Raad eefb3c43dd fix arg parsing 2025-11-21 21:13:43 -05:00
Github Action cc229e726e Update Nix flake.lock and hashes 2025-11-22 01:43:03 +00:00
Dax 49408c00e9 enterprise (#4617)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com>
2025-11-21 20:41:27 -05:00
opencode 76192fbced release: v1.0.90
Update Nix Hashes / update (push) Has been cancelled
2025-11-22 00:16:10 +00:00
GitHub Action a1c76c79de chore: format code 2025-11-22 00:09:32 +00:00
Dax Raad db9e2b1aac ci: disable automatic config loading during CLI builds to prevent configuration interference 2025-11-21 19:08:51 -05:00
opencode 45c4970d68 release: v1.0.89
Update Nix Hashes / update (push) Has been cancelled
2025-11-22 00:00:23 +00:00
Tommy D. Rossi 1d7a9309d6 feat: lower opacity for thinking summaries (#4610) 2025-11-21 17:35:47 -06:00
Dax Raad f5ac98251e tui: split revert memo into smaller tracked computations to prevent unnecessary re-evaluations 2025-11-21 18:27:25 -05:00
GitHub Action 78239045ba chore: format code 2025-11-21 22:42:39 +00:00
Dax Raad d8b60875c4 tui: batch SDK events to reduce render churn and improve responsiveness
Intelligently queue events and flush them in 16ms batches. Events processed within 16ms of the last flush are batched together to reduce the number of store updates and re-renders, preventing jank when receiving rapid consecutive events. Events after a 16ms gap are processed immediately to avoid adding latency.
2025-11-21 17:42:02 -05:00
opencode 48949a6e9d release: v1.0.88
Update Nix Hashes / update (push) Has been cancelled
2025-11-21 22:37:46 +00:00
GitHub Action 082a330ea3 chore: format code 2025-11-21 22:30:46 +00:00
Aiden Cline adf7df0d5c tweak: bash tool behavior w/ /bin/zsh 2025-11-21 16:30:00 -06:00
opencode a76ad48563 release: v1.0.87
Update Nix Hashes / update (push) Has been cancelled
2025-11-21 21:58:10 +00:00
Dax Raad 00f991162f if finish reason is unknown, continue 2025-11-21 16:51:32 -05:00
Frank d6cdd24fad doc: update gpt pricing 2025-11-21 15:48:54 -05:00
GitHub Action c9473756df chore: format code 2025-11-21 20:33:42 +00:00
Ivan Starkov b5d0c56b4c fix: make bash tool respect $SHELL (#3494)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-11-21 14:33:04 -06:00
opencode 96a2f5268c release: v1.0.86
Update Nix Hashes / update (push) Has been cancelled
2025-11-21 20:32:47 +00:00
Aiden Cline 5083f9c9c2 bump bun to 1.3.3 2025-11-21 13:56:46 -06:00
Frank e34df15ff5 update logic for local and dev providers 2025-11-21 13:31:33 -05:00
GitHub Action 26ec87803a chore: format code 2025-11-21 17:57:33 +00:00
Frank 037e8d4555 wip: zen 2025-11-21 12:50:51 -05:00
Adam 08a366c4dc feat(install): better install script visuals, custom progress bar and next steps (#4589) 2025-11-21 07:29:52 -06:00
GitHub Action 670e1523e0 ignore: update download stats 2025-11-21 2025-11-21 12:04:49 +00:00
Patrick Wolf 416f2964b5 fix: preserve agent context during compaction (#4556) 2025-11-21 02:13:10 -06:00
Ian Maurer e018e16898 fix(cli): ensure clean exit on provider/model errors (#4223)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2025-11-21 02:01:19 -06:00
Aiden Cline d16c8c9f0f ignore: update sdk 2025-11-21 01:25:06 -06:00
Aiden Cline fffe20cbe5 add provider whitelist 2025-11-21 01:24:44 -06:00
Aiden Cline f6da3c467b ignore: sync sdk 2025-11-21 01:04:02 -06:00
geril07 c0d9f21c0f feat: whitelist/blacklist config options for provider (#3416)
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2025-11-21 01:01:30 -06:00
GitHub Action a67b616139 chore: format code 2025-11-21 06:03:38 +00:00
opencode 2991547974 release: v1.0.85
Update Nix Hashes / update (push) Has been cancelled
2025-11-21 06:03:38 +00:00
Dax Raad b59def2e4a hide gpt5 nano 2025-11-21 00:58:02 -05:00
opencode d842353f39 release: v1.0.84
Update Nix Hashes / update (push) Has been cancelled
2025-11-21 05:55:03 +00:00
Dax Raad d20ef569de tui: replace text shimmer with animated progress bar during model processing 2025-11-21 00:47:27 -05:00
Dax Raad ca2b871810 tui: simplify popular providers list to show only top 6 instead of applying provider priority sorting 2025-11-21 00:32:21 -05:00
Dax 23ea8ba1ce Tui onboarding (#4569)
Co-authored-by: GitHub Action <action@github.com>
2025-11-21 00:21:06 -05:00
Zak c417fec246 tweak: adjust invalid directory error message (#4567)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2025-11-20 22:36:07 -06:00
Aiden Cline 5413b16b57 fix: split not a function error 2025-11-20 22:33:59 -06:00
Spoon 43c021ed80 feat: add field to allow user only messages (#4554)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-11-20 19:13:42 -06:00
GitHub Action 3b005d29d7 chore: format code 2025-11-21 00:49:39 +00:00
opencode 635f70f477 release: v1.0.83
Update Nix Hashes / update (push) Has been cancelled
2025-11-21 00:49:39 +00:00
Aiden Cline adbb6037ac fix: undefined err 2025-11-20 18:43:58 -06:00
opencode 598d6d00e4 release: v1.0.82
Update Nix Hashes / update (push) Has been cancelled
2025-11-20 22:44:37 +00:00
Aiden Cline cf934357c9 fix: make use openrouter ai sdk package to fix interlevened thinking models 2025-11-20 16:32:44 -06:00
Jay 8063e645c7 docs: Clarify model provider recommendations in README
Updated the README to clarify model provider recommendations.
2025-11-20 17:21:19 -05:00
Aiden Cline 8ab206b443 tweak: navigate to child session if it is asking for permissions 2025-11-20 15:46:49 -06:00
Aiden Cline ec5c96e10d Revert "Image tag fix for real this time (#4540)"
This reverts commit eb975bb89c.
2025-11-20 14:14:02 -06:00
Aiden Cline d2a61290b9 Revert "ignore: write todo"
This reverts commit 5aa2078852.
2025-11-20 14:13:56 -06:00
Aiden Cline 10faf9e717 ignore: fix mdx 2025-11-20 14:07:25 -06:00
Aiden Cline cba239bc8f change default child session cycle keybind to <leader>right, and <leader>left 2025-11-20 14:01:02 -06:00
jian 6f5e3ddfb3 chore: rm empty file (#4552) 2025-11-20 13:33:09 -06:00
GitHub Action d412ba264a chore: format code 2025-11-20 19:17:06 +00:00
Aiden Cline 9780f2b792 docs: update model list 2025-11-20 13:16:27 -06:00
Aiden Cline 5aa2078852 ignore: write todo 2025-11-20 12:35:34 -06:00
shuv eb975bb89c Image tag fix for real this time (#4540)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2025-11-20 12:34:39 -06:00
GitHub Action 9479fe3ce6 chore: format code 2025-11-20 17:35:43 +00:00
William Tan 4393cf8dbe tweak: Prefer VISUAL environment variable over EDITOR per Unix convention (#4549)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2025-11-20 11:27:16 -06:00
opencode 447a4ca8c3 release: v1.0.81
Update Nix Hashes / update (push) Has been cancelled
2025-11-20 17:16:31 +00:00
Aiden Cline 40ac2549ff fix: aur build 2025-11-20 11:04:09 -06:00
cc-bjojac a9c56b813a Make the MAX_OUTPUT_LENGTH in bash.ts overridable by OPENCODE_EXPERIMENTAL_BASH_MAX_OUTPUT_LENGTH (#4497)
Co-authored-by: Björn Jacobs <bjoern.jacobs.ext@bundesanzeiger.de>
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-11-20 10:45:13 -06:00
Haris Gušić b1b73c9deb fix: Autocomplete with existing space after trigger (#4121)
Co-authored-by: GitHub Action <action@github.com>
2025-11-20 10:37:45 -06:00
Aiden Cline 774377330b fix: lockfile 2025-11-20 10:16:34 -06:00
processtrader e7a157ef8f fix: replace ruby-lsp with rubocop for better LSP performance (#4543) 2025-11-20 09:54:47 -06:00
Frank 3989b9fc7f wip: zen 2025-11-20 10:31:35 -05:00
GitHub Action 8bfcdf4831 chore: format code 2025-11-20 14:55:06 +00:00
Frank 3632ba3785 zen: show token breakdown 2025-11-20 09:54:22 -05:00
Albert O'Shea b7b3824d76 nix: update flake.lock as part of the github workflow (#4535)
Co-authored-by: Github Action <action@github.com>
2025-11-20 08:43:13 -06:00
Tommy D. Rossi b12efb2023 fix: do not print ai sdk warnings (#4541)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-20 08:42:24 -06:00
Roberto Gongora bd91cf220c docs: typo in PHP Intelephense documentation (#4545) 2025-11-20 08:41:31 -06:00
Asmae_ELAZRAK 9eb6731c21 docs: add cortecs docs (#4547) 2025-11-20 08:34:04 -06:00
GitHub Action 11373755d9 ignore: update download stats 2025-11-20 2025-11-20 12:04:55 +00:00
Aiden Cline 00b5e9f6ca chore: rm unused code 2025-11-20 00:10:51 -06:00
Aiden Cline 6b3f424e4d tweak: let user name export file 2025-11-19 23:58:40 -06:00
Aiden Cline e7dfeec9c4 fix: make toast wrap 2025-11-19 22:50:27 -06:00
Aiden Cline 97893bd7e6 tweak: make /export go to cwd 2025-11-19 22:45:40 -06:00
Frank bfefdb3752 zen: add gemini icon 2025-11-19 21:14:31 -05:00
Frank 12b79c581e zen: update gemini provider name 2025-11-19 20:58:22 -05:00
Frank ac9b4c7ebf docs: add gemini 3 pricing 2025-11-19 20:50:43 -05:00
GitHub Action 208af232ff chore: format code 2025-11-20 01:27:50 +00:00
opencode 600c6b4973 release: v1.0.80
Update Nix Hashes / update (push) Has been cancelled
2025-11-20 01:27:49 +00:00
Dax Raad 61007a9b94 refactor: switch to Switch/Match pattern for assistant message status rendering 2025-11-19 20:18:15 -05:00
opencode 52fe1a5ac5 release: v1.0.79
Update Nix Hashes / update (push) Has been cancelled
2025-11-20 01:11:20 +00:00
althafdemiandra 468927e06a chore: bump ai-sdk to v5.0.97 (#4518)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2025-11-19 18:44:33 -06:00
Aiden Cline 61562dd9f0 make aur build check if u are glibc system or a musl system (#4519) 2025-11-19 18:36:33 -06:00
Github Action c86dd91310 Update Nix hashes 2025-11-19 23:30:37 +00:00
Sebastian Herrlinger 9c85a37811 bump opentui version to v0.1.47
- fixing cursor issues with some graphemes in textarea
- proper suspend/resume
2025-11-20 00:28:25 +01:00
Aiden Cline 51bba6e634 tweak: default to disabling fetch timeout in provider options 2025-11-19 16:20:29 -06:00
Daniel Polito e1089bc5de Adding LSP: PHP Intelephense (#4504)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2025-11-19 16:01:18 -06:00
Aiden Cline 618c654aa0 ignore: todo fix test case 2025-11-19 15:18:21 -06:00
Iljo 4703e859bd Add YAML language server support (#4508)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2025-11-19 14:47:04 -06:00
Aiden Cline a1dc4ebbe4 ignore: flaky test be a lil less flaky plz 2025-11-19 14:46:06 -06:00
Aiden Cline e4e6096510 ignore: fix hanging test 2025-11-19 14:38:12 -06:00
Aiden Cline c472734933 tweak: make getUsage function handle missing usage data 2025-11-19 14:29:19 -06:00
Aiden Cline 9d068c20bb fix: openrouter ai sdk package support 2025-11-19 14:22:51 -06:00
Aiden Cline 48e4f2f45d tweak: add bun install retries 2025-11-19 13:04:20 -06:00
Aiden Cline bbf4574476 fix: make external_directory permission wildcarding more sane 2025-11-19 12:55:02 -06:00
Adam 8bad513140 Revert "feat(cli): better install script output"
This reverts commit 24bb293136.
2025-11-19 12:44:35 -06:00
Aiden Cline 1ff5d888c2 fix: make bash tool use external_directory perm 2025-11-19 12:31:34 -06:00
Dax Raad 5d25758400 use bash description as task title 2025-11-19 13:23:29 -05:00
Dax 16fdc90976 fix: resolve issue 4475 (#4505) 2025-11-19 13:10:09 -05:00
Aiden Cline 793542230f tweak: bash description 2025-11-19 11:31:12 -06:00
Tommy D. Rossi 9de1242d9b fix: show reasoning summaries for gemini models (#4491)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-19 11:25:18 -06:00
Aiden Cline b3afa84058 Revert "Added subagents to agents modal, non-selectable (#4460)"
This reverts commit 90044196bf.
2025-11-19 11:00:38 -06:00
Aiden Cline 024a10bbb5 ci: auto label nix 2025-11-19 10:51:11 -06:00
Adam bef9ac96e2 fix(web): stats 2025-11-19 10:05:39 -06:00
Adam 24bb293136 feat(cli): better install script output 2025-11-19 09:30:41 -06:00
Adam 45180104fe fix(desktop): message animation 2025-11-19 06:04:20 -06:00
Adam edd86e3fb7 fix(desktop): text part styling 2025-11-19 06:04:20 -06:00
Adam 4a72d57534 fix(desktop): pre styling 2025-11-19 06:04:19 -06:00
Aiden Cline 0068cb305f tweak: toast 2025-11-19 00:51:07 -06:00
opencode-agent[bot] 90044196bf Added subagents to agents modal, non-selectable (#4460)
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2025-11-19 00:40:47 -06:00
Shantur Rathore 963a926db2 allow task tool to have resume capabilities (#4204)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2025-11-19 00:17:26 -06:00
Frank 0d3d48bb59 zen: fix cost in graph 2025-11-18 23:43:26 -05:00
GitHub Action 66eaba4bdc chore: format code 2025-11-19 01:02:57 +00:00
Dax Raad 21b6e5404e feat: add @opencode-ai/util package with utility functions 2025-11-18 20:02:10 -05:00
GitHub Action a0fe59ab75 chore: format code 2025-11-18 23:49:29 +00:00
Aiden Cline 81ebf56cf1 feat: add top level lsp: false and formatter: false to allow disabling all formatters or lsps at once 2025-11-18 17:48:40 -06:00
opencode 429708e3d5 release: v1.0.78
Update Nix Hashes / update (push) Has been cancelled
2025-11-18 23:36:35 +00:00
shuv d50f825c6d fix: pass model info to ReadTool to enable image support check (#4473)
Co-authored-by: GitHub Action <action@github.com>
2025-11-18 17:20:03 -06:00
K Whiteside 47bfae52c0 fix: permission checks for external_directory and doom_loop (#4433)
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
Co-authored-by: AerionDyseti <AerionDyseti@users.noreply.github.com>
2025-11-18 17:18:23 -06:00
Frank 52cf9e3423 wip: zen 2025-11-18 17:42:48 -05:00
GitHub Action a9b6debfa2 chore: format code 2025-11-18 22:24:29 +00:00
Eric Juden d6bf475749 docs: Improving Plugin Documentation - Adding Events (#4438) 2025-11-18 16:23:46 -06:00
opencode f22580e943 release: v1.0.77
Update Nix Hashes / update (push) Has been cancelled
2025-11-18 22:17:39 +00:00
Dax Raad 6d98db57c7 better gemini retry errors 2025-11-18 17:11:29 -05:00
OpeOginni 59f127a250 fix: allow for theme references (#4450) 2025-11-18 14:26:42 -06:00
Adam 3068e7dcf7 fix(desktop): animating too much 2025-11-18 14:24:26 -06:00
GitHub Action f83d62191a chore: format code 2025-11-18 20:23:29 +00:00
Longlone 3b72857124 fix: update reasoningEffort logic for gpt-5.1 models in SessionPrompt-ensureTitle (#4456)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-11-18 14:22:44 -06:00
opencode 68cd105d9d release: v1.0.76
Update Nix Hashes / update (push) Has been cancelled
2025-11-18 20:12:38 +00:00
Aiden Cline e09af2cb4b fix windows bash tool issue 2025-11-18 14:06:45 -06:00
Adam 14bd3b1d30 chore(desktop): remove logging 2025-11-18 13:52:29 -06:00
Adam 3a9c2152f7 fix(desktop): reactivity issue on route change 2025-11-18 13:45:27 -06:00
Frank 7283bfa480 zen: gemini 2025-11-18 14:28:31 -05:00
opencode-agent[bot] 37d5099728 Added opencode agent list command to show all available agents with details. (#4446)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2025-11-18 13:25:53 -06:00
GitHub Action d45fc030b2 chore: format code 2025-11-18 18:35:26 +00:00
Adam c7042c807f fix(desktop): only animate response once 2025-11-18 12:34:34 -06:00
opencode 202f6f1be9 release: v1.0.75
Update Nix Hashes / update (push) Has been cancelled
2025-11-18 18:16:14 +00:00
Dax Raad 759635eefa fix gpt compaction issue 2025-11-18 13:10:00 -05:00
Aiden Cline a9981441ae tweak: use temperature 1 for gemini 3 pro 2025-11-18 11:49:39 -06:00
Adam 71302de4f1 fix(desktop): css typo 2025-11-18 11:40:50 -06:00
Adam 333b8e907b fix(desktop): busy state and reactivity 2025-11-18 11:35:23 -06:00
GitHub Action 13f319b64f chore: format code 2025-11-18 17:16:07 +00:00
opencode b573eadd9e release: v1.0.74
Update Nix Hashes / update (push) Has been cancelled
2025-11-18 17:16:06 +00:00
Dax Raad 50bfff89c0 fix model dialog sorting 2025-11-18 12:10:19 -05:00
Adam fc5fc2c570 wip(desktop): new layout work 2025-11-18 17:07:34 +00:00
Adam 4069999b78 wip(desktop): new layout work 2025-11-18 17:07:34 +00:00
opencode 5ba9b47b3c release: v1.0.73
Update Nix Hashes / update (push) Has been cancelled
2025-11-18 17:07:33 +00:00
Dax Raad 7c0cc94023 rework default model 2025-11-18 12:01:41 -05:00
GitHub Action 3ed1bd2e8e ignore: update download stats 2025-11-18 2025-11-18 12:04:35 +00:00
Aiden Cline ce6436280a ci: ignore update nix hash job 2025-11-18 01:26:30 -06:00
Aiden Cline e49204bd33 ignore: fix snapshot (#4444)
Co-authored-by: opencode <opencode@sst.dev>
2025-11-18 01:22:38 -06:00
Aiden Cline 856c87d05c fix: snapshot? 2025-11-18 01:02:52 -06:00
Aiden Cline de35c3fb84 ci: ignore 2025-11-18 00:53:08 -06:00
Aiden Cline 4359719f9a ignore: format 2025-11-18 00:49:17 -06:00
Albert O'Shea 5e13527416 feat: nix support for the nix folks (#3924)
Co-authored-by: opencode <opencode@sst.dev>
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
2025-11-18 00:46:49 -06:00
Frank aba94c658f wip: zen 2025-11-18 01:27:31 -05:00
opencode-agent[bot] 6e318ba567 Added width constraints to toast component for proper text wrapping. (#4441)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-11-18 00:23:36 -06:00
GitHub Action ddddecf88a chore: format code 2025-11-18 05:46:02 +00:00
Frank 16cb77c094 zen: add usage graph 2025-11-18 00:45:14 -05:00
Jake Nelson a5564f730e feat: add Swift syntax highlighting support (#4434) 2025-11-17 21:53:03 -06:00
GitHub Action a15c97bbfe chore: format code 2025-11-18 03:19:47 +00:00
Aiden Cline a398eed8b8 Revert "Updated scroll_speed to allow any positive number" (#4437) 2025-11-17 21:19:06 -06:00
opencode-agent[bot] a10fd8ca5c Updated scroll_speed to allow any positive number (#4436)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
Co-authored-by: GitHub Action <action@github.com>
2025-11-17 21:18:33 -06:00
opencode ff7513238b release: v1.0.72 2025-11-18 03:03:54 +00:00
GitHub Action af1cd60d3e chore: format code 2025-11-18 02:53:13 +00:00
Aiden Cline c66def2049 fix: noreply 2025-11-17 20:52:25 -06:00
opencode 008ccb4729 release: v1.0.71 2025-11-18 01:59:40 +00:00
Dax Raad bc232045a1 respect server suggestion for default model 2025-11-17 20:53:48 -05:00
GitHub Action 16cab556df chore: format code 2025-11-18 01:27:22 +00:00
Jay V 66148df74b docs: clarify custom tools can execute scripts in any language with Python example 2025-11-17 20:26:27 -05:00
opencode 4611e08f09 release: v1.0.70 2025-11-17 23:45:49 +00:00
Sebastian Herrlinger bf6204f577 upgrade opentui to v0.1.46
- enable bracketed paste (and more) on win
- fix word wrapping with CJK and at wrap/chunk boundaries
- old style meta+arrow
- allow <1 scroll speed for slowdown
2025-11-18 00:22:21 +01:00
Daniel Hofheinz 17cde9feb7 docs: add built-in agents reference to README (#3047)
Co-authored-by: Jay V <air@live.ca>
2025-11-17 17:19:14 -05:00
Aiden Cline 7eccbdc4ac fix /exit 2025-11-17 16:13:41 -06:00
Aiden Cline ab072290fc Revert "fix: system theme background to use 'none' for terminal transparency (#4408)"
This reverts commit f4a4514a9f.
2025-11-17 16:03:27 -06:00
GitHub Action ad9d83748c chore: format code 2025-11-17 21:46:10 +00:00
Aiden Cline 55b57e1aae ci: tweak 2025-11-17 15:45:23 -06:00
Aiden Cline 21b7877beb docs: tweak wording 2025-11-17 21:26:46 +00:00
opencode de50234a1a release: v1.0.69 2025-11-17 21:26:46 +00:00
opencode-agent[bot] d60102ba52 Added /thinking slash command to toggle thinking blocks visibility in OpenTUI. (#4424)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2025-11-17 15:16:35 -06:00
Haris Gušić 066a876f3d docs(contributing): Add "Setting up a Debugger" section (#4421)
Co-authored-by: GitHub Action <action@github.com>
2025-11-17 14:28:06 -06:00
Haris Gušić c07a241ca8 chore: Remove obsolete 'any' type annotation (#4423) 2025-11-17 14:27:43 -06:00
Aiden Cline 0a2fffa9b5 tweak: whitelist 2025-11-17 13:18:13 -06:00
Dax Raad bdfa213ccf deprecated session.idle event 2025-11-17 11:42:45 -05:00
Aiden Cline 7f0b2ce1ac Reapply "fix: system theme background to use 'none' for terminal transparency" (#4415)
This reverts commit a5365ce294.
2025-11-17 10:39:53 -06:00
Dax Raad 0a2d7af179 core: honor retry-after values exceeding 10 minutes instead of discarding them 2025-11-17 11:33:28 -05:00
Dax Raad 37652f48fb ignore 2025-11-17 11:32:07 -05:00
Dax Raad 8b19c6c7e4 better retry display 2025-11-17 11:31:10 -05:00
Aiden Cline a5365ce294 Revert "fix: system theme background to use 'none' for terminal transparency" (#4415) 2025-11-17 10:24:20 -06:00
Jensen f4a4514a9f fix: system theme background to use 'none' for terminal transparency (#4408) 2025-11-17 10:22:31 -06:00
opencode-agent[bot] 154006469c Updated help dialog to use dynamic keybind (#4414)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-11-17 10:18:59 -06:00
Dax a1214fff2e Refactor agent loop (#4412) 2025-11-17 10:57:18 -05:00
GitHub Action 9fd43ec616 ignore: update download stats 2025-11-17 2025-11-17 12:04:41 +00:00
Luke Parker 5731c268b6 fix: Line count on win (#4401) 2025-11-17 01:08:22 -06:00
Keath Milligan f4d892d4e1 fix: handle Git Bash path mapping on windows (#4380) 2025-11-17 01:06:44 -06:00
Aiden Cline 10b3702938 chore: update type 2025-11-17 00:07:23 -06:00
Tyler Gannon e96442310c chore: replace z.union with z.enum for cleaner OpenAPI generation (#4394) 2025-11-17 00:06:40 -06:00
Spoon 5c722bf8c4 fix(batch): simple UX feedback (#4396) 2025-11-17 00:02:05 -06:00
Youssef Achy 58cc5cdf2a add support for azure cognitive services provider (#4397) 2025-11-17 00:01:45 -06:00
opencode-agent[bot] 3c6dcad2af Fixed OPENCODE_CONFIG_DIR to load config files. (#4400)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-11-16 23:48:36 -06:00
Jay 2535f9febf docs: Add clarification for projects using 'opencode' name
Added a section to clarify the affiliation of related projects.
2025-11-16 20:51:41 -05:00
Aiden Cline 25678fa504 fix: vercel gateway options 2025-11-16 18:39:31 -06:00
Sebastian Herrlinger d7f4f3ec1f bump opentui version to 0.1.45, fixing highlighting on windows 2025-11-16 23:56:11 +01:00
Aiden Cline 16ccb39459 docs: permissions 2025-11-16 16:40:48 -06:00
Aiden Cline f8630fb188 ignore: rm 2025-11-16 16:32:04 -06:00
Baptiste Cavallo 72e604744d fix(batch): restore per-tool UI feedback + UX improvements (#4387) 2025-11-16 16:31:41 -06:00
opencode-agent[bot] 832be6e7eb Added copy option to message context menu (#4389)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
Co-authored-by: GitHub Action <action@github.com>
2025-11-16 15:35:05 -06:00
opencode 8ba48ed71d release: v1.0.68 2025-11-16 20:38:48 +00:00
Aiden Cline cf266f6162 fix: promptCacheKey set unnecessarily 2025-11-16 14:32:57 -06:00
GitHub Action 1e6589526d ignore: update download stats 2025-11-16 2025-11-16 12:04:11 +00:00
Frank f6b3ffaf64 wip: zen 2025-11-16 03:32:13 -05:00
GitHub Action 5d765d63d4 chore: format code 2025-11-16 08:30:36 +00:00
Frank 0e12dd62a3 zen: usage paging 2025-11-16 03:29:52 -05:00
opencode 2b957b5d1c release: v1.0.67 2025-11-16 07:49:52 +00:00
GitHub Action 31c7a0157c chore: format code 2025-11-16 07:44:06 +00:00
Aiden Cline e728b94bca fix: panic when theme has 'none' 2025-11-16 01:43:23 -06:00
opencode 49040c0130 release: v1.0.66 2025-11-16 07:27:25 +00:00
Aiden Cline 0d05238ee6 fix: initial val 2025-11-16 01:14:49 -06:00
Aiden Cline 9b8a7da1e6 fix: history jsonl file corruption cases (#4364) 2025-11-16 00:50:13 -06:00
Zeno Jiricek 61fd21182c docs: mise installation command (#2938) 2025-11-15 21:44:28 -06:00
GitHub Action 487c2b5e76 chore: format code 2025-11-16 03:38:13 +00:00
xiaojie.zj 0e4703b227 add: add zenmux doc and header (#3597)
Co-authored-by: xiaojie.zj <xiaojie.zj@antgroup.com>
2025-11-15 21:37:30 -06:00
Alvin Johansson 84e0232bd5 Add Flexoki theme (#3986) 2025-11-15 21:28:13 -06:00
Luke Parker 35fbb011b2 fix: Diff view now ignores line endings changes/windows autocrlf (#4356) 2025-11-15 21:18:39 -06:00
Aiden Cline 6527a123f0 fix aur build (#4359) 2025-11-15 20:16:19 -06:00
Aiden Cline 0377cfd37c fix: omit ref for todo tool 2025-11-15 19:19:36 -06:00
Aiden Cline edc933d816 tweak: make zod error more prompty 2025-11-15 13:19:24 -06:00
GitHub Action 0d608f6014 ignore: update download stats 2025-11-15 2025-11-15 12:04:09 +00:00
Chris Olszewski 69a45ef7d7 fix: snapshot history when running from git worktrees (#4312) 2025-11-15 01:02:00 -06:00
Baptiste Cavallo 1056b36eae experimental batch tool (#2983)
Co-authored-by: GitHub Action <action@github.com>
2025-11-15 00:54:36 -06:00
Aiden Cline 35c737ac68 tweak: only show dropdown for 3+ items (#4345) 2025-11-14 23:45:48 -06:00
Abílio Costa 725a2c2e95 docs: clarify that config files are merged, not replaced (#4342)
Co-authored-by: Claude <noreply@anthropic.com>
2025-11-14 17:49:47 -06:00
Tyler Gannon c724d2392f fix: replace union type with enum "true"/"false" in /find/file endpoint (#4338) 2025-11-14 17:48:23 -06:00
Frank f5230d1f02 fix: incorrect sonnet price calculation 2025-11-14 18:46:43 -05:00
GitHub Action 078111bd96 chore: format code 2025-11-14 22:44:36 +00:00
sredfern 736f8882f5 fix(provider): support local file paths for custom providers (#4323) 2025-11-14 16:43:59 -06:00
Brian Cheung 37cf365927 feat: support images in mcp tool responses (#4100)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-11-14 15:00:52 -06:00
Aiden Cline b939470302 fix: add azure exclusion 2025-11-14 11:54:00 -06:00
Aiden Cline ef4b2baedc set verbosity to low for gpt-5.1 (match codex) 2025-11-14 11:52:29 -06:00
Dax Raad 64d28ea457 fix sdk types 2025-11-14 12:42:46 -05:00
Dax Raad 2520780846 fix sdk types 2025-11-14 12:42:46 -05:00
Shantur Rathore 986c60353e set promptCacheKey for openai compatible providers (#4203)
Co-authored-by: GitHub Action <action@github.com>
2025-11-14 11:41:01 -06:00
Dax Raad 5fc26c958a add global.event.subscribe() to sdk 2025-11-14 12:32:43 -05:00
Frank c1cf9cda6a doc: add baseten provider 2025-11-14 12:19:58 -05:00
GitHub Action 10d376eab2 ignore: update download stats 2025-11-14 2025-11-14 12:04:48 +00:00
Frank 53fc8a861b zen: add gpt-5-nano model 2025-11-14 00:59:42 -05:00
Frank 1d8330331c zen: use gpt-5-nano as small model 2025-11-14 00:59:00 -05:00
Frank 7a03c7fe38 zen: add gpt5.1 to docs 2025-11-13 23:47:38 -05:00
Frank 09bd32169c zen: hide alpha models 2025-11-13 23:10:06 -05:00
Dax Raad 7ec32f834e improve read tool end-of-file detection to prevent infinite loops 2025-11-13 21:41:06 -05:00
GitHub Action 205492c7e8 chore: format code 2025-11-14 01:16:58 +00:00
Aiden Cline 4c2e888709 no mr llm, you may not read that 2025-11-13 19:16:07 -06:00
opencode c78fd097d1 release: v1.0.65 2025-11-14 00:10:30 +00:00
Dax Raad 340966195b handle config errors gracefully 2025-11-13 18:59:09 -05:00
GitHub Action 92604b391b chore: format code 2025-11-13 22:39:53 +00:00
Aiden Cline 0c51feb9c2 fix: max tokens when using models like opus with providers other than anthropic (#4307) 2025-11-13 16:39:09 -06:00
opencode d0b4169a6b release: v1.0.64 2025-11-13 22:12:44 +00:00
Aiden Cline 1fc6c6fb2a fix: typeerror case 2025-11-13 15:51:23 -06:00
Adam 14f9b95557 fix(desktop): default theme 2025-11-13 15:26:36 -06:00
GitHub Action d3bf1fa1fa chore: format code 2025-11-13 20:48:10 +00:00
Adam a8836c5615 wip(desktop): layout improvements 2025-11-13 14:47:29 -06:00
Aiden Cline 779a27693a fix: opencode run timeout 2025-11-13 14:27:33 -06:00
GitHub Action 829d86840a chore: format code 2025-11-13 19:42:31 +00:00
Valerio Di Maggio e225294dd4 Fix: unreadable texts in light mode (#4301) 2025-11-13 13:41:56 -06:00
opencode a673e3650d release: v1.0.63 2025-11-13 19:00:14 +00:00
Aiden Cline ff462dfd7a fix: windows install (#4293)
Co-authored-by: GitHub Action <action@github.com>
2025-11-13 12:22:07 -06:00
Luke Parker 73443585e5 fix: resolve bun/pnpm global install failures on Windows (#4275)
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2025-11-13 10:38:57 -06:00
Tommy D. Rossi 609ab069a9 Add scroll acceleration support to TUI (#4289) 2025-11-13 17:02:10 +01:00
GitHub Action ec3579d7cb ignore: update download stats 2025-11-13 2025-11-13 12:04:32 +00:00
Aiden Cline f80a3fea31 fixes 2025-11-12 22:05:07 -06:00
Luke Parker 43a8d1b1ae fix: Enable Windows builds and fix bun+pnpm install on Windows (#4273) 2025-11-12 21:57:44 -06:00
Aiden Cline 09fa84ccfc fix: dirty check 2025-11-12 19:03:46 -06:00
GitHub Action b981f0a205 chore: format code 2025-11-13 00:53:22 +00:00
Aiden Cline 767038afc3 ci: update zed sync 2025-11-12 18:52:39 -06:00
opencode a7774115c5 release: v1.0.62 2025-11-13 00:13:18 +00:00
Luke Parker 288bc88e40 fix: Tool calling on windows (#4234) 2025-11-12 17:47:39 -06:00
Aiden Cline 6d36dbf9de fix: github action dirty check (#4262) 2025-11-12 16:16:07 -06:00
OpeOginni 4ab4baf3a4 feat(sidebar): add expandable sections for sidebar (#4132)
Co-authored-by: GitHub Action <action@github.com>
2025-11-12 16:15:17 -06:00
phantomreactor 90f05eb9c2 paste images in wsl using ctrl+v (#4123)
Co-authored-by: GitHub Action <action@github.com>
2025-11-12 15:10:23 -06:00
Melih Mucuk b63b6d04c6 Fix usage & billing for custom model aliases and cached/reasoning tokens (#4222)
Co-authored-by: Melih Mucuk <melih@monkeysteam.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2025-11-12 13:59:35 -06:00
Aiden Cline 8addaa7e08 fix: custom model name merging 2025-11-12 13:55:13 -06:00
Elias a96bf8e62d docs: OVHcloud AI Endpoints provider (#4257) 2025-11-12 13:28:35 -06:00
Ivan c8bda598f5 fix: correct cache cost for OpenRouter and other OpenAI-compatible providers (#4256) 2025-11-12 12:41:44 -06:00
Adam c857cff585 fix(desktop): double listing dir 2025-11-12 12:17:54 -06:00
Aiden Cline fd9d2db755 ci: update zed sync 2025-11-12 10:52:20 -06:00
Aiden Cline b19fd14f80 ignore: make issue button send opencode version too 2025-11-12 10:40:48 -06:00
Sebastian Herrlinger a0f469095c upgrade opentui to 0.1.42, fixing some CJK/grapheme issues with prompt extmarks and char corruption 2025-11-12 15:35:16 +01:00
Adam 0ccb26df94 feat(desktop): sticky diff headers 2025-11-12 07:03:39 -06:00
Adam 71fd5966ad fix(desktop): styling tweaks 2025-11-12 07:03:38 -06:00
GitHub Action c02230de4f ignore: update download stats 2025-11-12 2025-11-12 12:05:15 +00:00
Filip aa2e2c76c0 fix: clangd hanging fixed (#3611)
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
Co-authored-by: GitHub Action <action@github.com>
2025-11-12 00:21:55 -06:00
opencode 7c2d4ee79a release: v1.0.61 2025-11-12 03:10:55 +00:00
Dax Raad e3a2728fa3 tui: add double-esc interrupt mechanism for long-running operations
Users can now press escape twice within 5 seconds to interrupt long-running
operations in the TUI. The first press shows a visual hint, and the second
press aborts the current session.
2025-11-11 22:04:00 -05:00
Boston Cartwright 18260b037b feat: add SourceKit LSP support (#1545)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2025-11-11 20:51:33 -06:00
Dax Raad ad83dd3ad9 tui: fix autocomplete display to prevent long file paths from breaking layout 2025-11-12 02:36:43 +00:00
opencode 6f37315cd1 release: v1.0.60 2025-11-12 02:36:42 +00:00
Dax d81dce6a82 fix: add support for loading custom themes from .opencode/themes directory (#4229)
Co-authored-by: GitHub Action <action@github.com>
2025-11-11 21:30:38 -05:00
opencode 0bd11e970b release: v1.0.59 2025-11-12 02:07:41 +00:00
Dax Raad 7e29e1dd23 better errors on initial tui boot 2025-11-11 21:01:45 -05:00
Rafał Krzyważnia 491a2adf8d fix: resolve @file references in slash commands with subagents (#4221) 2025-11-11 19:38:50 -06:00
Aiden Cline c07d6487a8 fix config ordering (#4228) 2025-11-11 19:27:34 -06:00
Aiden Cline 9990e84d37 fix: ensure revert dialog moves that prompt to input box (#4227) 2025-11-11 19:08:59 -06:00
Aiden Cline 0b86adbe99 feat: agent color cfg (#4226)
Co-authored-by: 0xrin <0xrin1@protonmail.com>
Co-authored-by: GitHub Action <action@github.com>
2025-11-11 18:32:44 -06:00
Frank 834a2c09d5 wip: poc pr command 2025-11-11 18:50:28 -05:00
Frank f13c17e654 wip: poc pr command 2025-11-11 18:50:28 -05:00
Julian LaNeve a0611d92e4 docs: Update config references to latest Sonnet & Haiku models (#4210) 2025-11-11 16:52:45 -06:00
Aiden Cline 0b001c3e80 tweak: make todos appear list of modified files 2025-11-11 16:05:23 -06:00
Sebastian Herrlinger 53b7cb62c4 upgrade opentui to 0.1.41:
- enables modifyOtherKeys to get CSI u sequences in terminals that support it
- uses Private Mode 2026 for synced rendering to fix cursor flickering in terminals like iTerm2
- lazy highlighting for code renderables (perf)
- linear scroll acceleration by default
- align textarea default bindings more with readline
- fix vertical cursor movement in textarea
- introduce stdin buffer to handle chunked sequences
- improve capability detection (async)
- renderer emits focus/blur events when app is focused/blurred (if supported by terminal)
2025-11-11 23:00:31 +01:00
Aiden Cline c5e096c76a fix: costs being 0 when using custom model id overrides (#4219) 2025-11-11 15:58:14 -06:00
Aiden Cline e1fc4a756b Hide /share if disabled (#4215) 2025-11-11 14:47:39 -06:00
Aiden Cline e5bc4cbbcf ci: update changelog script 2025-11-11 14:27:13 -06:00
GitHub Action 459d5ec19b chore: format code 2025-11-11 20:21:00 +00:00
Aiden Cline 8baa222621 ci: update script 2025-11-11 14:20:19 -06:00
Dax Raad ce1397cc34 core: add test to verify OpenCode doesn't crash when starting in git repositories with no commit history 2025-11-11 20:17:36 +00:00
Ron Suhodrev dc7c5ced4c tui: restore full text when editing prompts with summarized content (#4030) 2025-11-11 20:17:36 +00:00
Corwin Marsh b8e8fe7e31 docs: Update dead Context7 mcp server link (#4207)
Co-authored-by: Corwin Marsh <corwinm@users.noreply.github.com>
2025-11-11 20:17:36 +00:00
opencode 890085758f release: v1.0.58 2025-11-11 20:17:36 +00:00
Dax Raad 85f15893bc core: prevent crash when starting in repositories without any commits yet 2025-11-11 15:11:42 -05:00
Adam 98be75b17c fix(desktop): give review pane more width 2025-11-11 13:02:59 -06:00
GitHub Action b5cc27b8ea chore: format code 2025-11-11 18:38:23 +00:00
Frank 05937b52cc chore: format code 2025-11-11 13:37:36 -05:00
GitHub Action 62b82570e1 chore: format code 2025-11-11 17:34:09 +00:00
Dax Raad 4bf75c0b44 core: remove unused experimental flags for turn summary and no-bootstrap to simplify feature flag management 2025-11-11 12:33:26 -05:00
opencode a8a06c4983 release: v1.0.57 2025-11-11 17:30:26 +00:00
Dax Raad b0b7fd143b tui: show LSP diagnostics inline when viewing files so users can see type errors and compilation issues without leaving the interface 2025-11-11 12:15:40 -05:00
GitHub Action 140498eb4f chore: format code 2025-11-11 16:59:37 +00:00
Haris Gušić ca5126e24d fix: TUI spawn: reset BUN_OPTIONS (#3606) 2025-11-11 10:58:59 -06:00
Josiah Witt fb2b3e567c docs: update keymap.json bindings for OpenCode command (#4192) 2025-11-11 10:48:10 -06:00
Adam c672a1963b fix(desktop): prompt clearing inconsistent 2025-11-11 09:35:08 -06:00
Adam 54bff6b120 fix(desktop): code/diff number container width 2025-11-11 09:22:35 -06:00
Adam ab3f198fab fix(desktop): session show more hidden on new session 2025-11-11 09:11:34 -06:00
Adam 0057ef6336 fix(desktop): prompt input not clearing, attachments flaky 2025-11-11 09:01:28 -06:00
Adam 4f604b3839 fix(desktop): color grouping 2025-11-11 09:01:27 -06:00
GitHub Action a20489584e ignore: update download stats 2025-11-11 2025-11-11 12:04:42 +00:00
Dax Raad a6b066bd47 ci 2025-11-11 02:15:33 -05:00
Dax Raad 37fdcac05a ci 2025-11-11 02:13:26 -05:00
Dax Raad 299bf1dca8 ci 2025-11-11 01:59:10 -05:00
Dax Raad d685aa38ef type checks 2025-11-11 01:56:01 -05:00
Dax Raad 995b23787c ci 2025-11-11 01:48:29 -05:00
Dax Raad ed8e663e13 ignore 2025-11-11 01:41:58 -05:00
Dax Raad 38cee3b848 ci: sync 2025-11-11 01:37:10 -05:00
Dax Raad 6d116d4b54 ci: fix 2025-11-11 01:35:50 -05:00
Aiden Cline 7c4f111b34 ignore: run bun i 2025-11-11 00:34:09 -06:00
Dax Raad f2fac29270 ci 2025-11-11 01:33:02 -05:00
Dax Raad 12892f0e12 ci: improve bun caching to invalidate when bun version changes in package.json 2025-11-11 01:31:24 -05:00
GitHub Action 9714a3558e chore: format code 2025-11-11 06:28:19 +00:00
Dax Raad e49a1d1f39 ci: fix 2025-11-11 01:27:39 -05:00
Dax Raad 528565510d sync 2025-11-11 01:25:39 -05:00
GitHub Action 36cfda933d chore: format code 2025-11-11 06:24:58 +00:00
Dax Raad ecf5040966 tui: update @opentui/core to v0.1.39 and fix build script for new target format 2025-11-11 01:24:17 -05:00
Frank 7d56603c26 zen: failover on error 2025-11-11 00:29:44 -05:00
Aiden Cline 02b7cc8313 keep session dot in list for current active (#4185) 2025-11-10 22:20:35 -06:00
Dax Raad c9a52c9a85 cache project id in root git folder 2025-11-10 21:57:55 -05:00
Dax Raad dea668b0ea tui: help users read thinking blocks and trust todo syncs 2025-11-10 20:34:04 -05:00
Aiden Cline 1bc3e92376 fix: undefined check 2025-11-10 19:21:57 -06:00
Dax Raad 3f5acc3dff add web and codesearch tools 2025-11-10 16:39:54 -05:00
Aiden Cline 0588011476 ignore: bump copilot plugin version 2025-11-10 13:40:15 -06:00
OpeOginni bba72c82ae Fix/google vertex configs (#4169)
Co-authored-by: GitHub Action <action@github.com>
2025-11-10 13:25:03 -06:00
denesbeck e95181a551 Refactor/redundant toast comp (#4163)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-11-10 11:27:19 -06:00
GitHub Action 74e8c2e50f chore: format code 2025-11-10 17:19:20 +00:00
David Hill cdabafa264 wip code theme inc light 2025-11-10 17:18:37 +00:00
denesbeck 0a92af60a0 fix: upgrade toast notification (#4159) 2025-11-10 10:28:28 -06:00
David Hill c7808a4b01 wip code theme 2025-11-10 16:16:50 +00:00
David Hill 7f978e07ff wip code theme 2025-11-10 16:14:24 +00:00
David Hill a4ae1bb9eb wip code theme 2025-11-10 16:00:05 +00:00
David Hill 96a39803cc wip code theme 2025-11-10 15:58:56 +00:00
GitHub Action 16f8f20b31 chore: format code 2025-11-10 14:51:24 +00:00
David Hill 06b1684ddb wip code editor update dark mode 2025-11-10 14:50:36 +00:00
David Hill c6e830c954 Merge branch 'dev' of https://github.com/sst/opencode into dev 2025-11-10 13:44:12 +00:00
GitHub Action fc78c28df6 ignore: update download stats 2025-11-10 2025-11-10 12:04:53 +00:00
opencode 930a1bf358 release: v1.0.55 2025-11-10 06:47:55 +00:00
GitHub Action 6cf7f18cc9 chore: format code 2025-11-10 06:41:40 +00:00
Aiden Cline 3f59570ee6 fix: add null check 2025-11-10 00:40:42 -06:00
GitHub Action 304e956b5d chore: format code 2025-11-10 06:00:38 +00:00
Wankong 538eaa42aa docs: format installation commands for madkrown code block (#4151)
Co-authored-by: GitHub Action <action@github.com>
2025-11-09 23:59:57 -06:00
opencode 67c41fd389 release: v1.0.54 2025-11-10 05:50:33 +00:00
GitHub Action 83ea19770a chore: format code 2025-11-10 05:44:26 +00:00
Dax Raad 3ace8543b2 tui: auto-scroll to bottom when switching between sessions 2025-11-10 00:43:48 -05:00
opencode eb855e1e31 release: v1.0.53 2025-11-10 05:42:55 +00:00
Dax Raad 5e53f054c6 make reasoning parts less ugly 2025-11-10 00:37:35 -05:00
Dax Raad 5d5e184329 tui: improve session UI with better sidebar toggle and message handling 2025-11-10 00:21:31 -05:00
Dax Raad 2fbb49ac30 tui: render reasoning parts with syntax highlighting instead of plain text 2025-11-10 00:08:05 -05:00
Dax Raad c56b407e1d tui: display 'Free' badge for zero-cost models in model selection dialog 2025-11-09 23:56:24 -05:00
lenstr bdaa0e8b8c fix: --model flag being ignored in TUI mode (#4147) 2025-11-09 20:21:52 -06:00
Aiden Cline 4e549b1c05 fix: allow user to configure doom loop & external dir perms (#4095) 2025-11-09 20:21:38 -06:00
Aiden Cline 7be8e16c33 ci: sync zed 2025-11-09 13:54:14 -06:00
Frank d1588f93a1 doc: add big pickle to doc 2025-11-09 14:12:54 -05:00
Aiden Cline 576696a370 ci: update description 2025-11-09 13:09:52 -06:00
Aiden Cline 2c6f9043e8 ci: fix 2025-11-09 13:06:32 -06:00
Aiden Cline 9f771ef0ae ci: fix 2025-11-09 13:05:51 -06:00
Aiden Cline 356715f67d ci: fix regex 2025-11-09 13:03:10 -06:00
Aiden Cline 540421267a fix 2025-11-09 12:56:17 -06:00
Aiden Cline e253398936 ci: ignore 2025-11-09 12:54:59 -06:00
Aiden Cline ee87e1f139 ci: ignore 2025-11-09 12:54:22 -06:00
Aiden Cline 8887616457 ci: sync zed 2025-11-09 12:47:36 -06:00
Aiden Cline 905c034885 ci: zed sync 2025-11-09 12:00:08 -06:00
Aiden Cline 92f7c4943f ci: zed sync 2025-11-09 11:59:00 -06:00
Aiden Cline 10bde356b1 chore: rm comment 2025-11-09 11:50:02 -06:00
Aiden Cline f7cc46cd9f set cap for max time to wait between retries (#4135)
Co-authored-by: GitHub Action <action@github.com>
2025-11-09 11:46:58 -06:00
Mathias Beugnon d9ffe07391 fix: messageID type in chat.message (#4128)
Co-authored-by: GitHub Action <action@github.com>
2025-11-09 09:39:50 -06:00
GitHub Action c0702ed8bd ignore: update download stats 2025-11-09 2025-11-09 12:04:16 +00:00
opencode b927b9dca6 release: v1.0.51
sync-zed-extension / Release Zed Extension (push) Has been cancelled
2025-11-09 06:46:42 +00:00
Dax Raad 4b7231be68 fix race condition 2025-11-09 01:41:49 -05:00
GitHub Action 70a6fe96ea chore: format code 2025-11-09 06:01:58 +00:00
Aiden Cline 6e5971dff2 ci: update sync zed 2025-11-09 00:01:13 -06:00
opencode d48d6b3577 release: v1.0.50
/ Release Zed Extension (push) Has been cancelled
2025-11-09 05:53:26 +00:00
Aiden Cline 4b1668c3ef Revert "tui: display 'Free' badge for zero-cost models in model selection dialog"
This reverts commit ce9b758d0a.
2025-11-08 23:48:18 -06:00
Mathias Beugnon d85eb1b880 feat: add input context to chat.params and chat.message (#4085) 2025-11-08 23:29:27 -06:00
Ivan Starkov 9637d70407 fix: UI Freezes for a few minutes if repo has binary files (#4109) 2025-11-08 23:28:09 -06:00
Aiden Cline cfbbdc2e14 ci: add job to sync zed extension 2025-11-08 23:23:43 -06:00
GitHub Action feb65201f6 chore: format code 2025-11-09 01:58:05 +00:00
opencode f1f07a56d8 release: v1.0.49 2025-11-09 01:58:04 +00:00
Dax Raad 0fe313bd87 tui: fix continue session navigation to wait for sync completion before redirecting
Previously, the continue session navigation would immediately try to redirect
to the most recent session before the sync data was fully loaded, causing
navigation to fail. Now it waits for sync status to be complete before
attempting the redirect, ensuring the session data is available.
2025-11-08 20:53:18 -05:00
David Hill 7088bfabd7 Merge branch 'dev' of https://github.com/sst/opencode into dev 2025-11-04 21:36:46 +00:00
David Hill dbdbfb8543 Update button.css 2025-11-04 17:31:56 +00:00
David Hill 521803aaa3 Update theme.css 2025-11-04 17:31:51 +00:00
2377 changed files with 81392 additions and 54489 deletions
+2 -2
View File
@@ -13,9 +13,9 @@ runs:
uses: actions/cache@v4
with:
path: ~/.bun
key: ${{ runner.os }}-bun-${{ hashFiles('bun.lockb', 'bun.lock') }}
key: ${{ runner.os }}-bun-${{ hashFiles('package.json') }}-${{ hashFiles('bun.lockb', 'bun.lock') }}
restore-keys: |
${{ runner.os }}-bun-
${{ runner.os }}-bun-${{ hashFiles('package.json') }}-
- name: Install dependencies
run: bun install
-55
View File
@@ -1,55 +0,0 @@
name: Auto-label TUI Issues
on:
issues:
types: [opened]
jobs:
auto-label:
runs-on: ubuntu-latest
permissions:
contents: read
issues: write
steps:
- name: Auto-label and assign issues
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const issue = context.payload.issue;
const title = issue.title;
const description = issue.body || '';
// Check for "opencode web" keyword
const webPattern = /(opencode web)/i;
const isWebRelated = webPattern.test(title) || webPattern.test(description);
// Check for version patterns like v1.0.x or 1.0.x
const versionPattern = /[v]?1\.0\./i;
const isVersionRelated = versionPattern.test(title) || versionPattern.test(description);
if (isWebRelated) {
// Add web label
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issue.number,
labels: ['web']
});
// Assign to adamdotdevin
await github.rest.issues.addAssignees({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issue.number,
assignees: ['adamdotdevin']
});
} else if (isVersionRelated) {
// Only add opentui if NOT web-related
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issue.number,
labels: ['opentui']
});
}
+5 -1
View File
@@ -11,12 +11,16 @@ concurrency: ${{ github.workflow }}-${{ github.ref }}
jobs:
deploy:
runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/setup-bun
- uses: actions/setup-node@v4
with:
node-version: "24"
- run: bun sst deploy --stage=${{ github.ref_name }}
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
+10 -5
View File
@@ -6,7 +6,7 @@ on:
jobs:
check-duplicates:
runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
permissions:
contents: read
issues: write
@@ -16,23 +16,25 @@ jobs:
with:
fetch-depth: 1
- uses: ./.github/actions/setup-bun
- name: Install opencode
run: curl -fsSL https://opencode.ai/install | bash
- name: Check for duplicate issues
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
OPENCODE_PERMISSION: |
{
"bash": {
"gh issue*": "allow",
"*": "deny"
},
"*": "deny"
},
"webfetch": "deny"
}
run: |
opencode run -m anthropic/claude-sonnet-4-20250514 "A new issue has been created:'
opencode run -m opencode/claude-haiku-4-5 "A new issue has been created:'
Issue number:
${{ github.event.issue.number }}
@@ -55,4 +57,7 @@ jobs:
Feel free to ignore if none of these address your specific case.'
Additionally, if the issue mentions keybinds, keyboard shortcuts, or key bindings, please add a comment mentioning the pinned keybinds issue #4997:
'For keybind-related issues, please also check our pinned keybinds documentation: #4997'
If no clear duplicates are found, do not comment."
-29
View File
@@ -1,29 +0,0 @@
name: format
on:
push:
branches-ignore:
- production
pull_request:
branches-ignore:
- production
workflow_dispatch:
jobs:
format:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Bun
uses: ./.github/actions/setup-bun
- name: run
run: |
./script/format.ts
env:
CI: true
+38
View File
@@ -0,0 +1,38 @@
name: generate
on:
push:
branches-ignore:
- production
pull_request:
branches-ignore:
- production
workflow_dispatch:
jobs:
generate:
runs-on: blacksmith-4vcpu-ubuntu-2404
permissions:
contents: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
repository: ${{ github.event.pull_request.head.repo.full_name || github.repository }}
ref: ${{ github.event.pull_request.head.ref || github.ref_name }}
- name: Setup Bun
uses: ./.github/actions/setup-bun
- name: Generate SDK
run: |
bun ./packages/sdk/js/script/build.ts
(cd packages/opencode && bun dev generate > ../sdk/openapi.json)
bun x prettier --write packages/sdk/openapi.json
- name: Format
run: ./script/format.ts
env:
CI: true
PUSH_BRANCH: ${{ github.event.pull_request.head.ref || github.ref_name }}
-53
View File
@@ -1,53 +0,0 @@
name: Guidelines Check
on:
# Disabled - uncomment to re-enable
# pull_request_target:
# types: [opened, synchronize]
jobs:
check-guidelines:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Install opencode
run: curl -fsSL https://opencode.ai/install | bash
- name: Check PR guidelines compliance
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
OPENCODE_PERMISSION: '{ "bash": { "gh*": "allow", "gh pr review*": "deny", "*": "deny" } }'
run: |
opencode run -m anthropic/claude-sonnet-4-20250514 "A new pull request has been created: '${{ github.event.pull_request.title }}'
<pr-number>
${{ github.event.pull_request.number }}
</pr-number>
<pr-description>
${{ github.event.pull_request.body }}
</pr-description>
Please check all the code changes in this pull request against the guidelines in AGENTS.md file in this repository. Diffs are important but make sure you read the entire file to get proper context. Make it clear the suggestions are merely suggestions and the human can decide what to do
Use the gh cli to create comments on the files for the violations. Try to leave the comment on the exact line number. If you have a suggested fix include it in a suggestion code block.
Command MUST be like this.
```
gh api \
--method POST \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}/comments \
-f 'body=[summary of issue]' -f 'commit_id=${{ github.event.pull_request.head.sha }}' -f 'path=[path-to-file]' -F "line=[line]" -f 'side=RIGHT'
```
Only create comments for actual violations. If the code follows all guidelines, don't run any gh commands."
+2 -2
View File
@@ -2,11 +2,11 @@ name: discord
on:
release:
types: [published] # fires only when a release is published
types: [released] # fires when a draft release is published
jobs:
notify:
runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
steps:
- name: Send nicely-formatted embed to Discord
uses: SethCohen/github-releases-to-discord@v1
+7 -2
View File
@@ -3,6 +3,8 @@ name: opencode
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
jobs:
opencode:
@@ -11,7 +13,7 @@ jobs:
startsWith(github.event.comment.body, '/oc') ||
contains(github.event.comment.body, ' /opencode') ||
startsWith(github.event.comment.body, '/opencode')
runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
permissions:
id-token: write
contents: read
@@ -21,9 +23,12 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4
- uses: ./.github/actions/setup-bun
- name: Run opencode
uses: sst/opencode/github@latest
env:
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
OPENCODE_PERMISSION: '{"bash": "deny"}'
with:
model: opencode/glm-4.6
model: opencode/claude-opus-4-5
+1 -1
View File
@@ -14,7 +14,7 @@ permissions:
jobs:
publish:
runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
steps:
- uses: actions/checkout@v3
with:
+1 -1
View File
@@ -13,7 +13,7 @@ permissions:
jobs:
publish:
runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
steps:
- uses: actions/checkout@v3
with:
+160 -17
View File
@@ -2,11 +2,15 @@ name: publish
run-name: "${{ format('release {0}', inputs.bump) }}"
on:
push:
branches:
- dev
- snapshot-*
workflow_dispatch:
inputs:
bump:
description: "Bump major, minor, or patch"
required: true
required: false
type: choice
options:
- major
@@ -17,15 +21,17 @@ on:
required: false
type: string
concurrency: ${{ github.workflow }}-${{ github.ref }}
concurrency: ${{ github.workflow }}-${{ github.ref }}-${{ inputs.version || inputs.bump }}
permissions:
id-token: write
contents: write
packages: write
jobs:
publish:
runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
if: github.repository == 'sst/opencode'
steps:
- uses: actions/checkout@v3
with:
@@ -33,20 +39,13 @@ jobs:
- run: git fetch --force --tags
- uses: actions/setup-go@v5
with:
go-version: ">=1.24.0"
cache: true
cache-dependency-path: go.sum
- uses: ./.github/actions/setup-bun
- name: Install makepkg
- name: Setup SSH for AUR
if: inputs.bump || inputs.version
run: |
sudo apt-get update
sudo apt-get install -y pacman-package-manager
- name: Setup SSH for AUR
run: |
mkdir -p ~/.ssh
echo "${{ secrets.AUR_KEY }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
@@ -55,15 +54,107 @@ jobs:
ssh-keyscan -H aur.archlinux.org >> ~/.ssh/known_hosts || true
- name: Install OpenCode
run: curl -fsSL https://opencode.ai/install | bash
if: inputs.bump || inputs.version
run: bun i -g opencode-ai@1.0.143
- name: Setup npm auth
run: |
echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- uses: actions/setup-node@v4
with:
node-version: "24"
registry-url: "https://registry.npmjs.org"
- name: Publish
id: publish
run: ./script/publish.ts
env:
OPENCODE_BUMP: ${{ inputs.bump }}
OPENCODE_VERSION: ${{ inputs.version }}
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
AUR_KEY: ${{ secrets.AUR_KEY }}
GITHUB_TOKEN: ${{ secrets.SST_GITHUB_TOKEN }}
NPM_CONFIG_PROVENANCE: false
outputs:
releaseId: ${{ steps.publish.outputs.releaseId }}
tagName: ${{ steps.publish.outputs.tagName }}
publish-tauri:
needs: publish
continue-on-error: true
strategy:
fail-fast: false
matrix:
settings:
- host: macos-latest
target: x86_64-apple-darwin
- host: macos-latest
target: aarch64-apple-darwin
- host: blacksmith-4vcpu-windows-2025
target: x86_64-pc-windows-msvc
- host: blacksmith-4vcpu-ubuntu-2404
target: x86_64-unknown-linux-gnu
runs-on: ${{ matrix.settings.host }}
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
ref: ${{ needs.publish.outputs.tagName }}
- uses: apple-actions/import-codesign-certs@v2
if: ${{ runner.os == 'macOS' }}
with:
keychain: build
p12-file-base64: ${{ secrets.APPLE_CERTIFICATE }}
p12-password: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
- name: Verify Certificate
if: ${{ runner.os == 'macOS' }}
run: |
./script/publish.ts
CERT_INFO=$(security find-identity -v -p codesigning build.keychain | grep "Developer ID Application")
CERT_ID=$(echo "$CERT_INFO" | awk -F'"' '{print $2}')
echo "CERT_ID=$CERT_ID" >> $GITHUB_ENV
echo "Certificate imported."
- name: Setup Apple API Key
if: ${{ runner.os == 'macOS' }}
run: |
echo "${{ secrets.APPLE_API_KEY_PATH }}" > $RUNNER_TEMP/apple-api-key.p8
- run: git fetch --force --tags
- uses: ./.github/actions/setup-bun
- name: install dependencies (ubuntu only)
if: contains(matrix.settings.host, 'ubuntu')
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
- name: install Rust stable
uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.settings.target }}
- uses: Swatinem/rust-cache@v2
with:
workspaces: packages/tauri/src-tauri
shared-key: ${{ matrix.settings.target }}
- name: Prepare
run: |
cd packages/tauri
bun ./scripts/prepare.ts
env:
OPENCODE_BUMP: ${{ inputs.bump }}
OPENCODE_VERSION: ${{ inputs.version }}
@@ -72,3 +163,55 @@ jobs:
GITHUB_TOKEN: ${{ secrets.SST_GITHUB_TOKEN }}
AUR_KEY: ${{ secrets.AUR_KEY }}
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
RUST_TARGET: ${{ matrix.settings.target }}
GH_TOKEN: ${{ github.token }}
OPENCODE_RELEASE_TAG: ${{ needs.publish.outputs.tagName }}
# Fixes AppImage build issues, can be removed when https://github.com/tauri-apps/tauri/pull/12491 is released
- name: Install tauri-cli from portable appimage branch
if: contains(matrix.settings.host, 'ubuntu')
run: |
cargo install tauri-cli --git https://github.com/tauri-apps/tauri --branch feat/truly-portable-appimage --force
echo "Installed tauri-cli version:"
cargo tauri --version
- name: Build and upload artifacts
timeout-minutes: 20
uses: tauri-apps/tauri-action@390cbe447412ced1303d35abe75287949e43437a
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAURI_BUNDLER_NEW_APPIMAGE_FORMAT: true
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }}
APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
APPLE_SIGNING_IDENTITY: ${{ env.CERT_ID }}
APPLE_API_ISSUER: ${{ secrets.APPLE_API_ISSUER }}
APPLE_API_KEY: ${{ secrets.APPLE_API_KEY }}
APPLE_API_KEY_PATH: ${{ runner.temp }}/apple-api-key.p8
with:
projectPath: packages/tauri
uploadWorkflowArtifacts: true
tauriScript: ${{ (contains(matrix.settings.host, 'ubuntu') && 'cargo tauri') || '' }}
args: --target ${{ matrix.settings.target }} --config src-tauri/tauri.prod.conf.json
updaterJsonPreferNsis: true
releaseId: ${{ needs.publish.outputs.releaseId }}
tagName: ${{ needs.publish.outputs.tagName }}
releaseAssetNamePattern: opencode-desktop-[platform]-[arch][ext]
releaseDraft: true
publish-release:
needs:
- publish
- publish-tauri
if: needs.publish.outputs.tagName
runs-on: blacksmith-4vcpu-ubuntu-2404
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
ref: ${{ needs.publish.outputs.tagName }}
- run: gh release edit ${{ needs.publish.outputs.tagName }} --draft=false
env:
GH_TOKEN: ${{ github.token }}
@@ -0,0 +1,29 @@
name: release-github-action
on:
push:
branches:
- dev
paths:
- "github/**"
concurrency: ${{ github.workflow }}-${{ github.ref }}
permissions:
contents: write
jobs:
release:
runs-on: blacksmith-4vcpu-ubuntu-2404
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- run: git fetch --force --tags
- name: Release
run: |
git config --global user.email "opencode@sst.dev"
git config --global user.name "opencode"
./github/script/release
+81
View File
@@ -0,0 +1,81 @@
name: Guidelines Check
on:
issue_comment:
types: [created]
jobs:
check-guidelines:
if: |
github.event.issue.pull_request &&
startsWith(github.event.comment.body, '/review') &&
contains(fromJson('["OWNER","MEMBER"]'), github.event.comment.author_association)
runs-on: blacksmith-4vcpu-ubuntu-2404
permissions:
contents: read
pull-requests: write
steps:
- name: Get PR number
id: pr-number
run: |
if [ "${{ github.event_name }}" = "pull_request_target" ]; then
echo "number=${{ github.event.pull_request.number }}" >> $GITHUB_OUTPUT
else
echo "number=${{ github.event.issue.number }}" >> $GITHUB_OUTPUT
fi
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1
- uses: ./.github/actions/setup-bun
- name: Install opencode
run: curl -fsSL https://opencode.ai/install | bash
- name: Get PR details
id: pr-details
run: |
gh api /repos/${{ github.repository }}/pulls/${{ steps.pr-number.outputs.number }} > pr_data.json
echo "title=$(jq -r .title pr_data.json)" >> $GITHUB_OUTPUT
echo "sha=$(jq -r .head.sha pr_data.json)" >> $GITHUB_OUTPUT
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Check PR guidelines compliance
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
OPENCODE_PERMISSION: '{ "bash": { "gh*": "allow", "gh pr review*": "deny", "*": "deny" } }'
PR_TITLE: ${{ steps.pr-details.outputs.title }}
run: |
PR_BODY=$(jq -r .body pr_data.json)
opencode run -m anthropic/claude-opus-4-5 "A new pull request has been created: '${PR_TITLE}'
<pr-number>
${{ steps.pr-number.outputs.number }}
</pr-number>
<pr-description>
$PR_BODY
</pr-description>
Please check all the code changes in this pull request against the style guide, also look for any bugs if they exist. Diffs are important but make sure you read the entire file to get proper context. Make it clear the suggestions are merely suggestions and the human can decide what to do
When critiquing code against the style guide, be sure that the code is ACTUALLY in violation, don't complain about else statements if they already use early returns there. You may complain about excessive nesting though, regardless of else statement usage.
When critiquing code style don't be a zealot, we don't like "let" statements but sometimes they are the simpliest option, if someone does a bunch of nesting with let, they should consider using iife (see packages/opencode/src/util.iife.ts)
Use the gh cli to create comments on the files for the violations. Try to leave the comment on the exact line number. If you have a suggested fix include it in a suggestion code block.
Command MUST be like this.
\`\`\`
gh api \
--method POST \
-H \"Accept: application/vnd.github+json\" \
-H \"X-GitHub-Api-Version: 2022-11-28\" \
/repos/${{ github.repository }}/pulls/${{ steps.pr-number.outputs.number }}/comments \
-f 'body=[summary of issue]' -f 'commit_id=${{ steps.pr-details.outputs.sha }}' -f 'path=[path-to-file]' -F \"line=[line]\" -f 'side=RIGHT'
\`\`\`
Only create comments for actual violations. If the code follows all guidelines, comment on the issue using gh cli: 'lgtm' AND NOTHING ELSE!!!!."
-35
View File
@@ -1,35 +0,0 @@
name: snapshot
on:
push:
branches:
- dev
- opentui
- v0
concurrency: ${{ github.workflow }}-${{ github.ref }}
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- run: git fetch --force --tags
- uses: actions/setup-go@v5
with:
go-version: ">=1.24.0"
cache: true
cache-dependency-path: go.sum
- uses: ./.github/actions/setup-bun
- name: Publish
run: |
./script/publish.ts
env:
GITHUB_TOKEN: ${{ secrets.SST_GITHUB_TOKEN }}
NPM_CONFIG_TOKEN: ${{ secrets.NPM_TOKEN }}
+1 -1
View File
@@ -7,7 +7,7 @@ on:
jobs:
stats:
runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
permissions:
contents: write
+34
View File
@@ -0,0 +1,34 @@
name: "sync-zed-extension"
on:
workflow_dispatch:
# release:
# types: [published]
jobs:
zed:
name: Release Zed Extension
runs-on: blacksmith-4vcpu-ubuntu-2404
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: ./.github/actions/setup-bun
- name: Get version tag
id: get_tag
run: |
if [ "${{ github.event_name }}" = "release" ]; then
TAG="${{ github.event.release.tag_name }}"
else
TAG=$(git tag --list 'v[0-9]*.*' --sort=-version:refname | head -n 1)
fi
echo "tag=${TAG}" >> $GITHUB_OUTPUT
echo "Using tag: ${TAG}"
- name: Sync Zed extension
run: |
./script/sync-zed.ts ${{ steps.get_tag.outputs.tag }}
env:
GITHUB_TOKEN: ${{ secrets.SST_GITHUB_TOKEN }}
+1 -1
View File
@@ -10,7 +10,7 @@ on:
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
steps:
- name: Checkout repository
uses: actions/checkout@v4
+37
View File
@@ -0,0 +1,37 @@
name: Issue Triage
on:
issues:
types: [opened]
jobs:
triage:
runs-on: blacksmith-4vcpu-ubuntu-2404
permissions:
contents: read
issues: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Setup Bun
uses: ./.github/actions/setup-bun
- name: Install opencode
run: curl -fsSL https://opencode.ai/install | bash
- name: Triage issue
env:
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ISSUE_NUMBER: ${{ github.event.issue.number }}
ISSUE_TITLE: ${{ github.event.issue.title }}
ISSUE_BODY: ${{ github.event.issue.body }}
run: |
opencode run --agent triage "The following issue was just opened, triage it:
Title: $ISSUE_TITLE
$ISSUE_BODY"
+1 -1
View File
@@ -7,7 +7,7 @@ on:
jobs:
typecheck:
runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
steps:
- name: Checkout repository
uses: actions/checkout@v4
+102
View File
@@ -0,0 +1,102 @@
name: Update Nix Hashes
permissions:
contents: write
on:
workflow_dispatch:
push:
paths:
- "bun.lock"
- "package.json"
- "packages/*/package.json"
pull_request:
paths:
- "bun.lock"
- "package.json"
- "packages/*/package.json"
jobs:
update:
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository
runs-on: blacksmith-4vcpu-ubuntu-2404
env:
SYSTEM: x86_64-linux
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
fetch-depth: 0
ref: ${{ github.head_ref || github.ref_name }}
repository: ${{ github.event.pull_request.head.repo.full_name || github.repository }}
- name: Setup Nix
uses: DeterminateSystems/nix-installer-action@v20
- name: Configure git
run: |
git config --global user.email "action@github.com"
git config --global user.name "Github Action"
- name: Update flake.lock
run: |
set -euo pipefail
echo "📦 Updating flake.lock..."
nix flake update
echo "✅ flake.lock updated successfully"
- name: Update node_modules hash
run: |
set -euo pipefail
echo "🔄 Updating node_modules hash..."
nix/scripts/update-hashes.sh
echo "✅ node_modules hash updated successfully"
- name: Commit hash changes
env:
TARGET_BRANCH: ${{ github.head_ref || github.ref_name }}
run: |
set -euo pipefail
echo "🔍 Checking for changes in tracked Nix files..."
summarize() {
local status="$1"
{
echo "### Nix Hash Update"
echo ""
echo "- ref: ${GITHUB_REF_NAME}"
echo "- status: ${status}"
} >> "$GITHUB_STEP_SUMMARY"
if [ -n "${GITHUB_SERVER_URL:-}" ] && [ -n "${GITHUB_REPOSITORY:-}" ] && [ -n "${GITHUB_RUN_ID:-}" ]; then
echo "- run: ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}" >> "$GITHUB_STEP_SUMMARY"
fi
echo "" >> "$GITHUB_STEP_SUMMARY"
}
FILES=(flake.lock flake.nix nix/node-modules.nix nix/hashes.json)
STATUS="$(git status --short -- "${FILES[@]}" || true)"
if [ -z "$STATUS" ]; then
echo "✅ No changes detected. Hashes are already up to date."
summarize "no changes"
exit 0
fi
echo "📝 Changes detected:"
echo "$STATUS"
echo "🔗 Staging files..."
git add "${FILES[@]}"
echo "💾 Committing changes..."
git commit -m "Update Nix flake.lock and hashes"
echo "✅ Changes committed"
BRANCH="${TARGET_BRANCH:-${GITHUB_REF_NAME}}"
echo "🌳 Pulling latest from branch: $BRANCH"
git pull --rebase origin "$BRANCH"
echo "🚀 Pushing changes to branch: $BRANCH"
git push origin HEAD:"$BRANCH"
echo "✅ Changes pushed successfully"
summarize "committed $(git rev-parse --short HEAD)"
+8 -1
View File
@@ -6,10 +6,17 @@ node_modules
.idea
.vscode
*~
openapi.json
playground
tmp
dist
ts-dist
.turbo
**/.serena
.serena/
/result
refs
Session.vim
opencode.json
a.out
target
.scripts
+7
View File
@@ -1,2 +1,9 @@
#!/bin/sh
# Check if bun version matches package.json
EXPECTED_VERSION=$(grep '"packageManager"' package.json | sed 's/.*"bun@\([^"]*\)".*/\1/')
CURRENT_VERSION=$(bun --version)
if [ "$CURRENT_VERSION" != "$EXPECTED_VERSION" ]; then
echo "Error: Bun version $CURRENT_VERSION does not match expected version $EXPECTED_VERSION from package.json"
exit 1
fi
bun typecheck
+79
View File
@@ -0,0 +1,79 @@
---
mode: primary
hidden: true
model: opencode/claude-haiku-4-5
tools:
"*": false
"github-triage": true
---
You are a triage agent responsible for triaging github issues.
Use your github-triage tool to triage issues.
## Labels
### windows
Use for any issue that mentions Windows (the OS). Be sure they are saying that they are on Windows.
- Use if they mention WSL too
#### perf
Performance-related issues:
- Slow performance
- High RAM usage
- High CPU usage
**Only** add if it's likely a RAM or CPU issue. **Do not** add for LLM slowness.
#### desktop
Desktop app issues:
- `opencode web` command
- The desktop app itself
**Only** add if it's specifically about the Desktop application or `opencode web` view. **Do not** add for terminal, TUI, or general opencode issues.
#### nix
**Only** add if the issue explicitly mentions nix.
#### zen
**Only** add if the issue mentions "zen" or "opencode zen". Zen is our gateway for coding models. **Do not** add for other gateways or inference providers.
If the issue doesn't have "zen" in it then don't add zen label
#### docs
Add if the issue requests better documentation or docs updates.
#### opentui
TUI issues potentially caused by our underlying TUI library:
- Keybindings not working
- Scroll speed issues (too fast/slow/laggy)
- Screen flickering
- Crashes with opentui in the log
**Do not** add for general TUI bugs.
---
When assigning to people here are the following rules:
adamdotdev:
ONLY assign adam if the issue will have the "desktop" label.
fwang:
ONLY assign fwang if the issue will have the "zen" label.
jayair:
ONLY assign jayair if the issue will have the "docs" label.
In all other cases use best judgment. Avoid assigning to kommander needlessly, when in doubt assign to rekram1-node.
+6 -1
View File
@@ -1,5 +1,7 @@
---
description: Git commit and push
description: git commit and push
model: opencode/glm-4.6
subtask: true
---
commit and push
@@ -21,3 +23,6 @@ WHAT was done.
do not do generic messages like "improved agent experience" be very specific
about what user facing changes were made
if there are changes do a git pull --rebase
if there are conflicts DO NOT FIX THEM. notify me and I will fix them
-8
View File
@@ -1,8 +0,0 @@
---
description: hello world iaosd ioasjdoiasjd oisadjoisajd osiajd oisaj dosaij dsoajsajdaijdoisa jdoias jdoias jdoia jois jo jdois jdoias jdoias j djoasdj
---
hey there $ARGUMENTS
!`ls`
check out @README.md
+23
View File
@@ -0,0 +1,23 @@
---
description: "find issue(s) on github"
model: opencode/claude-haiku-4-5
---
Search through existing issues in sst/opencode using the gh cli to find issues matching this query:
$ARGUMENTS
Consider:
1. Similar titles or descriptions
2. Same error messages or symptoms
3. Related functionality or components
4. Similar feature requests
Please list any matching issues with:
- Issue number and title
- Brief explanation of why it matches the query
- Link to the issue
If no clear matches are found, say so.
+15
View File
@@ -0,0 +1,15 @@
---
description: Remove AI code slop
---
Check the diff against dev, and remove all AI generated slop introduced in this branch.
This includes:
- Extra comments that a human wouldn't add or is inconsistent with the rest of the file
- Extra defensive checks or try/catch blocks that are abnormal for that area of the codebase (especially if called by trusted / validated codepaths)
- Casts to any to get around type issues
- Any other style that is inconsistent with the file
- Unnecessary emoji usage
Report at the end with only a 1-3 sentence summary of what you changed
+1 -1
View File
@@ -1,5 +1,5 @@
---
description: Spellcheck all markdown file changes
description: spellcheck all markdown file changes
---
Look at all the unstaged changes to markdown (.md, .mdx) files, pull out the lines that have changed, and check for spelling and grammar errors.
+4
View File
@@ -0,0 +1,4 @@
declare module "*.txt" {
const content: string
export default content
}
-17
View File
@@ -1,17 +0,0 @@
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-openai-codex-auth"],
"mcp": {
"weather": {
"type": "local",
"command": ["bun", "x", "@h1deya/mcp-server-weather"]
},
"context7": {
"type": "remote",
"url": "https://mcp.context7.com/mcp",
"headers": {
"CONTEXT7_API_KEY": "{env:CONTEXT7_API_KEY}"
}
}
}
}
+17
View File
@@ -0,0 +1,17 @@
{
"$schema": "https://opencode.ai/config.json",
// "plugin": ["opencode-openai-codex-auth"],
// "enterprise": {
// "url": "https://enterprise.dev.opencode.ai",
// },
"instructions": ["STYLE_GUIDE.md"],
"provider": {
"opencode": {
"options": {},
},
},
"mcp": {},
"tools": {
"github-triage": false,
},
}
+223
View File
@@ -0,0 +1,223 @@
{
"$schema": "https://opencode.ai/theme.json",
"defs": {
"nord0": "#2E3440",
"nord1": "#3B4252",
"nord2": "#434C5E",
"nord3": "#4C566A",
"nord4": "#D8DEE9",
"nord5": "#E5E9F0",
"nord6": "#ECEFF4",
"nord7": "#8FBCBB",
"nord8": "#88C0D0",
"nord9": "#81A1C1",
"nord10": "#5E81AC",
"nord11": "#BF616A",
"nord12": "#D08770",
"nord13": "#EBCB8B",
"nord14": "#A3BE8C",
"nord15": "#B48EAD"
},
"theme": {
"primary": {
"dark": "nord8",
"light": "nord10"
},
"secondary": {
"dark": "nord9",
"light": "nord9"
},
"accent": {
"dark": "nord7",
"light": "nord7"
},
"error": {
"dark": "nord11",
"light": "nord11"
},
"warning": {
"dark": "nord12",
"light": "nord12"
},
"success": {
"dark": "nord14",
"light": "nord14"
},
"info": {
"dark": "nord8",
"light": "nord10"
},
"text": {
"dark": "nord4",
"light": "nord0"
},
"textMuted": {
"dark": "nord3",
"light": "nord1"
},
"background": {
"dark": "nord0",
"light": "nord6"
},
"backgroundPanel": {
"dark": "nord1",
"light": "nord5"
},
"backgroundElement": {
"dark": "nord1",
"light": "nord4"
},
"border": {
"dark": "nord2",
"light": "nord3"
},
"borderActive": {
"dark": "nord3",
"light": "nord2"
},
"borderSubtle": {
"dark": "nord2",
"light": "nord3"
},
"diffAdded": {
"dark": "nord14",
"light": "nord14"
},
"diffRemoved": {
"dark": "nord11",
"light": "nord11"
},
"diffContext": {
"dark": "nord3",
"light": "nord3"
},
"diffHunkHeader": {
"dark": "nord3",
"light": "nord3"
},
"diffHighlightAdded": {
"dark": "nord14",
"light": "nord14"
},
"diffHighlightRemoved": {
"dark": "nord11",
"light": "nord11"
},
"diffAddedBg": {
"dark": "#3B4252",
"light": "#E5E9F0"
},
"diffRemovedBg": {
"dark": "#3B4252",
"light": "#E5E9F0"
},
"diffContextBg": {
"dark": "nord1",
"light": "nord5"
},
"diffLineNumber": {
"dark": "nord2",
"light": "nord4"
},
"diffAddedLineNumberBg": {
"dark": "#3B4252",
"light": "#E5E9F0"
},
"diffRemovedLineNumberBg": {
"dark": "#3B4252",
"light": "#E5E9F0"
},
"markdownText": {
"dark": "nord4",
"light": "nord0"
},
"markdownHeading": {
"dark": "nord8",
"light": "nord10"
},
"markdownLink": {
"dark": "nord9",
"light": "nord9"
},
"markdownLinkText": {
"dark": "nord7",
"light": "nord7"
},
"markdownCode": {
"dark": "nord14",
"light": "nord14"
},
"markdownBlockQuote": {
"dark": "nord3",
"light": "nord3"
},
"markdownEmph": {
"dark": "nord12",
"light": "nord12"
},
"markdownStrong": {
"dark": "nord13",
"light": "nord13"
},
"markdownHorizontalRule": {
"dark": "nord3",
"light": "nord3"
},
"markdownListItem": {
"dark": "nord8",
"light": "nord10"
},
"markdownListEnumeration": {
"dark": "nord7",
"light": "nord7"
},
"markdownImage": {
"dark": "nord9",
"light": "nord9"
},
"markdownImageText": {
"dark": "nord7",
"light": "nord7"
},
"markdownCodeBlock": {
"dark": "nord4",
"light": "nord0"
},
"syntaxComment": {
"dark": "nord3",
"light": "nord3"
},
"syntaxKeyword": {
"dark": "nord9",
"light": "nord9"
},
"syntaxFunction": {
"dark": "nord8",
"light": "nord8"
},
"syntaxVariable": {
"dark": "nord7",
"light": "nord7"
},
"syntaxString": {
"dark": "nord14",
"light": "nord14"
},
"syntaxNumber": {
"dark": "nord15",
"light": "nord15"
},
"syntaxType": {
"dark": "nord7",
"light": "nord7"
},
"syntaxOperator": {
"dark": "nord9",
"light": "nord9"
},
"syntaxPunctuation": {
"dark": "nord4",
"light": "nord0"
}
}
}
+66
View File
@@ -0,0 +1,66 @@
/// <reference path="../env.d.ts" />
import { Octokit } from "@octokit/rest"
import { tool } from "@opencode-ai/plugin"
import DESCRIPTION from "./github-triage.txt"
function getIssueNumber(): number {
const issue = parseInt(process.env.ISSUE_NUMBER ?? "", 10)
if (!issue) throw new Error("ISSUE_NUMBER env var not set")
return issue
}
export default tool({
description: DESCRIPTION,
args: {
assignee: tool.schema
.enum(["thdxr", "adamdotdevin", "rekram1-node", "fwang", "jayair", "kommander"])
.describe("The username of the assignee")
.default("rekram1-node"),
labels: tool.schema
.array(tool.schema.enum(["nix", "opentui", "perf", "desktop", "zen", "docs", "windows"]))
.describe("The labels(s) to add to the issue")
.default([]),
},
async execute(args) {
const issue = getIssueNumber()
const octokit = new Octokit({ auth: process.env.GITHUB_TOKEN })
const owner = "sst"
const repo = "opencode"
const results: string[] = []
if (args.assignee === "adamdotdevin" && !args.labels.includes("desktop")) {
throw new Error("Only desktop issues should be assigned to adamdotdevin")
}
if (args.assignee === "fwang" && !args.labels.includes("zen")) {
throw new Error("Only zen issues should be assigned to fwang")
}
if (args.assignee === "kommander" && !args.labels.includes("opentui")) {
throw new Error("Only opentui issues should be assigned to kommander")
}
await octokit.rest.issues.addAssignees({
owner,
repo,
issue_number: issue,
assignees: [args.assignee],
})
results.push(`Assigned @${args.assignee} to issue #${issue}`)
const labels: string[] = args.labels.map((label) => (label === "desktop" ? "web" : label))
if (labels.length > 0) {
await octokit.rest.issues.addLabels({
owner,
repo,
issue_number: issue,
labels,
})
results.push(`Added labels: ${args.labels.join(", ")}`)
}
return results.join("\n")
},
})
+88
View File
@@ -0,0 +1,88 @@
Use this tool to assign and/or label a Github issue.
You can assign the following users:
- thdxr
- adamdotdevin
- fwang
- jayair
- kommander
- rekram1-node
You can use the following labels:
- nix
- opentui
- perf
- web
- zen
- docs
Always try to assign an issue, if in doubt, assign rekram1-node to it.
## Breakdown of responsibilities:
### thdxr
Dax is responsible for managing core parts of the application, for large feature requests, api changes, or things that require significant changes to the codebase assign him.
This relates to OpenCode server primarily but has overlap with just about anything
### adamdotdevin
Adam is responsible for managing the Desktop/Web app. If there is an issue relating to the desktop app or `opencode web` command. Assign him.
### fwang
Frank is responsible for managing Zen, if you see complaints about OpenCode Zen, maybe it's the dashboard, the model quality, billing issues, etc. Assign him to the issue.
### jayair
Jay is responsible for documentation. If there is an issue relating to documentation assign him.
### kommander
Sebastian is responsible for managing an OpenTUI (a library for building terminal user interfaces). OpenCode's TUI is built with OpenTUI. If there are issues about:
- random characters on screen
- keybinds not working on different terminals
- general terminal stuff
Then assign the issue to Him.
### rekram1-node
ALL BUGS SHOULD BE assigned to rekram1-node unless they have the `opentui` label.
Assign Aiden to an issue as a catch all, if you can't assign anyone else. Most of the time this will be bugs/polish things.
If no one else makes sense to assign, assign rekram1-node to it.
Always assign to aiden if the issue mentions "acp", "zed", or model performance issues
## Breakdown of Labels:
### nix
Any issue that mentions nix, or nixos should have a nix label
### opentui
Anything relating to the TUI itself should have an opentui label
### perf
Anything related to slow performance, high ram, high cpu usage, or any other performance related issue should have a perf label
### desktop
Anything related to `opencode web` command or the desktop app should have a desktop label. Never add this label for anything terminal/tui related
### zen
Anything related to OpenCode Zen, billing, or model quality from Zen should have a zen label
### docs
Anything related to the documentation should have a docs label
### windows
Use for any issue that involves the windows OS
+1
View File
@@ -0,0 +1 @@
sst-env.d.ts
+11
View File
@@ -0,0 +1,11 @@
{
"version": "0.2.0",
"configurations": [
{
"type": "bun",
"request": "attach",
"name": "opencode (attach)",
"url": "ws://localhost:6499/"
}
]
}
+5
View File
@@ -0,0 +1,5 @@
{
"recommendations": [
"oven.bun-vscode"
]
}
-13
View File
@@ -1,16 +1,3 @@
## IMPORTANT
- Try to keep things in one function unless composable or reusable
- DO NOT do unnecessary destructuring of variables
- DO NOT use `else` statements unless necessary
- DO NOT use `try`/`catch` if it can be avoided
- AVOID `try`/`catch` where possible
- AVOID `else` statements
- AVOID using `any` type
- AVOID `let` statements
- PREFER single word variable names where possible
- Use as many bun apis as possible like Bun.file()
## Debugging
- To test opencode in the `packages/opencode` directory you can run `bun dev`
+34
View File
@@ -42,6 +42,40 @@ Want to take on an issue? Leave a comment and a maintainer may assign it to you
> [!NOTE]
> After touching `packages/opencode/src/server/server.ts`, run "./packages/sdk/js/script/build.ts" to regenerate the JS sdk.
Please try to follow the [style guide](./STYLE_GUIDE.md)
### Setting up a Debugger
Bun debugging is currently rough around the edges. We hope this guide helps you get set up and avoid some pain points.
The most reliable way to debug OpenCode is to run it manually in a terminal via `bun run --inspect=<url> dev ...` and attach
your debugger via that URL. Other methods can result in breakpoints being mapped incorrectly, at least in VSCode (YMMV).
Caveats:
- `*.tsx` files won't have their breakpoints correctly mapped. This seems due to Bun currently not supporting source maps on code transformed
via `BunPlugin`s (currently necessary due to our dependency on `@opentui/solid`). Currently, the best you can do in terms of debugging `*.tsx`
files is writing a `debugger;` statement. Debugging facilities like stepping won't work, but at least you will be informed if a specific code
is triggered.
- If you want to run the OpenCode TUI and have breakpoints triggered in the server code, you might need to run `bun dev spawn` instead of
the usual `bun dev`. This is because `bun dev` runs the server in a worker thread and breakpoints might not work there.
Other tips and tricks:
- You might want to use `--inspect-wait` or `--inspect-brk` instead of `--inspect`, depending on your workflow
- Specifying `--inspect=ws://localhost:6499/` on every invocation can be tiresome, you may want to `export BUN_OPTIONS=--inspect=ws://localhost:6499/` instead
#### VSCode Setup
If you use VSCode, you can use our example configurations [.vscode/settings.example.json](.vscode/settings.example.json) and [.vscode/launch.example.json](.vscode/launch.example.json).
Some debug methods that can be problematic:
- Debug configurations with `"request": "launch"` can have breakpoints incorrectly mapped and thus unusable
- The same problem arises when running OpenCode in the VSCode `JavaScript Debug Terminal`
With that said, you may want to try these methods, as they might work for you.
## Pull Request Expectations
- Try to keep pull requests small and focused.
+41 -3
View File
@@ -7,7 +7,7 @@
</picture>
</a>
</p>
<p align="center">The AI coding agent built for the terminal.</p>
<p align="center">The open source AI coding agent.</p>
<p align="center">
<a href="https://opencode.ai/discord"><img alt="Discord" src="https://img.shields.io/discord/1391832426048651334?style=flat-square&label=discord" /></a>
<a href="https://www.npmjs.com/package/opencode-ai"><img alt="npm" src="https://img.shields.io/npm/v/opencode-ai?style=flat-square" /></a>
@@ -28,13 +28,31 @@ curl -fsSL https://opencode.ai/install | bash
npm i -g opencode-ai@latest # or bun/pnpm/yarn
scoop bucket add extras; scoop install extras/opencode # Windows
choco install opencode # Windows
brew install opencode # macOS and Linux
brew install opencode # macOS and Linux
paru -S opencode-bin # Arch Linux
mise use -g ubi:sst/opencode # Any OS
nix run nixpkgs#opencode # or github:sst/opencode for latest dev branch
```
> [!TIP]
> Remove versions older than 0.1.x before installing.
### Desktop App (BETA)
OpenCode is also available as a desktop application. Download directly from the [releases page](https://github.com/sst/opencode/releases) or [opencode.ai/download](https://opencode.ai/download).
| Platform | Download |
| --------------------- | ------------------------------------- |
| macOS (Apple Silicon) | `opencode-desktop-darwin-aarch64.dmg` |
| macOS (Intel) | `opencode-desktop-darwin-x64.dmg` |
| Windows | `opencode-desktop-windows-x64.exe` |
| Linux | `.deb`, `.rpm`, or AppImage |
```bash
# macOS (Homebrew)
brew install --cask opencode-desktop
```
#### Installation Directory
The install script respects the following priority order for the installation path:
@@ -50,6 +68,22 @@ OPENCODE_INSTALL_DIR=/usr/local/bin curl -fsSL https://opencode.ai/install | bas
XDG_BIN_DIR=$HOME/.local/bin curl -fsSL https://opencode.ai/install | bash
```
### Agents
OpenCode includes two built-in agents you can switch between,
you can switch between these using the `Tab` key.
- **build** - Default, full access agent for development work
- **plan** - Read-only agent for analysis and code exploration
- Denies file edits by default
- Asks permission before running bash commands
- Ideal for exploring unfamiliar codebases or planning changes
Also, included is a **general** subagent for complex searches and multi-step tasks.
This is used internally and can be invoked using `@general` in messages.
Learn more about [agents](https://opencode.ai/docs/agents).
### Documentation
For more info on how to configure OpenCode [**head over to our docs**](https://opencode.ai/docs).
@@ -58,6 +92,10 @@ For more info on how to configure OpenCode [**head over to our docs**](https://o
If you're interested in contributing to OpenCode, please read our [contributing docs](./CONTRIBUTING.md) before submitting a pull request.
### Building on OpenCode
If you are working on a project that's related to OpenCode and is using "opencode" as a part of its name; for example, "opencode-dashboard" or "opencode-mobile", please add a note to your README to clarify that it is not built by the OpenCode team and is not affiliated with us in any way.
### FAQ
#### How is this different than Claude Code?
@@ -65,7 +103,7 @@ If you're interested in contributing to OpenCode, please read our [contributing
It's very similar to Claude Code in terms of capability. Here are the key differences:
- 100% open source
- Not coupled to any provider. Although Anthropic is recommended, OpenCode can be used with OpenAI, Google or even local models. As models evolve the gaps between them will close and pricing will drop so being provider-agnostic is important.
- Not coupled to any provider. Although we recommend the models we provide through [OpenCode Zen](https://opencode.ai/zen); OpenCode can be used with Claude, OpenAI, Google or even local models. As models evolve the gaps between them will close and pricing will drop so being provider-agnostic is important.
- Out of the box LSP support
- A focus on TUI. OpenCode is built by neovim users and the creators of [terminal.shop](https://terminal.shop); we are going to push the limits of what's possible in the terminal.
- A client/server architecture. This for example can allow OpenCode to run on your computer, while you can drive it remotely from a mobile app. Meaning that the TUI frontend is just one of the possible clients.
+174 -134
View File
@@ -1,136 +1,176 @@
# Download Stats
| Date | GitHub Downloads | npm Downloads | Total |
| ---------- | ----------------- | ----------------- | ------------------- |
| 2025-06-29 | 18,789 (+0) | 39,420 (+0) | 58,209 (+0) |
| 2025-06-30 | 20,127 (+1,338) | 41,059 (+1,639) | 61,186 (+2,977) |
| 2025-07-01 | 22,108 (+1,981) | 43,745 (+2,686) | 65,853 (+4,667) |
| 2025-07-02 | 24,814 (+2,706) | 46,168 (+2,423) | 70,982 (+5,129) |
| 2025-07-03 | 27,834 (+3,020) | 49,955 (+3,787) | 77,789 (+6,807) |
| 2025-07-04 | 30,608 (+2,774) | 54,758 (+4,803) | 85,366 (+7,577) |
| 2025-07-05 | 32,524 (+1,916) | 58,371 (+3,613) | 90,895 (+5,529) |
| 2025-07-06 | 33,766 (+1,242) | 59,694 (+1,323) | 93,460 (+2,565) |
| 2025-07-08 | 38,052 (+4,286) | 64,468 (+4,774) | 102,520 (+9,060) |
| 2025-07-09 | 40,924 (+2,872) | 67,935 (+3,467) | 108,859 (+6,339) |
| 2025-07-10 | 43,796 (+2,872) | 71,402 (+3,467) | 115,198 (+6,339) |
| 2025-07-11 | 46,982 (+3,186) | 77,462 (+6,060) | 124,444 (+9,246) |
| 2025-07-12 | 49,302 (+2,320) | 82,177 (+4,715) | 131,479 (+7,035) |
| 2025-07-13 | 50,803 (+1,501) | 86,394 (+4,217) | 137,197 (+5,718) |
| 2025-07-14 | 53,283 (+2,480) | 87,860 (+1,466) | 141,143 (+3,946) |
| 2025-07-15 | 57,590 (+4,307) | 91,036 (+3,176) | 148,626 (+7,483) |
| 2025-07-16 | 62,313 (+4,723) | 95,258 (+4,222) | 157,571 (+8,945) |
| 2025-07-17 | 66,684 (+4,371) | 100,048 (+4,790) | 166,732 (+9,161) |
| 2025-07-18 | 70,379 (+3,695) | 102,587 (+2,539) | 172,966 (+6,234) |
| 2025-07-19 | 73,497 (+3,117) | 105,904 (+3,317) | 179,401 (+6,434) |
| 2025-07-20 | 76,453 (+2,956) | 109,044 (+3,140) | 185,497 (+6,096) |
| 2025-07-21 | 80,197 (+3,744) | 113,537 (+4,493) | 193,734 (+8,237) |
| 2025-07-22 | 84,251 (+4,054) | 118,073 (+4,536) | 202,324 (+8,590) |
| 2025-07-23 | 88,589 (+4,338) | 121,436 (+3,363) | 210,025 (+7,701) |
| 2025-07-24 | 92,469 (+3,880) | 124,091 (+2,655) | 216,560 (+6,535) |
| 2025-07-25 | 96,417 (+3,948) | 126,985 (+2,894) | 223,402 (+6,842) |
| 2025-07-26 | 100,646 (+4,229) | 131,411 (+4,426) | 232,057 (+8,655) |
| 2025-07-27 | 102,644 (+1,998) | 134,736 (+3,325) | 237,380 (+5,323) |
| 2025-07-28 | 105,446 (+2,802) | 136,016 (+1,280) | 241,462 (+4,082) |
| 2025-07-29 | 108,998 (+3,552) | 137,542 (+1,526) | 246,540 (+5,078) |
| 2025-07-30 | 113,544 (+4,546) | 140,317 (+2,775) | 253,861 (+7,321) |
| 2025-07-31 | 118,339 (+4,795) | 143,344 (+3,027) | 261,683 (+7,822) |
| 2025-08-01 | 123,539 (+5,200) | 146,680 (+3,336) | 270,219 (+8,536) |
| 2025-08-02 | 127,864 (+4,325) | 149,236 (+2,556) | 277,100 (+6,881) |
| 2025-08-03 | 131,397 (+3,533) | 150,451 (+1,215) | 281,848 (+4,748) |
| 2025-08-04 | 136,266 (+4,869) | 153,260 (+2,809) | 289,526 (+7,678) |
| 2025-08-05 | 141,596 (+5,330) | 155,752 (+2,492) | 297,348 (+7,822) |
| 2025-08-06 | 147,067 (+5,471) | 158,309 (+2,557) | 305,376 (+8,028) |
| 2025-08-07 | 152,591 (+5,524) | 160,889 (+2,580) | 313,480 (+8,104) |
| 2025-08-08 | 158,187 (+5,596) | 163,448 (+2,559) | 321,635 (+8,155) |
| 2025-08-09 | 162,770 (+4,583) | 165,721 (+2,273) | 328,491 (+6,856) |
| 2025-08-10 | 165,695 (+2,925) | 167,109 (+1,388) | 332,804 (+4,313) |
| 2025-08-11 | 169,297 (+3,602) | 167,953 (+844) | 337,250 (+4,446) |
| 2025-08-12 | 176,307 (+7,010) | 171,876 (+3,923) | 348,183 (+10,933) |
| 2025-08-13 | 182,997 (+6,690) | 177,182 (+5,306) | 360,179 (+11,996) |
| 2025-08-14 | 189,063 (+6,066) | 179,741 (+2,559) | 368,804 (+8,625) |
| 2025-08-15 | 193,608 (+4,545) | 181,792 (+2,051) | 375,400 (+6,596) |
| 2025-08-16 | 198,118 (+4,510) | 184,558 (+2,766) | 382,676 (+7,276) |
| 2025-08-17 | 201,299 (+3,181) | 186,269 (+1,711) | 387,568 (+4,892) |
| 2025-08-18 | 204,559 (+3,260) | 187,399 (+1,130) | 391,958 (+4,390) |
| 2025-08-19 | 209,814 (+5,255) | 189,668 (+2,269) | 399,482 (+7,524) |
| 2025-08-20 | 214,497 (+4,683) | 191,481 (+1,813) | 405,978 (+6,496) |
| 2025-08-21 | 220,465 (+5,968) | 194,784 (+3,303) | 415,249 (+9,271) |
| 2025-08-22 | 225,899 (+5,434) | 197,204 (+2,420) | 423,103 (+7,854) |
| 2025-08-23 | 229,005 (+3,106) | 199,238 (+2,034) | 428,243 (+5,140) |
| 2025-08-24 | 232,098 (+3,093) | 201,157 (+1,919) | 433,255 (+5,012) |
| 2025-08-25 | 236,607 (+4,509) | 202,650 (+1,493) | 439,257 (+6,002) |
| 2025-08-26 | 242,783 (+6,176) | 205,242 (+2,592) | 448,025 (+8,768) |
| 2025-08-27 | 248,409 (+5,626) | 205,242 (+0) | 453,651 (+5,626) |
| 2025-08-28 | 252,796 (+4,387) | 205,242 (+0) | 458,038 (+4,387) |
| 2025-08-29 | 256,045 (+3,249) | 211,075 (+5,833) | 467,120 (+9,082) |
| 2025-08-30 | 258,863 (+2,818) | 212,397 (+1,322) | 471,260 (+4,140) |
| 2025-08-31 | 262,004 (+3,141) | 213,944 (+1,547) | 475,948 (+4,688) |
| 2025-09-01 | 265,359 (+3,355) | 215,115 (+1,171) | 480,474 (+4,526) |
| 2025-09-02 | 270,483 (+5,124) | 217,075 (+1,960) | 487,558 (+7,084) |
| 2025-09-03 | 274,793 (+4,310) | 219,755 (+2,680) | 494,548 (+6,990) |
| 2025-09-04 | 280,430 (+5,637) | 222,103 (+2,348) | 502,533 (+7,985) |
| 2025-09-05 | 283,769 (+3,339) | 223,793 (+1,690) | 507,562 (+5,029) |
| 2025-09-06 | 286,245 (+2,476) | 225,036 (+1,243) | 511,281 (+3,719) |
| 2025-09-07 | 288,623 (+2,378) | 225,866 (+830) | 514,489 (+3,208) |
| 2025-09-08 | 293,341 (+4,718) | 227,073 (+1,207) | 520,414 (+5,925) |
| 2025-09-09 | 300,036 (+6,695) | 229,788 (+2,715) | 529,824 (+9,410) |
| 2025-09-10 | 307,287 (+7,251) | 233,435 (+3,647) | 540,722 (+10,898) |
| 2025-09-11 | 314,083 (+6,796) | 237,356 (+3,921) | 551,439 (+10,717) |
| 2025-09-12 | 321,046 (+6,963) | 240,728 (+3,372) | 561,774 (+10,335) |
| 2025-09-13 | 324,894 (+3,848) | 245,539 (+4,811) | 570,433 (+8,659) |
| 2025-09-14 | 328,876 (+3,982) | 248,245 (+2,706) | 577,121 (+6,688) |
| 2025-09-15 | 334,201 (+5,325) | 250,983 (+2,738) | 585,184 (+8,063) |
| 2025-09-16 | 342,609 (+8,408) | 255,264 (+4,281) | 597,873 (+12,689) |
| 2025-09-17 | 351,117 (+8,508) | 260,970 (+5,706) | 612,087 (+14,214) |
| 2025-09-18 | 358,717 (+7,600) | 266,922 (+5,952) | 625,639 (+13,552) |
| 2025-09-19 | 365,401 (+6,684) | 271,859 (+4,937) | 637,260 (+11,621) |
| 2025-09-20 | 372,092 (+6,691) | 276,917 (+5,058) | 649,009 (+11,749) |
| 2025-09-21 | 377,079 (+4,987) | 280,261 (+3,344) | 657,340 (+8,331) |
| 2025-09-22 | 382,492 (+5,413) | 284,009 (+3,748) | 666,501 (+9,161) |
| 2025-09-23 | 387,008 (+4,516) | 289,129 (+5,120) | 676,137 (+9,636) |
| 2025-09-24 | 393,325 (+6,317) | 294,927 (+5,798) | 688,252 (+12,115) |
| 2025-09-25 | 398,879 (+5,554) | 301,663 (+6,736) | 700,542 (+12,290) |
| 2025-09-26 | 404,334 (+5,455) | 306,713 (+5,050) | 711,047 (+10,505) |
| 2025-09-27 | 411,618 (+7,284) | 317,763 (+11,050) | 729,381 (+18,334) |
| 2025-09-28 | 414,910 (+3,292) | 322,522 (+4,759) | 737,432 (+8,051) |
| 2025-09-29 | 419,919 (+5,009) | 328,033 (+5,511) | 747,952 (+10,520) |
| 2025-09-30 | 427,991 (+8,072) | 336,472 (+8,439) | 764,463 (+16,511) |
| 2025-10-01 | 433,591 (+5,600) | 341,742 (+5,270) | 775,333 (+10,870) |
| 2025-10-02 | 440,852 (+7,261) | 348,099 (+6,357) | 788,951 (+13,618) |
| 2025-10-03 | 446,829 (+5,977) | 359,937 (+11,838) | 806,766 (+17,815) |
| 2025-10-04 | 452,561 (+5,732) | 370,386 (+10,449) | 822,947 (+16,181) |
| 2025-10-05 | 455,559 (+2,998) | 374,745 (+4,359) | 830,304 (+7,357) |
| 2025-10-06 | 460,927 (+5,368) | 379,489 (+4,744) | 840,416 (+10,112) |
| 2025-10-07 | 467,336 (+6,409) | 385,438 (+5,949) | 852,774 (+12,358) |
| 2025-10-08 | 474,643 (+7,307) | 394,139 (+8,701) | 868,782 (+16,008) |
| 2025-10-09 | 479,203 (+4,560) | 400,526 (+6,387) | 879,729 (+10,947) |
| 2025-10-10 | 484,374 (+5,171) | 406,015 (+5,489) | 890,389 (+10,660) |
| 2025-10-11 | 488,427 (+4,053) | 414,699 (+8,684) | 903,126 (+12,737) |
| 2025-10-12 | 492,125 (+3,698) | 418,745 (+4,046) | 910,870 (+7,744) |
| 2025-10-14 | 505,130 (+13,005) | 429,286 (+10,541) | 934,416 (+23,546) |
| 2025-10-15 | 512,717 (+7,587) | 439,290 (+10,004) | 952,007 (+17,591) |
| 2025-10-16 | 517,719 (+5,002) | 447,137 (+7,847) | 964,856 (+12,849) |
| 2025-10-17 | 526,239 (+8,520) | 457,467 (+10,330) | 983,706 (+18,850) |
| 2025-10-18 | 531,564 (+5,325) | 465,272 (+7,805) | 996,836 (+13,130) |
| 2025-10-19 | 536,209 (+4,645) | 469,078 (+3,806) | 1,005,287 (+8,451) |
| 2025-10-20 | 541,264 (+5,055) | 472,952 (+3,874) | 1,014,216 (+8,929) |
| 2025-10-21 | 548,721 (+7,457) | 479,703 (+6,751) | 1,028,424 (+14,208) |
| 2025-10-22 | 557,949 (+9,228) | 491,395 (+11,692) | 1,049,344 (+20,920) |
| 2025-10-23 | 564,716 (+6,767) | 498,736 (+7,341) | 1,063,452 (+14,108) |
| 2025-10-24 | 572,692 (+7,976) | 506,905 (+8,169) | 1,079,597 (+16,145) |
| 2025-10-25 | 578,927 (+6,235) | 516,129 (+9,224) | 1,095,056 (+15,459) |
| 2025-10-26 | 584,409 (+5,482) | 521,179 (+5,050) | 1,105,588 (+10,532) |
| 2025-10-27 | 589,999 (+5,590) | 526,001 (+4,822) | 1,116,000 (+10,412) |
| 2025-10-28 | 595,776 (+5,777) | 532,438 (+6,437) | 1,128,214 (+12,214) |
| 2025-10-29 | 606,259 (+10,483) | 542,064 (+9,626) | 1,148,323 (+20,109) |
| 2025-10-30 | 613,746 (+7,487) | 542,064 (+0) | 1,155,810 (+7,487) |
| 2025-10-30 | 617,846 (+4,100) | 555,026 (+12,962) | 1,172,872 (+17,062) |
| 2025-10-31 | 626,612 (+8,766) | 564,579 (+9,553) | 1,191,191 (+18,319) |
| 2025-11-01 | 636,100 (+9,488) | 581,806 (+17,227) | 1,217,906 (+26,715) |
| 2025-11-02 | 644,067 (+7,967) | 590,004 (+8,198) | 1,234,071 (+16,165) |
| 2025-11-03 | 653,130 (+9,063) | 597,139 (+7,135) | 1,250,269 (+16,198) |
| 2025-11-04 | 663,912 (+10,782) | 608,056 (+10,917) | 1,271,968 (+21,699) |
| 2025-11-05 | 675,074 (+11,162) | 619,690 (+11,634) | 1,294,764 (+22,796) |
| 2025-11-06 | 686,252 (+11,178) | 630,885 (+11,195) | 1,317,137 (+22,373) |
| 2025-11-07 | 696,646 (+10,394) | 642,146 (+11,261) | 1,338,792 (+21,655) |
| 2025-11-08 | 706,035 (+9,389) | 653,489 (+11,343) | 1,359,524 (+20,732) |
| Date | GitHub Downloads | npm Downloads | Total |
| ---------- | ------------------- | ------------------- | ------------------- |
| 2025-06-29 | 18,789 (+0) | 39,420 (+0) | 58,209 (+0) |
| 2025-06-30 | 20,127 (+1,338) | 41,059 (+1,639) | 61,186 (+2,977) |
| 2025-07-01 | 22,108 (+1,981) | 43,745 (+2,686) | 65,853 (+4,667) |
| 2025-07-02 | 24,814 (+2,706) | 46,168 (+2,423) | 70,982 (+5,129) |
| 2025-07-03 | 27,834 (+3,020) | 49,955 (+3,787) | 77,789 (+6,807) |
| 2025-07-04 | 30,608 (+2,774) | 54,758 (+4,803) | 85,366 (+7,577) |
| 2025-07-05 | 32,524 (+1,916) | 58,371 (+3,613) | 90,895 (+5,529) |
| 2025-07-06 | 33,766 (+1,242) | 59,694 (+1,323) | 93,460 (+2,565) |
| 2025-07-08 | 38,052 (+4,286) | 64,468 (+4,774) | 102,520 (+9,060) |
| 2025-07-09 | 40,924 (+2,872) | 67,935 (+3,467) | 108,859 (+6,339) |
| 2025-07-10 | 43,796 (+2,872) | 71,402 (+3,467) | 115,198 (+6,339) |
| 2025-07-11 | 46,982 (+3,186) | 77,462 (+6,060) | 124,444 (+9,246) |
| 2025-07-12 | 49,302 (+2,320) | 82,177 (+4,715) | 131,479 (+7,035) |
| 2025-07-13 | 50,803 (+1,501) | 86,394 (+4,217) | 137,197 (+5,718) |
| 2025-07-14 | 53,283 (+2,480) | 87,860 (+1,466) | 141,143 (+3,946) |
| 2025-07-15 | 57,590 (+4,307) | 91,036 (+3,176) | 148,626 (+7,483) |
| 2025-07-16 | 62,313 (+4,723) | 95,258 (+4,222) | 157,571 (+8,945) |
| 2025-07-17 | 66,684 (+4,371) | 100,048 (+4,790) | 166,732 (+9,161) |
| 2025-07-18 | 70,379 (+3,695) | 102,587 (+2,539) | 172,966 (+6,234) |
| 2025-07-19 | 73,497 (+3,117) | 105,904 (+3,317) | 179,401 (+6,434) |
| 2025-07-20 | 76,453 (+2,956) | 109,044 (+3,140) | 185,497 (+6,096) |
| 2025-07-21 | 80,197 (+3,744) | 113,537 (+4,493) | 193,734 (+8,237) |
| 2025-07-22 | 84,251 (+4,054) | 118,073 (+4,536) | 202,324 (+8,590) |
| 2025-07-23 | 88,589 (+4,338) | 121,436 (+3,363) | 210,025 (+7,701) |
| 2025-07-24 | 92,469 (+3,880) | 124,091 (+2,655) | 216,560 (+6,535) |
| 2025-07-25 | 96,417 (+3,948) | 126,985 (+2,894) | 223,402 (+6,842) |
| 2025-07-26 | 100,646 (+4,229) | 131,411 (+4,426) | 232,057 (+8,655) |
| 2025-07-27 | 102,644 (+1,998) | 134,736 (+3,325) | 237,380 (+5,323) |
| 2025-07-28 | 105,446 (+2,802) | 136,016 (+1,280) | 241,462 (+4,082) |
| 2025-07-29 | 108,998 (+3,552) | 137,542 (+1,526) | 246,540 (+5,078) |
| 2025-07-30 | 113,544 (+4,546) | 140,317 (+2,775) | 253,861 (+7,321) |
| 2025-07-31 | 118,339 (+4,795) | 143,344 (+3,027) | 261,683 (+7,822) |
| 2025-08-01 | 123,539 (+5,200) | 146,680 (+3,336) | 270,219 (+8,536) |
| 2025-08-02 | 127,864 (+4,325) | 149,236 (+2,556) | 277,100 (+6,881) |
| 2025-08-03 | 131,397 (+3,533) | 150,451 (+1,215) | 281,848 (+4,748) |
| 2025-08-04 | 136,266 (+4,869) | 153,260 (+2,809) | 289,526 (+7,678) |
| 2025-08-05 | 141,596 (+5,330) | 155,752 (+2,492) | 297,348 (+7,822) |
| 2025-08-06 | 147,067 (+5,471) | 158,309 (+2,557) | 305,376 (+8,028) |
| 2025-08-07 | 152,591 (+5,524) | 160,889 (+2,580) | 313,480 (+8,104) |
| 2025-08-08 | 158,187 (+5,596) | 163,448 (+2,559) | 321,635 (+8,155) |
| 2025-08-09 | 162,770 (+4,583) | 165,721 (+2,273) | 328,491 (+6,856) |
| 2025-08-10 | 165,695 (+2,925) | 167,109 (+1,388) | 332,804 (+4,313) |
| 2025-08-11 | 169,297 (+3,602) | 167,953 (+844) | 337,250 (+4,446) |
| 2025-08-12 | 176,307 (+7,010) | 171,876 (+3,923) | 348,183 (+10,933) |
| 2025-08-13 | 182,997 (+6,690) | 177,182 (+5,306) | 360,179 (+11,996) |
| 2025-08-14 | 189,063 (+6,066) | 179,741 (+2,559) | 368,804 (+8,625) |
| 2025-08-15 | 193,608 (+4,545) | 181,792 (+2,051) | 375,400 (+6,596) |
| 2025-08-16 | 198,118 (+4,510) | 184,558 (+2,766) | 382,676 (+7,276) |
| 2025-08-17 | 201,299 (+3,181) | 186,269 (+1,711) | 387,568 (+4,892) |
| 2025-08-18 | 204,559 (+3,260) | 187,399 (+1,130) | 391,958 (+4,390) |
| 2025-08-19 | 209,814 (+5,255) | 189,668 (+2,269) | 399,482 (+7,524) |
| 2025-08-20 | 214,497 (+4,683) | 191,481 (+1,813) | 405,978 (+6,496) |
| 2025-08-21 | 220,465 (+5,968) | 194,784 (+3,303) | 415,249 (+9,271) |
| 2025-08-22 | 225,899 (+5,434) | 197,204 (+2,420) | 423,103 (+7,854) |
| 2025-08-23 | 229,005 (+3,106) | 199,238 (+2,034) | 428,243 (+5,140) |
| 2025-08-24 | 232,098 (+3,093) | 201,157 (+1,919) | 433,255 (+5,012) |
| 2025-08-25 | 236,607 (+4,509) | 202,650 (+1,493) | 439,257 (+6,002) |
| 2025-08-26 | 242,783 (+6,176) | 205,242 (+2,592) | 448,025 (+8,768) |
| 2025-08-27 | 248,409 (+5,626) | 205,242 (+0) | 453,651 (+5,626) |
| 2025-08-28 | 252,796 (+4,387) | 205,242 (+0) | 458,038 (+4,387) |
| 2025-08-29 | 256,045 (+3,249) | 211,075 (+5,833) | 467,120 (+9,082) |
| 2025-08-30 | 258,863 (+2,818) | 212,397 (+1,322) | 471,260 (+4,140) |
| 2025-08-31 | 262,004 (+3,141) | 213,944 (+1,547) | 475,948 (+4,688) |
| 2025-09-01 | 265,359 (+3,355) | 215,115 (+1,171) | 480,474 (+4,526) |
| 2025-09-02 | 270,483 (+5,124) | 217,075 (+1,960) | 487,558 (+7,084) |
| 2025-09-03 | 274,793 (+4,310) | 219,755 (+2,680) | 494,548 (+6,990) |
| 2025-09-04 | 280,430 (+5,637) | 222,103 (+2,348) | 502,533 (+7,985) |
| 2025-09-05 | 283,769 (+3,339) | 223,793 (+1,690) | 507,562 (+5,029) |
| 2025-09-06 | 286,245 (+2,476) | 225,036 (+1,243) | 511,281 (+3,719) |
| 2025-09-07 | 288,623 (+2,378) | 225,866 (+830) | 514,489 (+3,208) |
| 2025-09-08 | 293,341 (+4,718) | 227,073 (+1,207) | 520,414 (+5,925) |
| 2025-09-09 | 300,036 (+6,695) | 229,788 (+2,715) | 529,824 (+9,410) |
| 2025-09-10 | 307,287 (+7,251) | 233,435 (+3,647) | 540,722 (+10,898) |
| 2025-09-11 | 314,083 (+6,796) | 237,356 (+3,921) | 551,439 (+10,717) |
| 2025-09-12 | 321,046 (+6,963) | 240,728 (+3,372) | 561,774 (+10,335) |
| 2025-09-13 | 324,894 (+3,848) | 245,539 (+4,811) | 570,433 (+8,659) |
| 2025-09-14 | 328,876 (+3,982) | 248,245 (+2,706) | 577,121 (+6,688) |
| 2025-09-15 | 334,201 (+5,325) | 250,983 (+2,738) | 585,184 (+8,063) |
| 2025-09-16 | 342,609 (+8,408) | 255,264 (+4,281) | 597,873 (+12,689) |
| 2025-09-17 | 351,117 (+8,508) | 260,970 (+5,706) | 612,087 (+14,214) |
| 2025-09-18 | 358,717 (+7,600) | 266,922 (+5,952) | 625,639 (+13,552) |
| 2025-09-19 | 365,401 (+6,684) | 271,859 (+4,937) | 637,260 (+11,621) |
| 2025-09-20 | 372,092 (+6,691) | 276,917 (+5,058) | 649,009 (+11,749) |
| 2025-09-21 | 377,079 (+4,987) | 280,261 (+3,344) | 657,340 (+8,331) |
| 2025-09-22 | 382,492 (+5,413) | 284,009 (+3,748) | 666,501 (+9,161) |
| 2025-09-23 | 387,008 (+4,516) | 289,129 (+5,120) | 676,137 (+9,636) |
| 2025-09-24 | 393,325 (+6,317) | 294,927 (+5,798) | 688,252 (+12,115) |
| 2025-09-25 | 398,879 (+5,554) | 301,663 (+6,736) | 700,542 (+12,290) |
| 2025-09-26 | 404,334 (+5,455) | 306,713 (+5,050) | 711,047 (+10,505) |
| 2025-09-27 | 411,618 (+7,284) | 317,763 (+11,050) | 729,381 (+18,334) |
| 2025-09-28 | 414,910 (+3,292) | 322,522 (+4,759) | 737,432 (+8,051) |
| 2025-09-29 | 419,919 (+5,009) | 328,033 (+5,511) | 747,952 (+10,520) |
| 2025-09-30 | 427,991 (+8,072) | 336,472 (+8,439) | 764,463 (+16,511) |
| 2025-10-01 | 433,591 (+5,600) | 341,742 (+5,270) | 775,333 (+10,870) |
| 2025-10-02 | 440,852 (+7,261) | 348,099 (+6,357) | 788,951 (+13,618) |
| 2025-10-03 | 446,829 (+5,977) | 359,937 (+11,838) | 806,766 (+17,815) |
| 2025-10-04 | 452,561 (+5,732) | 370,386 (+10,449) | 822,947 (+16,181) |
| 2025-10-05 | 455,559 (+2,998) | 374,745 (+4,359) | 830,304 (+7,357) |
| 2025-10-06 | 460,927 (+5,368) | 379,489 (+4,744) | 840,416 (+10,112) |
| 2025-10-07 | 467,336 (+6,409) | 385,438 (+5,949) | 852,774 (+12,358) |
| 2025-10-08 | 474,643 (+7,307) | 394,139 (+8,701) | 868,782 (+16,008) |
| 2025-10-09 | 479,203 (+4,560) | 400,526 (+6,387) | 879,729 (+10,947) |
| 2025-10-10 | 484,374 (+5,171) | 406,015 (+5,489) | 890,389 (+10,660) |
| 2025-10-11 | 488,427 (+4,053) | 414,699 (+8,684) | 903,126 (+12,737) |
| 2025-10-12 | 492,125 (+3,698) | 418,745 (+4,046) | 910,870 (+7,744) |
| 2025-10-14 | 505,130 (+13,005) | 429,286 (+10,541) | 934,416 (+23,546) |
| 2025-10-15 | 512,717 (+7,587) | 439,290 (+10,004) | 952,007 (+17,591) |
| 2025-10-16 | 517,719 (+5,002) | 447,137 (+7,847) | 964,856 (+12,849) |
| 2025-10-17 | 526,239 (+8,520) | 457,467 (+10,330) | 983,706 (+18,850) |
| 2025-10-18 | 531,564 (+5,325) | 465,272 (+7,805) | 996,836 (+13,130) |
| 2025-10-19 | 536,209 (+4,645) | 469,078 (+3,806) | 1,005,287 (+8,451) |
| 2025-10-20 | 541,264 (+5,055) | 472,952 (+3,874) | 1,014,216 (+8,929) |
| 2025-10-21 | 548,721 (+7,457) | 479,703 (+6,751) | 1,028,424 (+14,208) |
| 2025-10-22 | 557,949 (+9,228) | 491,395 (+11,692) | 1,049,344 (+20,920) |
| 2025-10-23 | 564,716 (+6,767) | 498,736 (+7,341) | 1,063,452 (+14,108) |
| 2025-10-24 | 572,692 (+7,976) | 506,905 (+8,169) | 1,079,597 (+16,145) |
| 2025-10-25 | 578,927 (+6,235) | 516,129 (+9,224) | 1,095,056 (+15,459) |
| 2025-10-26 | 584,409 (+5,482) | 521,179 (+5,050) | 1,105,588 (+10,532) |
| 2025-10-27 | 589,999 (+5,590) | 526,001 (+4,822) | 1,116,000 (+10,412) |
| 2025-10-28 | 595,776 (+5,777) | 532,438 (+6,437) | 1,128,214 (+12,214) |
| 2025-10-29 | 606,259 (+10,483) | 542,064 (+9,626) | 1,148,323 (+20,109) |
| 2025-10-30 | 613,746 (+7,487) | 542,064 (+0) | 1,155,810 (+7,487) |
| 2025-10-30 | 617,846 (+4,100) | 555,026 (+12,962) | 1,172,872 (+17,062) |
| 2025-10-31 | 626,612 (+8,766) | 564,579 (+9,553) | 1,191,191 (+18,319) |
| 2025-11-01 | 636,100 (+9,488) | 581,806 (+17,227) | 1,217,906 (+26,715) |
| 2025-11-02 | 644,067 (+7,967) | 590,004 (+8,198) | 1,234,071 (+16,165) |
| 2025-11-03 | 653,130 (+9,063) | 597,139 (+7,135) | 1,250,269 (+16,198) |
| 2025-11-04 | 663,912 (+10,782) | 608,056 (+10,917) | 1,271,968 (+21,699) |
| 2025-11-05 | 675,074 (+11,162) | 619,690 (+11,634) | 1,294,764 (+22,796) |
| 2025-11-06 | 686,252 (+11,178) | 630,885 (+11,195) | 1,317,137 (+22,373) |
| 2025-11-07 | 696,646 (+10,394) | 642,146 (+11,261) | 1,338,792 (+21,655) |
| 2025-11-08 | 706,035 (+9,389) | 653,489 (+11,343) | 1,359,524 (+20,732) |
| 2025-11-09 | 713,462 (+7,427) | 660,459 (+6,970) | 1,373,921 (+14,397) |
| 2025-11-10 | 722,288 (+8,826) | 668,225 (+7,766) | 1,390,513 (+16,592) |
| 2025-11-11 | 729,769 (+7,481) | 677,501 (+9,276) | 1,407,270 (+16,757) |
| 2025-11-12 | 740,180 (+10,411) | 686,454 (+8,953) | 1,426,634 (+19,364) |
| 2025-11-13 | 749,905 (+9,725) | 696,157 (+9,703) | 1,446,062 (+19,428) |
| 2025-11-14 | 759,928 (+10,023) | 705,237 (+9,080) | 1,465,165 (+19,103) |
| 2025-11-15 | 765,955 (+6,027) | 712,870 (+7,633) | 1,478,825 (+13,660) |
| 2025-11-16 | 771,069 (+5,114) | 716,596 (+3,726) | 1,487,665 (+8,840) |
| 2025-11-17 | 780,161 (+9,092) | 723,339 (+6,743) | 1,503,500 (+15,835) |
| 2025-11-18 | 791,563 (+11,402) | 732,544 (+9,205) | 1,524,107 (+20,607) |
| 2025-11-19 | 804,409 (+12,846) | 747,624 (+15,080) | 1,552,033 (+27,926) |
| 2025-11-20 | 814,620 (+10,211) | 757,907 (+10,283) | 1,572,527 (+20,494) |
| 2025-11-21 | 826,309 (+11,689) | 769,307 (+11,400) | 1,595,616 (+23,089) |
| 2025-11-22 | 837,269 (+10,960) | 780,996 (+11,689) | 1,618,265 (+22,649) |
| 2025-11-23 | 846,609 (+9,340) | 795,069 (+14,073) | 1,641,678 (+23,413) |
| 2025-11-24 | 856,733 (+10,124) | 804,033 (+8,964) | 1,660,766 (+19,088) |
| 2025-11-25 | 869,423 (+12,690) | 817,339 (+13,306) | 1,686,762 (+25,996) |
| 2025-11-26 | 881,414 (+11,991) | 832,518 (+15,179) | 1,713,932 (+27,170) |
| 2025-11-27 | 893,960 (+12,546) | 846,180 (+13,662) | 1,740,140 (+26,208) |
| 2025-11-28 | 901,741 (+7,781) | 856,482 (+10,302) | 1,758,223 (+18,083) |
| 2025-11-29 | 908,689 (+6,948) | 863,361 (+6,879) | 1,772,050 (+13,827) |
| 2025-11-30 | 916,116 (+7,427) | 870,194 (+6,833) | 1,786,310 (+14,260) |
| 2025-12-01 | 925,898 (+9,782) | 876,500 (+6,306) | 1,802,398 (+16,088) |
| 2025-12-02 | 939,250 (+13,352) | 890,919 (+14,419) | 1,830,169 (+27,771) |
| 2025-12-03 | 952,249 (+12,999) | 903,713 (+12,794) | 1,855,962 (+25,793) |
| 2025-12-04 | 965,611 (+13,362) | 916,471 (+12,758) | 1,882,082 (+26,120) |
| 2025-12-05 | 977,996 (+12,385) | 930,616 (+14,145) | 1,908,612 (+26,530) |
| 2025-12-06 | 987,884 (+9,888) | 943,773 (+13,157) | 1,931,657 (+23,045) |
| 2025-12-07 | 994,046 (+6,162) | 951,425 (+7,652) | 1,945,471 (+13,814) |
| 2025-12-08 | 1,000,898 (+6,852) | 957,149 (+5,724) | 1,958,047 (+12,576) |
| 2025-12-09 | 1,011,488 (+10,590) | 973,922 (+16,773) | 1,985,410 (+27,363) |
| 2025-12-10 | 1,025,891 (+14,403) | 991,708 (+17,786) | 2,017,599 (+32,189) |
| 2025-12-11 | 1,045,110 (+19,219) | 1,010,559 (+18,851) | 2,055,669 (+38,070) |
| 2025-12-12 | 1,061,340 (+16,230) | 1,030,838 (+20,279) | 2,092,178 (+36,509) |
| 2025-12-13 | 1,073,561 (+12,221) | 1,044,608 (+13,770) | 2,118,169 (+25,991) |
| 2025-12-14 | 1,082,042 (+8,481) | 1,052,425 (+7,817) | 2,134,467 (+16,298) |
| 2025-12-15 | 1,093,632 (+11,590) | 1,059,078 (+6,653) | 2,152,710 (+18,243) |
| 2025-12-16 | 1,120,477 (+26,845) | 1,078,022 (+18,944) | 2,198,499 (+45,789) |
| 2025-12-17 | 1,151,067 (+30,590) | 1,097,661 (+19,639) | 2,248,728 (+50,229) |
| 2025-12-18 | 1,178,658 (+27,591) | 1,113,418 (+15,757) | 2,292,076 (+43,348) |
+12
View File
@@ -0,0 +1,12 @@
## Style Guide
- Try to keep things in one function unless composable or reusable
- DO NOT do unnecessary destructuring of variables
- DO NOT use `else` statements unless necessary
- DO NOT use `try`/`catch` if it can be avoided
- AVOID `try`/`catch` where possible
- AVOID `else` statements
- AVOID using `any` type
- AVOID `let` statements
- PREFER single word variable names where possible
- Use as many bun apis as possible like Bun.file()
+1073 -716
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,2 +1,2 @@
[install]
exact = true
exact = true
Generated
+27
View File
@@ -0,0 +1,27 @@
{
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1765934234,
"narHash": "sha256-pJjWUzNnjbIAMIc5gRFUuKCDQ9S1cuh3b2hKgA7Mc4A=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "af84f9d270d404c17699522fab95bbf928a2d92f",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}
+107
View File
@@ -0,0 +1,107 @@
{
description = "OpenCode development flake";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
};
outputs =
{
nixpkgs,
...
}:
let
systems = [
"aarch64-linux"
"x86_64-linux"
"aarch64-darwin"
"x86_64-darwin"
];
lib = nixpkgs.lib;
forEachSystem = lib.genAttrs systems;
pkgsFor = system: nixpkgs.legacyPackages.${system};
packageJson = builtins.fromJSON (builtins.readFile ./packages/opencode/package.json);
bunTarget = {
"aarch64-linux" = "bun-linux-arm64";
"x86_64-linux" = "bun-linux-x64";
"aarch64-darwin" = "bun-darwin-arm64";
"x86_64-darwin" = "bun-darwin-x64";
};
defaultNodeModules = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
hashesFile = "${./nix}/hashes.json";
hashesData =
if builtins.pathExists hashesFile then builtins.fromJSON (builtins.readFile hashesFile) else { };
nodeModulesHash = hashesData.nodeModules or defaultNodeModules;
modelsDev = forEachSystem (
system:
let
pkgs = pkgsFor system;
in
pkgs."models-dev"
);
in
{
devShells = forEachSystem (
system:
let
pkgs = pkgsFor system;
in
{
default = pkgs.mkShell {
packages = with pkgs; [
bun
nodejs_20
pkg-config
openssl
git
];
};
}
);
packages = forEachSystem (
system:
let
pkgs = pkgsFor system;
mkNodeModules = pkgs.callPackage ./nix/node-modules.nix {
hash = nodeModulesHash;
};
mkPackage = pkgs.callPackage ./nix/opencode.nix { };
in
{
default = mkPackage {
version = packageJson.version;
src = ./.;
scripts = ./nix/scripts;
target = bunTarget.${system};
modelsDev = "${modelsDev.${system}}/dist/_api.json";
mkNodeModules = mkNodeModules;
};
}
);
apps = forEachSystem (
system:
let
pkgs = pkgsFor system;
in
{
opencode-dev = {
type = "app";
meta = {
description = "Nix devshell shell for OpenCode";
runtimeInputs = [ pkgs.bun ];
};
program = "${
pkgs.writeShellApplication {
name = "opencode-dev";
text = ''
exec bun run dev "$@"
'';
}
}/bin/opencode-dev";
};
}
);
};
}
+28 -2
View File
@@ -6,7 +6,7 @@ Mention `/opencode` in your comment, and opencode will execute tasks within your
## Features
#### Explain an issues
#### Explain an issue
Leave the following comment on a GitHub issue. `opencode` will read the entire thread, including all comments, and reply with a clear explanation.
@@ -14,7 +14,7 @@ Leave the following comment on a GitHub issue. `opencode` will read the entire t
/opencode explain this issue
```
#### Fix an issues
#### Fix an issue
Leave the following comment on a GitHub issue. opencode will create a new branch, implement the changes, and open a PR with the changes.
@@ -30,6 +30,24 @@ Leave the following comment on a GitHub PR. opencode will implement the requeste
Delete the attachment from S3 when the note is removed /oc
```
#### Review specific code lines
Leave a comment directly on code lines in the PR's "Files" tab. opencode will automatically detect the file, line numbers, and diff context to provide precise responses.
```
[Comment on specific lines in Files tab]
/oc add error handling here
```
When commenting on specific lines, opencode receives:
- The exact file being reviewed
- The specific lines of code
- The surrounding diff context
- Line number information
This allows for more targeted requests without needing to specify file paths or line numbers manually.
## Installation
Run the following command in the terminal from your GitHub repo:
@@ -51,6 +69,8 @@ This will walk you through installing the GitHub app, creating the workflow, and
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
jobs:
opencode:
@@ -135,3 +155,9 @@ Replace the image URL `https://github.com/user-attachments/assets/xxxxxxxx` with
```
MOCK_EVENT='{"eventName":"issue_comment","repo":{"owner":"sst","repo":"hello-world"},"actor":"fwang","payload":{"issue":{"number":4,"pull_request":{}},"comment":{"id":1,"body":"hey opencode, summarize thread"}}}'
```
### PR review comment event
```
MOCK_EVENT='{"eventName":"pull_request_review_comment","repo":{"owner":"sst","repo":"hello-world"},"actor":"fwang","payload":{"pull_request":{"number":7},"comment":{"id":1,"body":"hey opencode, add error handling","path":"src/components/Button.tsx","diff_hunk":"@@ -45,8 +45,11 @@\n- const handleClick = () => {\n- console.log('clicked')\n+ const handleClick = useCallback(() => {\n+ console.log('clicked')\n+ doSomething()\n+ }, [doSomething])","line":47,"original_line":45,"position":10,"commit_id":"abc123","original_commit_id":"def456"}}}'
```
+40
View File
@@ -13,13 +13,49 @@ inputs:
description: "Share the opencode session (defaults to true for public repos)"
required: false
prompt:
description: "Custom prompt to override the default prompt"
required: false
use_github_token:
description: "Use GITHUB_TOKEN directly instead of OpenCode App token exchange. When true, skips OIDC and uses the GITHUB_TOKEN env var."
required: false
default: "false"
mentions:
description: "Comma-separated list of trigger phrases (case-insensitive). Defaults to '/opencode,/oc'"
required: false
oidc_base_url:
description: "Base URL for OIDC token exchange API. Only required when running a custom GitHub App install. Defaults to https://api.opencode.ai"
required: false
runs:
using: "composite"
steps:
- name: Get opencode version
id: version
shell: bash
run: |
VERSION=$(curl -sf https://api.github.com/repos/sst/opencode/releases/latest | grep -o '"tag_name": *"[^"]*"' | cut -d'"' -f4)
echo "version=${VERSION:-latest}" >> $GITHUB_OUTPUT
- name: Cache opencode
id: cache
uses: actions/cache@v4
with:
path: ~/.opencode/bin
key: opencode-${{ runner.os }}-${{ runner.arch }}-${{ steps.version.outputs.version }}
- name: Install opencode
if: steps.cache.outputs.cache-hit != 'true'
shell: bash
run: curl -fsSL https://opencode.ai/install | bash
- name: Add opencode to PATH
shell: bash
run: echo "$HOME/.opencode/bin" >> $GITHUB_PATH
- name: Run opencode
shell: bash
id: run_opencode
@@ -27,3 +63,7 @@ runs:
env:
MODEL: ${{ inputs.model }}
SHARE: ${{ inputs.share }}
PROMPT: ${{ inputs.prompt }}
USE_GITHUB_TOKEN: ${{ inputs.use_github_token }}
MENTIONS: ${{ inputs.mentions }}
OIDC_BASE_URL: ${{ inputs.oidc_base_url }}
+44 -7
View File
@@ -5,7 +5,7 @@ import { graphql } from "@octokit/graphql"
import * as core from "@actions/core"
import * as github from "@actions/github"
import type { Context as GitHubContext } from "@actions/github/lib/context"
import type { IssueCommentEvent } from "@octokit/webhooks-types"
import type { IssueCommentEvent, PullRequestReviewCommentEvent } from "@octokit/webhooks-types"
import { createOpencodeClient } from "@opencode-ai/sdk"
import { spawn } from "node:child_process"
@@ -124,7 +124,7 @@ let exitCode = 0
type PromptFiles = Awaited<ReturnType<typeof getUserPrompt>>["promptFiles"]
try {
assertContextEvent("issue_comment")
assertContextEvent("issue_comment", "pull_request_review_comment")
assertPayloadKeyword()
await assertOpencodeConnected()
@@ -241,19 +241,43 @@ function createOpencode() {
}
function assertPayloadKeyword() {
const payload = useContext().payload as IssueCommentEvent
const payload = useContext().payload as IssueCommentEvent | PullRequestReviewCommentEvent
const body = payload.comment.body.trim()
if (!body.match(/(?:^|\s)(?:\/opencode|\/oc)(?=$|\s)/)) {
throw new Error("Comments must mention `/opencode` or `/oc`")
}
}
function getReviewCommentContext() {
const context = useContext()
if (context.eventName !== "pull_request_review_comment") {
return null
}
const payload = context.payload as PullRequestReviewCommentEvent
return {
file: payload.comment.path,
diffHunk: payload.comment.diff_hunk,
line: payload.comment.line,
originalLine: payload.comment.original_line,
position: payload.comment.position,
commitId: payload.comment.commit_id,
originalCommitId: payload.comment.original_commit_id,
}
}
async function assertOpencodeConnected() {
let retry = 0
let connected = false
do {
try {
await client.app.get<true>()
await client.app.log<true>({
body: {
service: "github-workflow",
level: "info",
message: "Prepare to react to Github Workflow event",
},
})
connected = true
break
} catch (e) {}
@@ -383,11 +407,24 @@ async function createComment() {
}
async function getUserPrompt() {
const context = useContext()
const payload = context.payload as IssueCommentEvent | PullRequestReviewCommentEvent
const reviewContext = getReviewCommentContext()
let prompt = (() => {
const payload = useContext().payload as IssueCommentEvent
const body = payload.comment.body.trim()
if (body === "/opencode" || body === "/oc") return "Summarize this thread"
if (body.includes("/opencode") || body.includes("/oc")) return body
if (body === "/opencode" || body === "/oc") {
if (reviewContext) {
return `Review this code change and suggest improvements for the commented lines:\n\nFile: ${reviewContext.file}\nLines: ${reviewContext.line}\n\n${reviewContext.diffHunk}`
}
return "Summarize this thread"
}
if (body.includes("/opencode") || body.includes("/oc")) {
if (reviewContext) {
return `${body}\n\nContext: You are reviewing a comment on file "${reviewContext.file}" at line ${reviewContext.line}.\n\nDiff context:\n${reviewContext.diffHunk}`
}
return body
}
throw new Error("Comments must mention `/opencode` or `/oc`")
})()
+1 -1
View File
@@ -13,7 +13,7 @@
"@actions/core": "1.11.1",
"@actions/github": "6.0.1",
"@octokit/graphql": "9.0.1",
"@octokit/rest": "22.0.0",
"@octokit/rest": "catalog:",
"@opencode-ai/sdk": "workspace:*"
}
}
+1 -1
View File
@@ -6,4 +6,4 @@
/// <reference path="../sst-env.d.ts" />
import "sst"
export {}
export {}
+11 -4
View File
@@ -97,8 +97,13 @@ export const stripeWebhook = new stripe.WebhookEndpoint("StripeWebhookEndpoint",
],
})
const ZEN_MODELS1 = new sst.Secret("ZEN_MODELS1")
const ZEN_MODELS2 = new sst.Secret("ZEN_MODELS2")
const ZEN_MODELS = [
new sst.Secret("ZEN_MODELS1"),
new sst.Secret("ZEN_MODELS2"),
new sst.Secret("ZEN_MODELS3"),
new sst.Secret("ZEN_MODELS4"),
new sst.Secret("ZEN_MODELS5"),
]
const STRIPE_SECRET_KEY = new sst.Secret("STRIPE_SECRET_KEY")
const AUTH_API_URL = new sst.Linkable("AUTH_API_URL", {
properties: { value: auth.url.apply((url) => url!) },
@@ -112,6 +117,8 @@ const gatewayKv = new sst.cloudflare.Kv("GatewayKv")
// CONSOLE
////////////////
const bucket = new sst.cloudflare.Bucket("ZenData")
const AWS_SES_ACCESS_KEY_ID = new sst.Secret("AWS_SES_ACCESS_KEY_ID")
const AWS_SES_SECRET_ACCESS_KEY = new sst.Secret("AWS_SES_SECRET_ACCESS_KEY")
@@ -128,15 +135,15 @@ new sst.cloudflare.x.SolidStart("Console", {
domain,
path: "packages/console/app",
link: [
bucket,
database,
AUTH_API_URL,
STRIPE_WEBHOOK_SECRET,
STRIPE_SECRET_KEY,
ZEN_MODELS1,
ZEN_MODELS2,
EMAILOCTOPUS_API_KEY,
AWS_SES_ACCESS_KEY_ID,
AWS_SES_SECRET_ACCESS_KEY,
...ZEN_MODELS,
...($dev
? [
new sst.Secret("CLOUDFLARE_DEFAULT_ACCOUNT_ID", process.env.CLOUDFLARE_DEFAULT_ACCOUNT_ID!),
+17
View File
@@ -0,0 +1,17 @@
import { SECRET } from "./secret"
import { domain, shortDomain } from "./stage"
const storage = new sst.cloudflare.Bucket("EnterpriseStorage")
const teams = new sst.cloudflare.x.SolidStart("Teams", {
domain: shortDomain,
path: "packages/enterprise",
buildCommand: "bun run build:cloudflare",
environment: {
OPENCODE_STORAGE_ADAPTER: "r2",
OPENCODE_STORAGE_ACCOUNT_ID: sst.cloudflare.DEFAULT_ACCOUNT_ID,
OPENCODE_STORAGE_ACCESS_KEY_ID: SECRET.R2AccessKey.value,
OPENCODE_STORAGE_SECRET_ACCESS_KEY: SECRET.R2SecretKey.value,
OPENCODE_STORAGE_BUCKET: storage.name,
},
})
+4
View File
@@ -0,0 +1,4 @@
export const SECRET = {
R2AccessKey: new sst.Secret("R2AccessKey", "unknown"),
R2SecretKey: new sst.Secret("R2SecretKey", "unknown"),
}
+6
View File
@@ -11,3 +11,9 @@ new cloudflare.RegionalHostname("RegionalHostname", {
regionKey: "us",
zoneId: zoneID,
})
export const shortDomain = (() => {
if ($app.stage === "production") return "opncd.ai"
if ($app.stage === "dev") return "dev.opncd.ai"
return `${$app.stage}.dev.opncd.ai`
})()
+204 -32
View File
@@ -2,49 +2,103 @@
set -euo pipefail
APP=opencode
MUTED='\033[0;2m'
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
ORANGE='\033[38;2;255;140;0m'
ORANGE='\033[38;5;214m'
NC='\033[0m' # No Color
requested_version=${VERSION:-}
raw_os=$(uname -s)
os=$(echo "$raw_os" | tr '[:upper:]' '[:lower:]')
# Normalize various Unix-like identifiers
case "$raw_os" in
Darwin*) os="darwin" ;;
Linux*) os="linux" ;;
MINGW*|MSYS*|CYGWIN*) os="windows" ;;
esac
arch=$(uname -m)
esac
arch=$(uname -m)
if [[ "$arch" == "aarch64" ]]; then
arch="arm64"
elif [[ "$arch" == "x86_64" ]]; then
fi
if [[ "$arch" == "x86_64" ]]; then
arch="x64"
fi
filename="$APP-$os-$arch.zip"
if [ "$os" = "darwin" ] && [ "$arch" = "x64" ]; then
rosetta_flag=$(sysctl -n sysctl.proc_translated 2>/dev/null || echo 0)
if [ "$rosetta_flag" = "1" ]; then
arch="arm64"
fi
fi
case "$filename" in
*"-linux-"*)
[[ "$arch" == "x64" || "$arch" == "arm64" ]] || exit 1
combo="$os-$arch"
case "$combo" in
linux-x64|linux-arm64|darwin-x64|darwin-arm64|windows-x64)
;;
*"-darwin-"*)
[[ "$arch" == "x64" || "$arch" == "arm64" ]] || exit 1
;;
*"-windows-"*)
[[ "$arch" == "x64" ]] || exit 1
;;
*)
echo -e "${RED}Unsupported OS/Arch: $os/$arch${NC}"
exit 1
*)
echo -e "${RED}Unsupported OS/Arch: $os/$arch${NC}"
exit 1
;;
esac
archive_ext=".zip"
if [ "$os" = "linux" ]; then
archive_ext=".tar.gz"
fi
is_musl=false
if [ "$os" = "linux" ]; then
if [ -f /etc/alpine-release ]; then
is_musl=true
fi
if command -v ldd >/dev/null 2>&1; then
if ldd --version 2>&1 | grep -qi musl; then
is_musl=true
fi
fi
fi
needs_baseline=false
if [ "$arch" = "x64" ]; then
if [ "$os" = "linux" ]; then
if ! grep -qi avx2 /proc/cpuinfo 2>/dev/null; then
needs_baseline=true
fi
fi
if [ "$os" = "darwin" ]; then
avx2=$(sysctl -n hw.optional.avx2_0 2>/dev/null || echo 0)
if [ "$avx2" != "1" ]; then
needs_baseline=true
fi
fi
fi
target="$os-$arch"
if [ "$needs_baseline" = "true" ]; then
target="$target-baseline"
fi
if [ "$is_musl" = "true" ]; then
target="$target-musl"
fi
filename="$APP-$target$archive_ext"
if [ "$os" = "linux" ]; then
if ! command -v tar >/dev/null 2>&1; then
echo -e "${RED}Error: 'tar' is required but not installed.${NC}"
exit 1
fi
else
if ! command -v unzip >/dev/null 2>&1; then
echo -e "${RED}Error: 'unzip' is required but not installed.${NC}"
exit 1
fi
fi
INSTALL_DIR=$HOME/.opencode/bin
mkdir -p "$INSTALL_DIR"
@@ -67,8 +121,8 @@ print_message() {
local color=""
case $level in
info) color="${GREEN}" ;;
warning) color="${YELLOW}" ;;
info) color="${NC}" ;;
warning) color="${NC}" ;;
error) color="${RED}" ;;
esac
@@ -86,22 +140,123 @@ check_version() {
installed_version=$(echo $installed_version | awk '{print $2}')
if [[ "$installed_version" != "$specific_version" ]]; then
print_message info "Installed version: ${YELLOW}$installed_version."
print_message info "${MUTED}Installed version: ${NC}$installed_version."
else
print_message info "Version ${YELLOW}$specific_version${GREEN} already installed"
print_message info "${MUTED}Version ${NC}$specific_version${MUTED} already installed"
exit 0
fi
fi
}
unbuffered_sed() {
if echo | sed -u -e "" >/dev/null 2>&1; then
sed -nu "$@"
elif echo | sed -l -e "" >/dev/null 2>&1; then
sed -nl "$@"
else
local pad="$(printf "\n%512s" "")"
sed -ne "s/$/\\${pad}/" "$@"
fi
}
print_progress() {
local bytes="$1"
local length="$2"
[ "$length" -gt 0 ] || return 0
local width=50
local percent=$(( bytes * 100 / length ))
[ "$percent" -gt 100 ] && percent=100
local on=$(( percent * width / 100 ))
local off=$(( width - on ))
local filled=$(printf "%*s" "$on" "")
filled=${filled// /■}
local empty=$(printf "%*s" "$off" "")
empty=${empty// /・}
printf "\r${ORANGE}%s%s %3d%%${NC}" "$filled" "$empty" "$percent" >&4
}
download_with_progress() {
local url="$1"
local output="$2"
if [ -t 2 ]; then
exec 4>&2
else
exec 4>/dev/null
fi
local tmp_dir=${TMPDIR:-/tmp}
local basename="${tmp_dir}/opencode_install_$$"
local tracefile="${basename}.trace"
rm -f "$tracefile"
mkfifo "$tracefile"
# Hide cursor
printf "\033[?25l" >&4
trap "trap - RETURN; rm -f \"$tracefile\"; printf '\033[?25h' >&4; exec 4>&-" RETURN
(
curl --trace-ascii "$tracefile" -s -L -o "$output" "$url"
) &
local curl_pid=$!
unbuffered_sed \
-e 'y/ACDEGHLNORTV/acdeghlnortv/' \
-e '/^0000: content-length:/p' \
-e '/^<= recv data/p' \
"$tracefile" | \
{
local length=0
local bytes=0
while IFS=" " read -r -a line; do
[ "${#line[@]}" -lt 2 ] && continue
local tag="${line[0]} ${line[1]}"
if [ "$tag" = "0000: content-length:" ]; then
length="${line[2]}"
length=$(echo "$length" | tr -d '\r')
bytes=0
elif [ "$tag" = "<= recv" ]; then
local size="${line[3]}"
bytes=$(( bytes + size ))
if [ "$length" -gt 0 ]; then
print_progress "$bytes" "$length"
fi
fi
done
}
wait $curl_pid
local ret=$?
echo "" >&4
return $ret
}
download_and_install() {
print_message info "Downloading ${ORANGE}opencode ${GREEN}version: ${YELLOW}$specific_version ${GREEN}..."
mkdir -p opencodetmp && cd opencodetmp
curl -# -L -o "$filename" "$url"
unzip -q "$filename"
mv opencode "$INSTALL_DIR"
print_message info "\n${MUTED}Installing ${NC}opencode ${MUTED}version: ${NC}$specific_version"
local tmp_dir="${TMPDIR:-/tmp}/opencode_install_$$"
mkdir -p "$tmp_dir"
if [[ "$os" == "windows" ]] || ! [ -t 2 ] || ! download_with_progress "$url" "$tmp_dir/$filename"; then
# Fallback to standard curl on Windows, non-TTY environments, or if custom progress fails
curl -# -L -o "$tmp_dir/$filename" "$url"
fi
if [ "$os" = "linux" ]; then
tar -xzf "$tmp_dir/$filename" -C "$tmp_dir"
else
unzip -q "$tmp_dir/$filename" -d "$tmp_dir"
fi
mv "$tmp_dir/opencode" "$INSTALL_DIR"
chmod 755 "${INSTALL_DIR}/opencode"
cd .. && rm -rf opencodetmp
rm -rf "$tmp_dir"
}
check_version
@@ -117,7 +272,7 @@ add_to_path() {
elif [[ -w $config_file ]]; then
echo -e "\n# opencode" >> "$config_file"
echo "$command" >> "$config_file"
print_message info "Successfully added ${ORANGE}opencode ${GREEN}to \$PATH in $config_file"
print_message info "${MUTED}Successfully added ${NC}opencode ${MUTED}to \$PATH in ${NC}$config_file"
else
print_message warning "Manually add the directory to $config_file (or similar):"
print_message info " $command"
@@ -191,3 +346,20 @@ if [ -n "${GITHUB_ACTIONS-}" ] && [ "${GITHUB_ACTIONS}" == "true" ]; then
echo "$INSTALL_DIR" >> $GITHUB_PATH
print_message info "Added $INSTALL_DIR to \$GITHUB_PATH"
fi
echo -e ""
echo -e "${MUTED}  ${NC} ▄ "
echo -e "${MUTED}█▀▀█ █▀▀█ █▀▀█ █▀▀▄ ${NC}█▀▀▀ █▀▀█ █▀▀█ █▀▀█"
echo -e "${MUTED}█░░█ █░░█ █▀▀▀ █░░█ ${NC}█░░░ █░░█ █░░█ █▀▀▀"
echo -e "${MUTED}▀▀▀▀ █▀▀▀ ▀▀▀▀ ▀ ▀ ${NC}▀▀▀▀ ▀▀▀▀ ▀▀▀▀ ▀▀▀▀"
echo -e ""
echo -e ""
echo -e "${MUTED}OpenCode includes free models, to start:${NC}"
echo -e ""
echo -e "cd <project> ${MUTED}# Open directory${NC}"
echo -e "opencode ${MUTED}# Run command${NC}"
echo -e ""
echo -e "${MUTED}For more information visit ${NC}https://opencode.ai/docs"
echo -e ""
echo -e ""
+40
View File
@@ -0,0 +1,40 @@
#!/usr/bin/env bun
import solidPlugin from "./node_modules/@opentui/solid/scripts/solid-plugin"
import path from "path"
import fs from "fs"
const dir = process.cwd()
const parser = fs.realpathSync(path.join(dir, "node_modules/@opentui/core/parser.worker.js"))
const worker = "./src/cli/cmd/tui/worker.ts"
const version = process.env.OPENCODE_VERSION ?? "local"
const channel = process.env.OPENCODE_CHANNEL ?? "local"
fs.rmSync(path.join(dir, "dist"), { recursive: true, force: true })
const result = await Bun.build({
entrypoints: ["./src/index.ts", worker, parser],
outdir: "./dist",
target: "bun",
sourcemap: "none",
tsconfig: "./tsconfig.json",
plugins: [solidPlugin],
external: ["@opentui/core"],
define: {
OPENCODE_VERSION: `'${version}'`,
OPENCODE_CHANNEL: `'${channel}'`,
// Leave undefined so runtime picks bundled/dist worker or fallback in code.
OPENCODE_WORKER_PATH: "undefined",
OTUI_TREE_SITTER_WORKER_PATH: 'new URL("./cli/cmd/tui/parser.worker.js", import.meta.url).href',
},
})
if (!result.success) {
console.error("bundle failed")
for (const log of result.logs) console.error(log)
process.exit(1)
}
const parserOut = path.join(dir, "dist/src/cli/cmd/tui/parser.worker.js")
fs.mkdirSync(path.dirname(parserOut), { recursive: true })
await Bun.write(parserOut, Bun.file(parser))
+3
View File
@@ -0,0 +1,3 @@
{
"nodeModules": "sha256-g6XHWk9IoDoeXbvENs+U2fqk185xKMLb0BRopCbXaIk="
}
+52
View File
@@ -0,0 +1,52 @@
{ hash, lib, stdenvNoCC, bun, cacert, curl }:
args:
stdenvNoCC.mkDerivation {
pname = "opencode-node_modules";
version = args.version;
src = args.src;
impureEnvVars =
lib.fetchers.proxyImpureEnvVars
++ [
"GIT_PROXY_COMMAND"
"SOCKS_SERVER"
];
nativeBuildInputs = [ bun cacert curl ];
dontConfigure = true;
buildPhase = ''
runHook preBuild
export HOME=$(mktemp -d)
export BUN_INSTALL_CACHE_DIR=$(mktemp -d)
bun install \
--cpu="*" \
--os="*" \
--frozen-lockfile \
--ignore-scripts \
--no-progress \
--linker=isolated
bun --bun ${args.canonicalizeScript}
bun --bun ${args.normalizeBinsScript}
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out
while IFS= read -r dir; do
rel="''${dir#./}"
dest="$out/$rel"
mkdir -p "$(dirname "$dest")"
cp -R "$dir" "$dest"
done < <(find . -type d -name node_modules -prune | sort)
runHook postInstall
'';
dontFixup = true;
outputHashAlgo = "sha256";
outputHashMode = "recursive";
outputHash = hash;
}
+135
View File
@@ -0,0 +1,135 @@
{ lib, stdenvNoCC, bun, ripgrep, makeBinaryWrapper }:
args:
let
scripts = args.scripts;
mkModules =
attrs:
args.mkNodeModules (
attrs
// {
canonicalizeScript = scripts + "/canonicalize-node-modules.ts";
normalizeBinsScript = scripts + "/normalize-bun-binaries.ts";
}
);
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "opencode";
version = args.version;
src = args.src;
node_modules = mkModules {
version = finalAttrs.version;
src = finalAttrs.src;
};
nativeBuildInputs = [
bun
makeBinaryWrapper
];
env.MODELS_DEV_API_JSON = args.modelsDev;
env.OPENCODE_VERSION = args.version;
env.OPENCODE_CHANNEL = "stable";
dontConfigure = true;
buildPhase = ''
runHook preBuild
cp -r ${finalAttrs.node_modules}/node_modules .
cp -r ${finalAttrs.node_modules}/packages .
(
cd packages/opencode
chmod -R u+w ./node_modules
mkdir -p ./node_modules/@opencode-ai
rm -f ./node_modules/@opencode-ai/{script,sdk,plugin}
ln -s $(pwd)/../../packages/script ./node_modules/@opencode-ai/script
ln -s $(pwd)/../../packages/sdk/js ./node_modules/@opencode-ai/sdk
ln -s $(pwd)/../../packages/plugin ./node_modules/@opencode-ai/plugin
cp ${./bundle.ts} ./bundle.ts
chmod +x ./bundle.ts
bun run ./bundle.ts
)
runHook postBuild
'';
installPhase = ''
runHook preInstall
cd packages/opencode
if [ ! -d dist ]; then
echo "ERROR: dist directory missing after bundle step"
exit 1
fi
mkdir -p $out/lib/opencode
cp -r dist $out/lib/opencode/
chmod -R u+w $out/lib/opencode/dist
# Select bundled worker assets deterministically (sorted find output)
worker_file=$(find "$out/lib/opencode/dist" -type f \( -path '*/tui/worker.*' -o -name 'worker.*' \) | sort | head -n1)
parser_worker_file=$(find "$out/lib/opencode/dist" -type f -name 'parser.worker.*' | sort | head -n1)
if [ -z "$worker_file" ]; then
echo "ERROR: bundled worker not found"
exit 1
fi
main_wasm=$(printf '%s\n' "$out"/lib/opencode/dist/tree-sitter-*.wasm | sort | head -n1)
wasm_list=$(find "$out/lib/opencode/dist" -maxdepth 1 -name 'tree-sitter-*.wasm' -print)
for patch_file in "$worker_file" "$parser_worker_file"; do
[ -z "$patch_file" ] && continue
[ ! -f "$patch_file" ] && continue
if [ -n "$wasm_list" ] && grep -q 'tree-sitter' "$patch_file"; then
# Rewrite wasm references to absolute store paths to avoid runtime resolve failures.
bun --bun ${scripts + "/patch-wasm.ts"} "$patch_file" "$main_wasm" $wasm_list
fi
done
mkdir -p $out/lib/opencode/node_modules
cp -r ../../node_modules/.bun $out/lib/opencode/node_modules/
mkdir -p $out/lib/opencode/node_modules/@opentui
mkdir -p $out/bin
makeWrapper ${bun}/bin/bun $out/bin/opencode \
--add-flags "run" \
--add-flags "$out/lib/opencode/dist/src/index.js" \
--prefix PATH : ${lib.makeBinPath [ ripgrep ]} \
--argv0 opencode
runHook postInstall
'';
postInstall = ''
for pkg in $out/lib/opencode/node_modules/.bun/@opentui+core-* $out/lib/opencode/node_modules/.bun/@opentui+solid-* $out/lib/opencode/node_modules/.bun/@opentui+core@* $out/lib/opencode/node_modules/.bun/@opentui+solid@*; do
if [ -d "$pkg" ]; then
pkgName=$(basename "$pkg" | sed 's/@opentui+\([^@]*\)@.*/\1/')
ln -sf ../.bun/$(basename "$pkg")/node_modules/@opentui/$pkgName \
$out/lib/opencode/node_modules/@opentui/$pkgName
fi
done
'';
dontFixup = true;
meta = {
description = "AI coding agent built for the terminal";
longDescription = ''
OpenCode is a terminal-based agent that can build anything.
It combines a TypeScript/JavaScript core with a Go-based TUI
to provide an interactive AI coding experience.
'';
homepage = "https://github.com/sst/opencode";
license = lib.licenses.mit;
platforms = [
"aarch64-linux"
"x86_64-linux"
"aarch64-darwin"
"x86_64-darwin"
];
mainProgram = "opencode";
};
})
+115
View File
@@ -0,0 +1,115 @@
import solidPlugin from "./packages/opencode/node_modules/@opentui/solid/scripts/solid-plugin"
import path from "path"
import fs from "fs"
const version = "@VERSION@"
const pkg = path.join(process.cwd(), "packages/opencode")
const parser = fs.realpathSync(path.join(pkg, "./node_modules/@opentui/core/parser.worker.js"))
const worker = "./src/cli/cmd/tui/worker.ts"
const target = process.env["BUN_COMPILE_TARGET"]
if (!target) {
throw new Error("BUN_COMPILE_TARGET not set")
}
process.chdir(pkg)
const manifestName = "opencode-assets.manifest"
const manifestPath = path.join(pkg, manifestName)
const readTrackedAssets = () => {
if (!fs.existsSync(manifestPath)) return []
return fs
.readFileSync(manifestPath, "utf8")
.split("\n")
.map((line) => line.trim())
.filter((line) => line.length > 0)
}
const removeTrackedAssets = () => {
for (const file of readTrackedAssets()) {
const filePath = path.join(pkg, file)
if (fs.existsSync(filePath)) {
fs.rmSync(filePath, { force: true })
}
}
}
const assets = new Set<string>()
const addAsset = async (p: string) => {
const file = path.basename(p)
const dest = path.join(pkg, file)
await Bun.write(dest, Bun.file(p))
assets.add(file)
}
removeTrackedAssets()
const result = await Bun.build({
conditions: ["browser"],
tsconfig: "./tsconfig.json",
plugins: [solidPlugin],
sourcemap: "external",
entrypoints: ["./src/index.ts", parser, worker],
define: {
OPENCODE_VERSION: `'@VERSION@'`,
OTUI_TREE_SITTER_WORKER_PATH: "/$bunfs/root/" + path.relative(pkg, parser).replace(/\\/g, "/"),
OPENCODE_CHANNEL: "'latest'",
},
compile: {
target,
outfile: "opencode",
execArgv: ["--user-agent=opencode/" + version, '--env-file=""', "--"],
windows: {},
},
})
if (!result.success) {
console.error("Build failed!")
for (const log of result.logs) {
console.error(log)
}
throw new Error("Compilation failed")
}
const assetOutputs = result.outputs?.filter((x) => x.kind === "asset") ?? []
for (const x of assetOutputs) {
await addAsset(x.path)
}
const bundle = await Bun.build({
entrypoints: [worker],
tsconfig: "./tsconfig.json",
plugins: [solidPlugin],
target: "bun",
outdir: "./.opencode-worker",
sourcemap: "none",
})
if (!bundle.success) {
console.error("Worker build failed!")
for (const log of bundle.logs) {
console.error(log)
}
throw new Error("Worker compilation failed")
}
const workerAssets = bundle.outputs?.filter((x) => x.kind === "asset") ?? []
for (const x of workerAssets) {
await addAsset(x.path)
}
const output = bundle.outputs.find((x) => x.kind === "entry-point")
if (!output) {
throw new Error("Worker build produced no entry-point output")
}
const dest = path.join(pkg, "opencode-worker.js")
await Bun.write(dest, Bun.file(output.path))
fs.rmSync(path.dirname(output.path), { recursive: true, force: true })
const list = Array.from(assets)
await Bun.write(manifestPath, list.length > 0 ? list.join("\n") + "\n" : "")
console.log("Build successful!")
+113
View File
@@ -0,0 +1,113 @@
import { lstat, mkdir, readdir, rm, symlink } from "fs/promises"
import { join, relative } from "path"
type SemverLike = {
valid: (value: string) => string | null
rcompare: (left: string, right: string) => number
}
type Entry = {
dir: string
version: string
label: string
}
const root = process.cwd()
const bunRoot = join(root, "node_modules/.bun")
const linkRoot = join(bunRoot, "node_modules")
const directories = (await readdir(bunRoot)).sort()
const versions = new Map<string, Entry[]>()
for (const entry of directories) {
const full = join(bunRoot, entry)
const info = await lstat(full)
if (!info.isDirectory()) {
continue
}
const parsed = parseEntry(entry)
if (!parsed) {
continue
}
const list = versions.get(parsed.name) ?? []
list.push({ dir: full, version: parsed.version, label: entry })
versions.set(parsed.name, list)
}
const semverModule = (await import(join(bunRoot, "node_modules/semver"))) as
| SemverLike
| {
default: SemverLike
}
const semver = "default" in semverModule ? semverModule.default : semverModule
const selections = new Map<string, Entry>()
for (const [slug, list] of versions) {
list.sort((a, b) => {
const left = semver.valid(a.version)
const right = semver.valid(b.version)
if (left && right) {
const delta = semver.rcompare(left, right)
if (delta !== 0) {
return delta
}
}
if (left && !right) {
return -1
}
if (!left && right) {
return 1
}
return b.version.localeCompare(a.version)
})
selections.set(slug, list[0])
}
await rm(linkRoot, { recursive: true, force: true })
await mkdir(linkRoot, { recursive: true })
const rewrites: string[] = []
for (const [slug, entry] of Array.from(selections.entries()).sort((a, b) => a[0].localeCompare(b[0]))) {
const parts = slug.split("/")
const leaf = parts.pop()
if (!leaf) {
continue
}
const parent = join(linkRoot, ...parts)
await mkdir(parent, { recursive: true })
const linkPath = join(parent, leaf)
const desired = join(entry.dir, "node_modules", slug)
const exists = await lstat(desired)
.then((info) => info.isDirectory())
.catch(() => false)
if (!exists) {
continue
}
const relativeTarget = relative(parent, desired)
const resolved = relativeTarget.length === 0 ? "." : relativeTarget
await rm(linkPath, { recursive: true, force: true })
await symlink(resolved, linkPath)
rewrites.push(slug + " -> " + resolved)
}
rewrites.sort()
console.log("[canonicalize-node-modules] rebuilt", rewrites.length, "links")
for (const line of rewrites.slice(0, 20)) {
console.log(" ", line)
}
if (rewrites.length > 20) {
console.log(" ...")
}
function parseEntry(label: string) {
const marker = label.startsWith("@") ? label.indexOf("@", 1) : label.indexOf("@")
if (marker <= 0) {
return null
}
const name = label.slice(0, marker).replace(/\+/g, "/")
const version = label.slice(marker + 1)
if (!name || !version) {
return null
}
return { name, version }
}
+138
View File
@@ -0,0 +1,138 @@
import { lstat, mkdir, readdir, rm, symlink } from "fs/promises"
import { join, relative } from "path"
type PackageManifest = {
name?: string
bin?: string | Record<string, string>
}
const root = process.cwd()
const bunRoot = join(root, "node_modules/.bun")
const bunEntries = (await safeReadDir(bunRoot)).sort()
let rewritten = 0
for (const entry of bunEntries) {
const modulesRoot = join(bunRoot, entry, "node_modules")
if (!(await exists(modulesRoot))) {
continue
}
const binRoot = join(modulesRoot, ".bin")
await rm(binRoot, { recursive: true, force: true })
await mkdir(binRoot, { recursive: true })
const packageDirs = await collectPackages(modulesRoot)
for (const packageDir of packageDirs) {
const manifest = await readManifest(packageDir)
if (!manifest) {
continue
}
const binField = manifest.bin
if (!binField) {
continue
}
const seen = new Set<string>()
if (typeof binField === "string") {
const fallback = manifest.name ?? packageDir.split("/").pop()
if (fallback) {
await linkBinary(binRoot, fallback, packageDir, binField, seen)
}
} else {
const entries = Object.entries(binField).sort((a, b) => a[0].localeCompare(b[0]))
for (const [name, target] of entries) {
await linkBinary(binRoot, name, packageDir, target, seen)
}
}
}
}
console.log(`[normalize-bun-binaries] rewrote ${rewritten} links`)
async function collectPackages(modulesRoot: string) {
const found: string[] = []
const topLevel = (await safeReadDir(modulesRoot)).sort()
for (const name of topLevel) {
if (name === ".bin" || name === ".bun") {
continue
}
const full = join(modulesRoot, name)
if (!(await isDirectory(full))) {
continue
}
if (name.startsWith("@")) {
const scoped = (await safeReadDir(full)).sort()
for (const child of scoped) {
const scopedDir = join(full, child)
if (await isDirectory(scopedDir)) {
found.push(scopedDir)
}
}
continue
}
found.push(full)
}
return found.sort()
}
async function readManifest(dir: string) {
const file = Bun.file(join(dir, "package.json"))
if (!(await file.exists())) {
return null
}
const data = (await file.json()) as PackageManifest
return data
}
async function linkBinary(binRoot: string, name: string, packageDir: string, target: string, seen: Set<string>) {
if (!name || !target) {
return
}
const normalizedName = normalizeBinName(name)
if (seen.has(normalizedName)) {
return
}
const resolved = join(packageDir, target)
const script = Bun.file(resolved)
if (!(await script.exists())) {
return
}
seen.add(normalizedName)
const destination = join(binRoot, normalizedName)
const relativeTarget = relative(binRoot, resolved) || "."
await rm(destination, { force: true })
await symlink(relativeTarget, destination)
rewritten++
}
async function exists(path: string) {
try {
await lstat(path)
return true
} catch {
return false
}
}
async function isDirectory(path: string) {
try {
const info = await lstat(path)
return info.isDirectory()
} catch {
return false
}
}
async function safeReadDir(path: string) {
try {
return await readdir(path)
} catch {
return []
}
}
function normalizeBinName(name: string) {
const slash = name.lastIndexOf("/")
if (slash >= 0) {
return name.slice(slash + 1)
}
return name
}
+39
View File
@@ -0,0 +1,39 @@
#!/usr/bin/env bun
import fs from "fs"
import path from "path"
/**
* Rewrite tree-sitter wasm references inside a JS file to absolute paths.
* argv: [node, script, file, mainWasm, ...wasmPaths]
*/
const [, , file, mainWasm, ...wasmPaths] = process.argv
if (!file || !mainWasm) {
console.error("usage: patch-wasm <file> <mainWasm> [wasmPaths...]")
process.exit(1)
}
const content = fs.readFileSync(file, "utf8")
const byName = new Map<string, string>()
for (const wasm of wasmPaths) {
const name = path.basename(wasm)
byName.set(name, wasm)
}
let next = content
for (const [name, wasmPath] of byName) {
next = next.replaceAll(name, wasmPath)
}
next = next.replaceAll("tree-sitter.wasm", mainWasm).replaceAll("web-tree-sitter/tree-sitter.wasm", mainWasm)
// Collapse any relative prefixes before absolute store paths (e.g., "../../../..//nix/store/...")
next = next.replace(/(\.\/)+/g, "./")
next = next.replace(/(\.\.\/)+\/?(\/nix\/store[^"']+)/g, "/$2")
next = next.replace(/(["'])\/{2,}(\/nix\/store[^"']+)(["'])/g, "$1/$2$3")
next = next.replace(/(["'])\/\/(nix\/store[^"']+)(["'])/g, "$1/$2$3")
if (next !== content) fs.writeFileSync(file, next)
+112
View File
@@ -0,0 +1,112 @@
#!/usr/bin/env bash
set -euo pipefail
DUMMY="sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
SYSTEM=${SYSTEM:-x86_64-linux}
DEFAULT_HASH_FILE=${MODULES_HASH_FILE:-nix/hashes.json}
HASH_FILE=${HASH_FILE:-$DEFAULT_HASH_FILE}
if [ ! -f "$HASH_FILE" ]; then
cat >"$HASH_FILE" <<EOF
{
"nodeModules": "$DUMMY"
}
EOF
fi
if git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
if ! git ls-files --error-unmatch "$HASH_FILE" >/dev/null 2>&1; then
git add -N "$HASH_FILE" >/dev/null 2>&1 || true
fi
fi
export DUMMY
export NIX_KEEP_OUTPUTS=1
export NIX_KEEP_DERIVATIONS=1
cleanup() {
rm -f "${JSON_OUTPUT:-}" "${BUILD_LOG:-}" "${TMP_EXPR:-}"
}
trap cleanup EXIT
write_node_modules_hash() {
local value="$1"
local temp
temp=$(mktemp)
jq --arg value "$value" '.nodeModules = $value' "$HASH_FILE" >"$temp"
mv "$temp" "$HASH_FILE"
}
TARGET="packages.${SYSTEM}.default"
MODULES_ATTR=".#packages.${SYSTEM}.default.node_modules"
CORRECT_HASH=""
DRV_PATH="$(nix eval --raw "${MODULES_ATTR}.drvPath")"
echo "Setting dummy node_modules outputHash for ${SYSTEM}..."
write_node_modules_hash "$DUMMY"
BUILD_LOG=$(mktemp)
JSON_OUTPUT=$(mktemp)
echo "Building node_modules for ${SYSTEM} to discover correct outputHash..."
echo "Attempting to realize derivation: ${DRV_PATH}"
REALISE_OUT=$(nix-store --realise "$DRV_PATH" --keep-failed 2>&1 | tee "$BUILD_LOG" || true)
BUILD_PATH=$(echo "$REALISE_OUT" | grep "^/nix/store/" | head -n1 || true)
if [ -n "$BUILD_PATH" ] && [ -d "$BUILD_PATH" ]; then
echo "Realized node_modules output: $BUILD_PATH"
CORRECT_HASH=$(nix hash path --sri "$BUILD_PATH" 2>/dev/null || true)
fi
if [ -z "$CORRECT_HASH" ]; then
CORRECT_HASH="$(grep -E 'got:\s+sha256-[A-Za-z0-9+/=]+' "$BUILD_LOG" | awk '{print $2}' | head -n1 || true)"
if [ -z "$CORRECT_HASH" ]; then
CORRECT_HASH="$(grep -A2 'hash mismatch' "$BUILD_LOG" | grep 'got:' | awk '{print $2}' | sed 's/sha256:/sha256-/' || true)"
fi
if [ -z "$CORRECT_HASH" ]; then
echo "Searching for kept failed build directory..."
KEPT_DIR=$(grep -oE "build directory.*'[^']+'" "$BUILD_LOG" | grep -oE "'/[^']+'" | tr -d "'" | head -n1)
if [ -z "$KEPT_DIR" ]; then
KEPT_DIR=$(grep -oE '/nix/var/nix/builds/[^ ]+' "$BUILD_LOG" | head -n1)
fi
if [ -n "$KEPT_DIR" ] && [ -d "$KEPT_DIR" ]; then
echo "Found kept build directory: $KEPT_DIR"
if [ -d "$KEPT_DIR/build" ]; then
HASH_PATH="$KEPT_DIR/build"
else
HASH_PATH="$KEPT_DIR"
fi
echo "Attempting to hash: $HASH_PATH"
ls -la "$HASH_PATH" || true
if [ -d "$HASH_PATH/node_modules" ]; then
CORRECT_HASH=$(nix hash path --sri "$HASH_PATH" 2>/dev/null || true)
echo "Computed hash from kept build: $CORRECT_HASH"
fi
fi
fi
fi
if [ -z "$CORRECT_HASH" ]; then
echo "Failed to determine correct node_modules hash for ${SYSTEM}."
echo "Build log:"
cat "$BUILD_LOG"
exit 1
fi
write_node_modules_hash "$CORRECT_HASH"
jq -e --arg hash "$CORRECT_HASH" '.nodeModules == $hash' "$HASH_FILE" >/dev/null
echo "node_modules hash updated for ${SYSTEM}: $CORRECT_HASH"
rm -f "$BUILD_LOG"
unset BUILD_LOG
+24 -14
View File
@@ -4,12 +4,13 @@
"description": "AI-powered development tool",
"private": true,
"type": "module",
"packageManager": "bun@1.3.1",
"packageManager": "bun@1.3.5",
"scripts": {
"dev": "bun run --cwd packages/opencode --conditions=browser src/index.ts",
"typecheck": "bun turbo typecheck",
"prepare": "husky",
"random": "echo 'Random script'"
"random": "echo 'Random script'",
"hello": "echo 'Hello World!'"
},
"workspaces": {
"packages": [
@@ -19,33 +20,39 @@
"packages/slack"
],
"catalog": {
"@types/bun": "1.3.0",
"@types/bun": "1.3.4",
"@octokit/rest": "22.0.0",
"@hono/zod-validator": "0.4.2",
"ulid": "3.0.1",
"@kobalte/core": "0.13.11",
"@types/luxon": "3.7.1",
"@types/node": "22.13.9",
"@tsconfig/node22": "22.0.2",
"@tsconfig/bun": "1.0.9",
"@cloudflare/workers-types": "4.20251008.0",
"@openauthjs/openauth": "0.0.0-20250322224806",
"@pierre/precision-diffs": "0.4.4",
"@solidjs/meta": "0.29.4",
"@pierre/diffs": "1.0.0-beta.3",
"@solid-primitives/storage": "4.3.3",
"@tailwindcss/vite": "4.1.11",
"diff": "8.0.2",
"ai": "5.0.8",
"hono": "4.7.10",
"ai": "5.0.97",
"hono": "4.10.7",
"hono-openapi": "1.1.2",
"fuzzysort": "3.1.0",
"luxon": "3.6.1",
"typescript": "5.8.2",
"@typescript/native-preview": "7.0.0-dev.20251014.1",
"@typescript/native-preview": "7.0.0-dev.20251207.1",
"zod": "4.1.8",
"remeda": "2.26.0",
"solid-js": "1.9.9",
"solid-list": "0.3.0",
"tailwindcss": "4.1.11",
"virtua": "0.42.3",
"vite": "7.1.4",
"vite-plugin-solid": "2.11.8"
"@solidjs/meta": "0.29.4",
"@solidjs/router": "0.15.4",
"@solidjs/start": "https://pkg.pr.new/@solidjs/start@dfb2020",
"solid-js": "1.9.10",
"vite-plugin-solid": "2.11.10"
}
},
"devDependencies": {
@@ -56,8 +63,11 @@
"turbo": "2.5.6"
},
"dependencies": {
"@aws-sdk/client-s3": "3.933.0",
"@octokit/rest": "22.0.1",
"@opencode-ai/script": "workspace:*",
"@opencode-ai/sdk": "workspace:*"
"@opencode-ai/sdk": "workspace:*",
"typescript": "catalog:"
},
"repository": {
"type": "git",
@@ -76,11 +86,11 @@
"tree-sitter-bash",
"web-tree-sitter"
],
"patchedDependencies": {
"@solidjs/start@1.1.7": "patches/@solidjs%2Fstart@1.1.7.patch"
},
"overrides": {
"@types/bun": "catalog:",
"@types/node": "catalog:"
},
"patchedDependencies": {
"ghostty-web@0.3.0": "patches/ghostty-web@0.3.0.patch"
}
}
-1
View File
@@ -3,7 +3,6 @@ dist
.output
.vercel
.netlify
.vinxi
app.config.timestamp_*.js
# Environment
+1 -1
View File
@@ -49,7 +49,7 @@ use data attributes to represent different states of the component
}
```
this will allow jsx to control the syling
this will allow jsx to control the styling
avoid selectors that just target an element type like `> span` you should assign
it a slot name. it's ok to do this sometimes where it makes sense semantically
-23
View File
@@ -1,23 +0,0 @@
import { defineConfig } from "@solidjs/start/config"
export default defineConfig({
middleware: "./src/middleware.ts",
vite: {
server: {
allowedHosts: true,
},
build: {
rollupOptions: {
external: ["cloudflare:workers"],
},
minify: false,
},
},
server: {
compatibilityDate: "2024-09-19",
preset: "cloudflare_module",
cloudflare: {
nodeCompat: true,
},
},
})
+17 -12
View File
@@ -1,32 +1,37 @@
{
"name": "@opencode-ai/console-app",
"version": "1.0.167",
"type": "module",
"scripts": {
"typecheck": "tsgo --noEmit",
"dev": "vinxi dev --host 0.0.0.0",
"dev": "vite dev --host 0.0.0.0",
"dev:remote": "VITE_AUTH_URL=https://auth.dev.opencode.ai bun sst shell --stage=dev bun dev",
"build": "./script/generate-sitemap.ts && vinxi build && ../../opencode/script/schema.ts ./.output/public/config.json",
"start": "vinxi start",
"version": "1.0.48"
"build": "./script/generate-sitemap.ts && vite build && ../../opencode/script/schema.ts ./.output/public/config.json",
"start": "vite start"
},
"dependencies": {
"@cloudflare/vite-plugin": "1.15.2",
"@ibm/plex": "6.4.1",
"@jsx-email/render": "1.1.1",
"@kobalte/core": "catalog:",
"@openauthjs/openauth": "catalog:",
"@opencode-ai/console-core": "workspace:*",
"@opencode-ai/console-mail": "workspace:*",
"@openauthjs/openauth": "catalog:",
"@kobalte/core": "catalog:",
"@jsx-email/render": "1.1.1",
"@opencode-ai/console-resource": "workspace:*",
"@solidjs/meta": "^0.29.4",
"@solidjs/router": "^0.15.0",
"@solidjs/start": "^1.1.0",
"@opencode-ai/ui": "workspace:*",
"@solidjs/meta": "catalog:",
"@solidjs/router": "catalog:",
"@solidjs/start": "catalog:",
"chart.js": "4.5.1",
"nitro": "3.0.1-alpha.1",
"solid-js": "catalog:",
"vinxi": "^0.5.7",
"vite": "catalog:",
"zod": "catalog:"
},
"devDependencies": {
"@typescript/native-preview": "catalog:",
"typescript": "catalog:",
"@typescript/native-preview": "catalog:"
"wrangler": "4.50.0"
},
"engines": {
"node": ">=22"
+1
View File
@@ -0,0 +1 @@
../../../ui/src/assets/favicon/apple-touch-icon.png
+1
View File
@@ -0,0 +1 @@
../../../ui/src/assets/favicon/favicon-96x96.png
@@ -1,23 +0,0 @@
<svg width="400" height="400" viewBox="0 0 400 400" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="400" height="400" fill="#FDFCFC"/>
<path d="M96 122.001V70.001H148V122.001H96Z" fill="#17181C"/>
<path d="M148.004 122.001V70.001H200.004V122.001H148.004Z" fill="#17181C"/>
<path d="M200.008 122.001V70.001H252.008V122.001H200.008Z" fill="#17181C"/>
<path d="M251.996 122.001V70.001H303.996V122.001H251.996Z" fill="#17181C"/>
<path d="M251.996 173.988V121.988H303.996V173.988H251.996Z" fill="#17181C"/>
<path d="M96 225.998V173.998H148V225.998H96Z" fill="#CFCECD"/>
<rect width="52" height="52" transform="translate(148.004 173.998)" fill="#17181C"/>
<path d="M148.004 225.998V173.998H200.004V225.998H148.004Z" fill="#17181C" fill-opacity="0.1"/>
<path d="M200.008 225.998V173.998H252.008V225.998H200.008Z" fill="#17181C"/>
<path d="M252.016 225.998V173.998H304.016V225.998H252.016Z" fill="#CFCECD"/>
<rect width="52" height="52" transform="translate(96 226.002)" fill="#17181C"/>
<path d="M96 278.002V226.002H148V278.002H96Z" fill="#17181C" fill-opacity="0.1"/>
<rect width="52" height="52" transform="translate(148.004 226.002)" fill="white"/>
<path d="M148.004 278.002V226.002H200.004V278.002H148.004Z" fill="#CFCECD"/>
<path d="M200.008 278.002V226.002H252.008V278.002H200.008Z" fill="#CFCECD"/>
<path d="M252.016 278.002V226.002H304.016V278.002H252.016Z" fill="#CFCECD"/>
<path d="M96 330.012V278.012H148V330.012H96Z" fill="#17181C"/>
<path d="M148.004 330.012V278.012H200.004V330.012H148.004Z" fill="#17181C"/>
<path d="M200.008 329.99V277.99H252.008V329.99H200.008Z" fill="#17181C"/>
<path d="M251.996 330.012V278.012H303.996V330.012H251.996Z" fill="#17181C"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

+1
View File
@@ -0,0 +1 @@
../../../ui/src/assets/favicon/favicon.ico
-4
View File
@@ -1,4 +0,0 @@
<svg width="400" height="400" viewBox="0 0 400 400" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="400" height="400" fill="#0E0E0E"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M312 340H88V60H312V340ZM256 116H144V284H256V116Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 269 B

After

Width:  |  Height:  |  Size: 42 B

+1
View File
@@ -0,0 +1 @@
../../../ui/src/assets/favicon/favicon.svg

Before

Width:  |  Height:  |  Size: 269 B

After

Width:  |  Height:  |  Size: 42 B

+2 -1
View File
@@ -2,4 +2,5 @@ User-agent: *
Allow: /
# Disallow shared content pages
Disallow: /s/
Disallow: /s/
Disallow: /share/
+1
View File
@@ -0,0 +1 @@
../../../ui/src/assets/favicon/site.webmanifest
Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 50 B

+1
View File
@@ -0,0 +1 @@
../../../ui/src/assets/images/social-share-zen.png

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 50 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 46 B

+1
View File
@@ -0,0 +1 @@
../../../ui/src/assets/images/social-share.png

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 46 B

@@ -0,0 +1 @@
../../../ui/src/assets/favicon/web-app-manifest-192x192.png
@@ -0,0 +1 @@
../../../ui/src/assets/favicon/web-app-manifest-512x512.png
+6 -2
View File
@@ -1,7 +1,9 @@
import { MetaProvider, Title, Meta } from "@solidjs/meta"
import { Router } from "@solidjs/router"
import { FileRoutes } from "@solidjs/start/router"
import { ErrorBoundary, Suspense } from "solid-js"
import { Suspense } from "solid-js"
import { Favicon } from "@opencode-ai/ui/favicon"
import { Font } from "@opencode-ai/ui/font"
import "@ibm/plex/css/ibm-plex.css"
import "./app.css"
@@ -12,7 +14,9 @@ export default function App() {
root={(props) => (
<MetaProvider>
<Title>opencode</Title>
<Meta name="description" content="OpenCode - The AI coding agent built for the terminal." />
<Meta name="description" content="OpenCode - The open source coding agent." />
<Favicon />
<Font />
<Suspense>{props.children}</Suspense>
</MetaProvider>
)}
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

@@ -25,11 +25,8 @@ export function EmailSignup() {
const submission = useSubmission(emailSignup)
return (
<section data-component="email">
<div data-slot="dock">
<img src={dock} alt="" />
</div>
<div data-slot="section-title">
<h3>OpenCode will be available on desktop soon</h3>
<h3>Be the first to know when we release new products</h3>
<p>Join the waitlist for early access.</p>
</div>
<form data-slot="form" action={emailSignup} method="post">
+29 -3
View File
@@ -34,7 +34,7 @@ const fetchSvgContent = async (svgPath: string): Promise<string> => {
}
}
export function Header(props: { zen?: boolean }) {
export function Header(props: { zen?: boolean; hideGetStarted?: boolean }) {
const navigate = useNavigate()
const githubData = createAsync(() => github())
const starCount = createMemo(() =>
@@ -119,8 +119,8 @@ export function Header(props: { zen?: boolean }) {
<section data-component="top">
<div onContextMenu={handleLogoContextMenu}>
<A href="/">
<img data-slot="logo light" src={logoLight} alt="opencode logo light" />
<img data-slot="logo dark" src={logoDark} alt="opencode logo dark" />
<img data-slot="logo light" src={logoLight} alt="opencode logo light" width="189" height="34" />
<img data-slot="logo dark" src={logoDark} alt="opencode logo dark" width="189" height="34" />
</A>
</div>
@@ -169,6 +169,25 @@ export function Header(props: { zen?: boolean }) {
</Match>
</Switch>
</li>
<Show when={!props.hideGetStarted}>
{" "}
<li>
{" "}
<A href="/download" data-slot="cta-button">
{" "}
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
{" "}
<path
d="M12.1875 9.75L9.00001 12.9375L5.8125 9.75M9.00001 2.0625L9 12.375M14.4375 15.9375H3.5625"
stroke="currentColor"
stroke-width="1.5"
stroke-linecap="square"
/>{" "}
</svg>{" "}
Free{" "}
</A>{" "}
</li>
</Show>
</ul>
</nav>
<nav data-component="nav-mobile">
@@ -243,6 +262,13 @@ export function Header(props: { zen?: boolean }) {
</Match>
</Switch>
</li>
<Show when={!props.hideGetStarted}>
<li>
<A href="/download" data-slot="cta-button">
Get started for free
</A>
</li>
</Show>
</ul>
</nav>
</div>
@@ -202,6 +202,14 @@ export function IconZai(props: JSX.SvgSVGAttributes<SVGSVGElement>) {
)
}
export function IconGemini(props: JSX.SvgSVGAttributes<SVGSVGElement>) {
return (
<svg {...props} viewBox="0 0 50 50" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
<path d="M49.04,24.001l-1.082-0.043h-0.001C36.134,23.492,26.508,13.866,26.042,2.043L25.999,0.96C25.978,0.424,25.537,0,25,0 s-0.978,0.424-0.999,0.96l-0.043,1.083C23.492,13.866,13.866,23.492,2.042,23.958L0.96,24.001C0.424,24.022,0,24.463,0,25 c0,0.537,0.424,0.978,0.961,0.999l1.082,0.042c11.823,0.467,21.449,10.093,21.915,21.916l0.043,1.083C24.022,49.576,24.463,50,25,50 s0.978-0.424,0.999-0.96l0.043-1.083c0.466-11.823,10.092-21.449,21.915-21.916l1.082-0.042C49.576,25.978,50,25.537,50,25 C50,24.463,49.576,24.022,49.04,24.001z"></path>
</svg>
)
}
export function IconStealth(props: JSX.SvgSVGAttributes<SVGSVGElement>) {
return (
<svg {...props} xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 18" fill="none">
@@ -212,3 +220,30 @@ export function IconStealth(props: JSX.SvgSVGAttributes<SVGSVGElement>) {
</svg>
)
}
export function IconChevronLeft(props: JSX.SvgSVGAttributes<SVGSVGElement>) {
return (
<svg {...props} viewBox="0 0 20 20" fill="none">
<path d="M12 15L7 10L12 5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" />
</svg>
)
}
export function IconChevronRight(props: JSX.SvgSVGAttributes<SVGSVGElement>) {
return (
<svg {...props} viewBox="0 0 20 20" fill="none">
<path d="M8 5L13 10L8 15" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" />
</svg>
)
}
export function IconBreakdown(props: JSX.SvgSVGAttributes<SVGSVGElement>) {
return (
<svg {...props} width="16" height="16" viewBox="0 0 16 16" fill="none">
<path d="M2 12L2 8" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />
<path d="M6 12L6 4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />
<path d="M10 12L10 6" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />
<path d="M14 12L14 9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />
</svg>
)
}
@@ -9,6 +9,12 @@ export function Legal() {
<span>
<A href="/brand">Brand</A>
</span>
<span>
<A href="/legal/privacy-policy">Privacy</A>
</span>
<span>
<A href="/legal/terms-of-service">Terms</A>
</span>
</div>
)
}
+5 -5
View File
@@ -9,8 +9,8 @@ export const config = {
github: {
repoUrl: "https://github.com/sst/opencode",
starsFormatted: {
compact: "30K",
full: "30,000",
compact: "38K",
full: "38,000",
},
},
@@ -22,8 +22,8 @@ export const config = {
// Static stats (used on landing page)
stats: {
contributors: "250",
commits: "3,500",
monthlyUsers: "300,000",
contributors: "400",
commits: "5,000",
monthlyUsers: "400,000",
},
} as const
@@ -1,4 +1,4 @@
import { useSession } from "vinxi/http"
import { useSession } from "@solidjs/start/http"
export interface AuthSession {
account?: Record<
+3 -1
View File
@@ -1,6 +1,8 @@
// @refresh reload
import { createHandler, StartServer } from "@solidjs/start/server"
const criticalCSS = `[data-component="top"]{min-height:80px;display:flex;align-items:center}`
export default createHandler(
() => (
<StartServer
@@ -9,9 +11,9 @@ export default createHandler(
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="icon" href="/favicon.svg" />
<meta property="og:image" content="/social-share.png" />
<meta property="twitter:image" content="/social-share.png" />
<style>{criticalCSS}</style>
{assets}
</head>
<body>
+4
View File
@@ -1 +1,5 @@
/// <reference types="@solidjs/start/env" />
export declare module "@solidjs/start/server" {
export type APIEvent = { request: Request }
}
+1
View File
@@ -26,6 +26,7 @@ export const github = query(async () => {
release: {
name: release.name,
url: release.html_url,
tag_name: release.tag_name,
},
contributors: contributorCount,
}
+2 -2
View File
@@ -1,5 +1,5 @@
import { defineMiddleware } from "vinxi/http"
import { createMiddleware } from "@solidjs/start/middleware"
export default defineMiddleware({
export default createMiddleware({
onBeforeResponse() {},
})
@@ -36,6 +36,7 @@ ${body.email}`.trim()
to: "contact@anoma.ly",
subject: `Enterprise Inquiry from ${body.name}`,
body: emailContent,
replyTo: body.email,
})
return Response.json({ success: true, message: "Form submitted successfully" }, { status: 200 })

Some files were not shown because too many files have changed in this diff Show More