-
Notifications
You must be signed in to change notification settings - Fork 47
Easy to Use in Windows, MSI version #18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Co-authored-by: xavierarpa <44328679+xavierarpa@users.noreply.github.com>
Co-authored-by: xavierarpa <44328679+xavierarpa@users.noreply.github.com>
…llation feat: Add Windows build workflow and installation docs
Co-authored-by: xavierarpa <44328679+xavierarpa@users.noreply.github.com>
…e comments Co-authored-by: xavierarpa <44328679+xavierarpa@users.noreply.github.com>
Co-authored-by: xavierarpa <44328679+xavierarpa@users.noreply.github.com>
Fix Windows OpenCode CLI detection for npm-installed opencode-ai
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This pull request adds comprehensive Windows support to OpenWork, enabling it to be easily installed and used on Windows via MSI and NSIS installers. The changes include Windows-specific executable detection, npm global package support, updated installation instructions, and a dedicated Windows release workflow.
Changes:
- Added Windows-specific OpenCode CLI detection supporting both
.exeand.cmdwrappers - Updated error messages to include npm-based installation instructions for Windows users
- Created automated Windows release workflow for building MSI and NSIS installers
- Updated documentation with Windows-specific installation steps
Reviewed changes
Copilot reviewed 4 out of 6 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| src/App.tsx | Updated error messages to include npm installation method alongside existing Homebrew/script options |
| src-tauri/src/lib.rs | Added Windows-specific executable detection for opencode.exe and opencode.cmd, npm global bin directory support, and platform-specific error messages |
| src-tauri/Cargo.lock | Bumped version from 0.1.3 to 0.1.6 |
| package-lock.json | Added complete lockfile with version 0.1.6 |
| README.md | Added comprehensive Windows installation instructions including MSI installer setup and OpenCode CLI prerequisites |
| .github/workflows/release-windows.yml | New GitHub Actions workflow for automated Windows releases with MSI and NSIS bundle support |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| fn npm_global_bin_dir() -> Option<PathBuf> { | ||
| // npm global bin on Windows is typically %APPDATA%\npm | ||
| if let Ok(appdata) = env::var("APPDATA") { | ||
| if !appdata.trim().is_empty() { | ||
| return Some(PathBuf::from(appdata).join("npm")); | ||
| } | ||
| } | ||
| None | ||
| } |
Copilot
AI
Jan 16, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Windows-specific paths should use backslashes or be normalized for Windows. The path %APPDATA%\npm is correct, but consider documenting that this is specifically for npm global installations. Users might also have Node.js installed via nvm-windows or other tools where the npm global directory could be in a different location.
| let home = home_dir(); | ||
|
|
||
| if let Some(ref h) = home { | ||
| candidates.push(h.join(".opencode").join("bin").join(OPENCODE_EXECUTABLE)); | ||
| } |
Copilot
AI
Jan 16, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The variable home is captured but only used within conditional blocks. While the code is correct, consider making the structure more explicit by moving the let home = home_dir(); declaration inside the conditional blocks or using a more concise pattern. This is a minor style preference.
| | **Windows** | `OpenWork_{version}_x64-setup.exe` or `OpenWork_{version}_x64_en-US.msi` | Run the installer, then launch OpenWork | | ||
| | **macOS (Apple Silicon)** | `OpenWork_{version}_aarch64.dmg` | Drag to Applications, then open | | ||
| | **macOS (Intel)** | `OpenWork_{version}_x64.dmg` | Drag to Applications, then open | | ||
|
|
||
| > **Prerequisite**: You need [OpenCode CLI](https://opencode.ai) installed on your system. OpenWork will detect it automatically or guide you through installation on first launch. | ||
| ### Windows Installation (1-Click) | ||
|
|
||
| 1. Download `OpenWork_{version}_x64-setup.exe` from [Releases](https://github.com/different-ai/openwork/releases) |
Copilot
AI
Jan 16, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The README mentions that the version format should include the version number (e.g., OpenWork_0.1.6_x64-setup.exe), but the actual release artifacts will use underscores between version segments as generated by Tauri. Verify that the documentation examples match the actual artifact naming convention from the build process.
| | **Windows** | `OpenWork_{version}_x64-setup.exe` or `OpenWork_{version}_x64_en-US.msi` | Run the installer, then launch OpenWork | | |
| | **macOS (Apple Silicon)** | `OpenWork_{version}_aarch64.dmg` | Drag to Applications, then open | | |
| | **macOS (Intel)** | `OpenWork_{version}_x64.dmg` | Drag to Applications, then open | | |
| > **Prerequisite**: You need [OpenCode CLI](https://opencode.ai) installed on your system. OpenWork will detect it automatically or guide you through installation on first launch. | |
| ### Windows Installation (1-Click) | |
| 1. Download `OpenWork_{version}_x64-setup.exe` from [Releases](https://github.com/different-ai/openwork/releases) | |
| | **Windows** | `OpenWork_{version}_x64-setup.exe` or `OpenWork_{version}_x64_en-US.msi` | Run the installer, then launch OpenWork. Tauri uses underscores in the version, e.g. `OpenWork_0_1_6_x64-setup.exe` for version `0.1.6`. | | |
| | **macOS (Apple Silicon)** | `OpenWork_{version}_aarch64.dmg` | Drag to Applications, then open (e.g. `OpenWork_0_1_6_aarch64.dmg` for version `0.1.6`). | | |
| | **macOS (Intel)** | `OpenWork_{version}_x64.dmg` | Drag to Applications, then open (e.g. `OpenWork_0_1_6_x64.dmg` for version `0.1.6`). | | |
| > **Prerequisite**: You need [OpenCode CLI](https://opencode.ai) installed on your system. OpenWork will detect it automatically or guide you through installation on first launch. | |
| ### Windows Installation (1-Click) | |
| 1. Download `OpenWork_{version}_x64-setup.exe` from [Releases](https://github.com/different-ai/openwork/releases) (Tauri uses underscores in `{version}`, e.g. `OpenWork_0_1_6_x64-setup.exe` for version `0.1.6`) |
| 1. Download `OpenWork_{version}_x64-setup.exe` from [Releases](https://github.com/different-ai/openwork/releases) | ||
| 2. Run the installer | ||
| 3. Launch **OpenWork** from Start Menu | ||
| 4. If OpenCode CLI is not installed, OpenWork will show instructions (install via [Scoop](https://scoop.sh), [Chocolatey](https://chocolatey.org), or from https://opencode.ai/install) |
Copilot
AI
Jan 16, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The documentation mentions Scoop and Chocolatey as installation methods but doesn't provide the actual package names or commands. Add specific installation commands for users, such as scoop install opencode or choco install opencode-ai, to make the instructions more actionable.
| 4. If OpenCode CLI is not installed, OpenWork will show instructions (install via [Scoop](https://scoop.sh), [Chocolatey](https://chocolatey.org), or from https://opencode.ai/install) | |
| 4. If OpenCode CLI is not installed, OpenWork will show instructions (or you can install manually via [Scoop](https://scoop.sh) with `scoop install opencode`, [Chocolatey](https://chocolatey.org) with `choco install opencode-ai`, or from https://opencode.ai/install) |
| status: -1, | ||
| stdout: String::new(), | ||
| stderr: "Guided install is not supported on Windows yet. Install OpenCode via Scoop/Chocolatey or https://opencode.ai/install, then restart OpenWork.".to_string(), | ||
| stderr: "Guided install is not supported on Windows yet. Install OpenCode via:\n- npm install -g opencode-ai\n- https://opencode.ai/install\n\nThen restart OpenWork.".to_string(), |
Copilot
AI
Jan 16, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The error message references "Scoop/Chocolatey" as installation methods but doesn't provide the actual commands. Consider adding the specific commands users should run, such as scoop install opencode or choco install opencode, to make the error message more actionable.
| stderr: "Guided install is not supported on Windows yet. Install OpenCode via:\n- npm install -g opencode-ai\n- https://opencode.ai/install\n\nThen restart OpenWork.".to_string(), | |
| stderr: "Guided install is not supported on Windows yet. Install OpenCode via one of:\n- npm install -g opencode-ai\n- scoop install opencode-ai\n- choco install opencode-ai\n- https://opencode.ai/install\n\nThen restart OpenWork.".to_string(), |
Co-authored-by: xavierarpa <44328679+xavierarpa@users.noreply.github.com>
…-sidebar Add Chrome extension with Side Panel support
|
Thanks for working on Windows improvements — we really want OpenWork to work on Windows. For the core “Windows capability” work, I’m going to use #17 as the main base (it’s closer to the CLI detection/config-path problem and is more focused). This PR is hard to review/merge as-is because it mixes in a lot of unrelated surface area:
Could you split this into smaller PRs? For example:
If you have a short video showing the Windows installer/build workflow producing a working MSI/NSIS and OpenWork launching on Windows, that would be super helpful. Thank you again — I really want this to work on Windows. |
No description provided.