{"id":15638152,"url":"https://github.com/jfrux/workbench","last_synced_at":"2025-08-22T07:31:29.688Z","repository":{"id":34363596,"uuid":"149063322","full_name":"jfrux/workbench","owner":"jfrux","description":"A desktop app to help aid on-boarding and porting vehicles to openpilot for the masses.","archived":false,"fork":false,"pushed_at":"2022-12-10T12:52:19.000Z","size":12836,"stargazers_count":94,"open_issues_count":64,"forks_count":88,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-04-09T00:51:10.613Z","etag":null,"topics":["autonomous-vehicles","comma","desktop","eon","macos","openpilot","openpilot-community","self-driving","vehicle","workbench"],"latest_commit_sha":null,"homepage":"https://discord.gg/EvqPbw","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jfrux.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":null,"patreon":"jfrux","open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2018-09-17T03:22:36.000Z","updated_at":"2025-02-12T23:39:45.000Z","dependencies_parsed_at":"2023-01-15T06:45:29.709Z","dependency_job_id":null,"html_url":"https://github.com/jfrux/workbench","commit_stats":null,"previous_names":[],"tags_count":41,"template":false,"template_full_name":null,"purl":"pkg:github/jfrux/workbench","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jfrux%2Fworkbench","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jfrux%2Fworkbench/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jfrux%2Fworkbench/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jfrux%2Fworkbench/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jfrux","download_url":"https://codeload.github.com/jfrux/workbench/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jfrux%2Fworkbench/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271604725,"owners_count":24788761,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-22T02:00:08.480Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["autonomous-vehicles","comma","desktop","eon","macos","openpilot","openpilot-community","self-driving","vehicle","workbench"],"created_at":"2024-10-03T11:19:39.632Z","updated_at":"2025-08-22T07:31:24.674Z","avatar_url":"https://github.com/jfrux.png","language":"JavaScript","readme":"\n\n# Workbench for Openpilot\nWorkbench is a desktop application to help you manage openpilot driving agent running on a compatible Android device.\nIt also has a goal of providing easier porting of new vehicles.\n\n\u003c!-- ![](https://opc.ai/assets/workbench-readme-splash.png)\n[![Travis](https://img.shields.io/travis/openpilot-community/workbench.svg?style=flat-square\u0026label=Travis+CI)](https://travis-ci.org/openpilot-community/workbench)\n[![CircleCI](https://img.shields.io/circleci/project/openpilot-community/workbench/desktop.svg?style=flat-square\u0026label=CircleCI)](https://circleci.com/gh/openpilot-community/workbench)\n![AppVeyor Build status](https://ci.appveyor.com/api/projects/status/ow6duui01jcsag3l?svg=true)\n[![Build status](https://ci.appveyor.com/api/projects/status/ow6duui01jcsag3l?svg=true)](https://ci.appveyor.com/project/jfrux/workbench) --\u003e\n\n[![license](https://img.shields.io/github/license/openpilot-community/workbench.svg)](https://github.com/openpilot-community/workbench/blob/master/LICENSE)\n\n*For Support with Workbench, connect with me on the [Workbench Discord Channel](https://discord.gg/EvqPbw).*\n\n## Getting Started\n\n### [Download Workbench](https://github.com/jfrux/workbench/releases)\n\n\u003e IMPORTANT: Workbench manages your EON over SSH.  You must enable SSH in your Settings on EON.\n\n## Features\n\n- [x] Scans your network for your EON so you don't need to find the IP.\n- [x] Connects to EON via SSH (and automatically, installs SSH key for you)\n- [x] Dumps you into an SSH shell connection to your EON with one click.\n- [x] Has tabs for all of the various ZMQ messages sent in real-time over wifi from EON.\n- [x] Automatic task scripts for EON configuration / maintenance.\n- [x] Reinstall Comma Openpilot Release2\n\n## Upcoming Concepts / Features\n\n- [ ] Built-in Openpilot / EON IDE (code editor)\n- [ ] Real-time tuning\n- [ ] Backup videos\n- [ ] Review videos\n- [ ] Monitor uploads\n\n## Contributing\n\nI welcome any and all pull requests!\nPlease, if you see a bug that could use a fix - submit a PR and we can make this thing great together.\nAny change, big or small should be included if it makes sense for the community as a whole.\n\nLet's get some review processes together and work through the bugs!\n\n## For Workbench Developers\n\n1. Install necessary development dependencies:\n  * Windows\n    - Install `windows-build-tools`\n    `npm install -g windows-build-tools`\n  * macOS\n    - Install xcode build tools: \n      `xcode-select --install`\n    - Install Homebrew if you don't have it. \n      `/usr/bin/ruby -e \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)\"`\n    - Install `nvm` or nodenv or some sort of nodejs version manager.\n    - Now install zmq\n      `brew install zmq`\n  * Linux(You can see [here](https://en.wikipedia.org/wiki/List_of_Linux_distributions) what your Linux is based on.)\n    - RPM-based\n        + `GraphicsMagick`\n        + `libicns-utils`\n        + `xz` (Installed by default on some distributions.)\n    - Debian-based\n        + `graphicsmagick`\n        + `icnsutils`\n        + `xz-utils`\n2. [Fork](https://help.github.com/articles/fork-a-repo/) this repository to your own GitHub account and then [clone](https://help.github.com/articles/cloning-a-repository/) it to your local device\n3. Change to the newly cloned directory `cd workbench`\n4. Install a version of nodejs with `nvm` or your node version manager.\n   `nvm install 8.14.0` is the version I recommend.\n   `nvm use 8.14.0`\n5. Install python 2.7.15 with `pyenv` or `asdf `.\n   `pyenv install 2.7.15` and set the current directory with `pyenv local 2.7.15`\n6. Move to the cloned directory and install the dependencies: \n  `npm run setup`\n7. Build the code and watch for changes:\n  `npm run dev`\n8. Checkout a new branch for your feature... something like `feature/what-is-it` or `bugfix/the-fix-for-something`\n9. Push your change up to your own GitHub fork and create a New Pull Request to request your new feature / bugfix branch  be upstreamed into the master for inclusion in the next release.\n\nTo make sure that your code works in the finished application, you can generate the binaries like this:\n\n```bash\nnpm run package\n```\n\nAfter that, you will see the binary in the `./releases` folder!\n\n#### Known issues that can happen during development\n\n##### Error related to `node-pty-prebuilt`\n\nIf after building during development you get an alert dialog related to `node-pty` issues,\nmake sure its build process is working correctly by running `yarn run package`.\n\n##### Error with `codesign` on macOS when running `npm run dist`\n\nIf you have issues in the `codesign` step when running `npm run package` on macOS, you can temporarily disable code signing locally by setting\n`export CSC_IDENTITY_AUTO_DISCOVERY=false` for the current terminal session.\n\n## Bug Reports / Feature Requests\n\nFeel free to create issues for feature requests and/or bugs.\n\n## License\nMIT\n\n#### To run on Arch Linux\n\n1. Download latest appimage\n2. open terminal and cd /home/user/Downloads\n3. chmod +x Workbenchxxx.appimage\n4. ./Workbenchxxx\n5. It will ask if you want to integrate the appimage into system, select no\n","funding_links":["https://patreon.com/jfrux"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjfrux%2Fworkbench","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjfrux%2Fworkbench","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjfrux%2Fworkbench/lists"}