{"id":43994042,"url":"https://github.com/hagicode-org/desktop","last_synced_at":"2026-05-29T03:04:49.514Z","repository":{"id":336028100,"uuid":"1147846084","full_name":"HagiCode-org/desktop","owner":"HagiCode-org","description":"Electron desktop app for installing, running, monitoring, and updating HagiCode on developer machines.","archived":false,"fork":false,"pushed_at":"2026-04-26T13:31:20.000Z","size":14068,"stargazers_count":3,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-26T14:00:32.140Z","etag":null,"topics":["desktop-app","developer-tools","electron","hagicode","local-server","react"],"latest_commit_sha":null,"homepage":"https://hagicode.com/desktop/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HagiCode-org.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-02-02T09:24:03.000Z","updated_at":"2026-04-26T13:31:25.000Z","dependencies_parsed_at":"2026-02-26T11:06:55.771Z","dependency_job_id":"0ed2344e-e9c2-465e-8fc7-4b9d2a37f44f","html_url":"https://github.com/HagiCode-org/desktop","commit_stats":null,"previous_names":["hagicode-org/desktop"],"tags_count":41,"template":false,"template_full_name":null,"purl":"pkg:github/HagiCode-org/desktop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HagiCode-org%2Fdesktop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HagiCode-org%2Fdesktop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HagiCode-org%2Fdesktop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HagiCode-org%2Fdesktop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HagiCode-org","download_url":"https://codeload.github.com/HagiCode-org/desktop/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HagiCode-org%2Fdesktop/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32299644,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T09:34:17.070Z","status":"ssl_error","status_checked_at":"2026-04-26T09:34:00.993Z","response_time":129,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["desktop-app","developer-tools","electron","hagicode","local-server","react"],"created_at":"2026-02-07T11:10:10.787Z","updated_at":"2026-05-26T05:01:26.069Z","avatar_url":"https://github.com/HagiCode-org.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hagicode Desktop\n\n[简体中文](./README_cn.md)\n\nHagicode Desktop is the native control center for running and managing HagiCode Server on a developer machine.\n\n## Product overview\n\nThe desktop app packages the HagiCode experience into a local-first workflow for setup, monitoring, upgrades, and day-to-day operations.\n\n## Core capabilities\n\n- Monitor local resources and service health from a desktop dashboard\n- Start, stop, and switch embedded server versions without leaving the app\n- Manage package sources, dependencies, and license information in one place\n- Provide onboarding, tray integration, RSS updates, and bilingual UI support\n- Offer agent executor choices such as Claude Code, Codex, and GitHub Copilot CLI\n\n## Architecture at a glance\n\n- `src/main/` - Electron main-process services for configuration, runtime control, and package management\n- `src/preload/` - the bridge layer between desktop runtime and renderer UI\n- `src/renderer/` - React-based desktop interface and Redux state\n- `resources/` - packaged desktop assets\n- `docs/` - deeper guides for development, signing, and storage sync\n\n## Local development\n\n```bash\nnpm install\nnpm run dev\nnpm run build:prod\nnpm run build:win:portable\nnpm run build:win:appx\nnpm run build:win:msix\nnpm run build:linux:appimage\nnpm run build:linux:zip\nnpm run build:mac:x64:dmg\nnpm run build:mac:arm64:zip\n```\n\n- `npm run dev` prepares the optional bundled portable toolchain, starts the renderer, watches Electron processes, and launches the app in development mode\n- `npm run dev:steam-mode` boots development mode directly against a fixed extracted runtime so Steam mode startup can be verified quickly\n- `npm run build:prod` runs the production build plus the smoke test used before packaging\n- platform packaging commands now map directly to the CI matrix so local artifact verification can follow the same release contract\n\n### Development bundled Node runtime\n\nSource-mode development uses the shared Desktop runtime tree under `resources/components/node/runtime/`, matching the packaged Desktop layout under `resources/extra/runtime/components/node/runtime/`. There is no separate `.runtime/node-dev/` runtime or `bundled-dev` dependency source.\n\n`npm run dev` runs `predev`, which stages the governed Desktop runtime payloads for supported platforms: the embedded .NET runtime, the bundled Node toolchain, the vendored code-server runtime, and the vendored OmniRoute runtime.\n\nThose `prepare:*` commands now delegate the staging workflow to `hagiscript runtime install` with a Desktop-specific manifest, so the runtime layout now lands under `resources/components/...` while the install orchestration stays inside hagiscript.\n\nManaged npm packages are installed into Desktop-owned writable runtime data under `userData[/dev]/runtimeData/node/`:\n\n- Unix-like platforms: `userData/runtimeData/node/node\u003cmajor\u003e/npmGlobal/bin` and `userData/runtimeData/node/node\u003cmajor\u003e/npmGlobal/lib/node_modules`\n- Windows: `userData/runtimeData/node/node\u003cmajor\u003e/npmGlobal` and `userData/runtimeData/node/node\u003cmajor\u003e/npmGlobal/node_modules`\n\n### Development runtime troubleshooting\n\n- Download failures: check network access to the pinned host in `resources/manifest.yml` under `desktopExtensions.embeddedNodeRuntime`, or pre-populate the staged archive cache used by the bundled toolchain preparation script.\n- Unsupported platform/architecture: the command uses the platforms pinned in `resources/manifest.yml` under `desktopExtensions.embeddedNodeRuntime`; add a governed platform entry before expecting detection to succeed.\n- Version mismatch: rerun `npm run prepare:bundled-toolchain:optional` after governance updates so the staged executable matches the active Node version.\n\n## Related guides\n\n- `docs/development.md` - local development notes and update-source configuration\n- `docs/artifact-signing.md` - Windows signing setup\n- `docs/azure-storage-sync.md` - downstream release synchronization details\n- `docs/i18n-hagi18n.md` - Desktop locale maintenance with hagi18n YAML sources and generated runtime JSON\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhagicode-org%2Fdesktop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhagicode-org%2Fdesktop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhagicode-org%2Fdesktop/lists"}