@pixelbyte-software/pixcode 1.54.9 → 1.54.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (288) hide show
  1. package/CODE_OF_CONDUCT.md +41 -41
  2. package/CONTRIBUTING.md +156 -156
  3. package/LICENSE +21 -718
  4. package/README.de.md +169 -169
  5. package/README.ja.md +167 -167
  6. package/README.ko.md +167 -167
  7. package/README.md +435 -418
  8. package/README.ru.md +169 -169
  9. package/README.tr.md +298 -298
  10. package/README.zh-CN.md +167 -167
  11. package/SECURITY.md +46 -46
  12. package/dist/api-automation.html +110 -110
  13. package/dist/api-docs.html +548 -548
  14. package/dist/assets/{index-Bm6uAqKU.js → index-Bcqs_1vc.js} +114 -114
  15. package/dist/clear-cache.html +85 -85
  16. package/dist/convert-icons.md +52 -52
  17. package/dist/docs.html +308 -308
  18. package/dist/features.html +133 -133
  19. package/dist/generate-icons.js +48 -48
  20. package/dist/humans.txt +15 -15
  21. package/dist/icons/codex-white.svg +3 -3
  22. package/dist/icons/codex.svg +3 -3
  23. package/dist/icons/cursor-white.svg +11 -11
  24. package/dist/icons/qwen-logo.svg +14 -14
  25. package/dist/index.html +58 -58
  26. package/dist/landing.html +268 -268
  27. package/dist/llms-full.txt +119 -119
  28. package/dist/llms.txt +53 -53
  29. package/dist/manifest.json +60 -60
  30. package/dist/openapi.yaml +1696 -1696
  31. package/dist/orchestration.html +125 -125
  32. package/dist/robots.txt +4 -4
  33. package/dist/site.css +692 -692
  34. package/dist/sitemap.xml +51 -51
  35. package/dist/sw.js +132 -132
  36. package/dist-server/server/cli.js +100 -100
  37. package/dist-server/server/daemon/manager.js +33 -33
  38. package/dist-server/server/daemon-manager.js +64 -64
  39. package/dist-server/server/index.js +13 -0
  40. package/dist-server/server/index.js.map +1 -1
  41. package/dist-server/server/routes/agent.js +10 -1
  42. package/dist-server/server/routes/agent.js.map +1 -1
  43. package/dist-server/server/routes/commands.js +25 -25
  44. package/dist-server/server/routes/git.js +17 -17
  45. package/dist-server/server/routes/live-view.js +46 -46
  46. package/dist-server/server/services/public-api-manifest.js +51 -51
  47. package/dist-server/server/sessionManager.js +5 -5
  48. package/dist-server/server/sessionManager.js.map +1 -1
  49. package/package.json +224 -224
  50. package/scripts/fix-node-pty.js +67 -67
  51. package/scripts/github/create-v1.38-issues.mjs +351 -351
  52. package/scripts/github/create-vscode-workbench-issues.mjs +121 -121
  53. package/scripts/smoke/backend-resource-bounds.mjs +152 -152
  54. package/scripts/smoke/changes-panel-layout.mjs +48 -48
  55. package/scripts/smoke/chat-composer-fixed-layout.mjs +55 -55
  56. package/scripts/smoke/chat-message-timeline-order.mjs +41 -41
  57. package/scripts/smoke/chat-realtime-hydration.mjs +44 -44
  58. package/scripts/smoke/chat-session-provider-pools.mjs +35 -35
  59. package/scripts/smoke/chat-session-state.mjs +19 -19
  60. package/scripts/smoke/code-editor-theme.mjs +55 -55
  61. package/scripts/smoke/code-editor-vscode-engine.mjs +91 -91
  62. package/scripts/smoke/command-center-agent-writes.mjs +79 -79
  63. package/scripts/smoke/command-center-non-git.mjs +46 -46
  64. package/scripts/smoke/context-packet.mjs +43 -43
  65. package/scripts/smoke/control-room-ux-redesign.mjs +91 -91
  66. package/scripts/smoke/daemon-entrypoint.mjs +20 -20
  67. package/scripts/smoke/default-landing-routing.mjs +33 -33
  68. package/scripts/smoke/desktop-native-notifications.mjs +30 -30
  69. package/scripts/smoke/desktop-tray-icon.mjs +33 -33
  70. package/scripts/smoke/discord-release-workflow.mjs +24 -24
  71. package/scripts/smoke/git-install-update.mjs +255 -255
  72. package/scripts/smoke/handoff-artifact-protocol.mjs +50 -50
  73. package/scripts/smoke/live-view-diagnostics.mjs +53 -53
  74. package/scripts/smoke/live-view-environment.mjs +92 -92
  75. package/scripts/smoke/live-view-integration.mjs +450 -450
  76. package/scripts/smoke/mac-desktop-runtime.mjs +37 -37
  77. package/scripts/smoke/mobile-tunnel-guidance.mjs +29 -29
  78. package/scripts/smoke/mobile-ux.mjs +76 -76
  79. package/scripts/smoke/model-registry.mjs +36 -36
  80. package/scripts/smoke/multi-project-ui.mjs +45 -45
  81. package/scripts/smoke/multi-worker-slots.mjs +42 -42
  82. package/scripts/smoke/notification-center.mjs +87 -87
  83. package/scripts/smoke/notification-inapp-preference.mjs +23 -23
  84. package/scripts/smoke/notification-taxonomy.mjs +58 -58
  85. package/scripts/smoke/orchestration-api.mjs +172 -172
  86. package/scripts/smoke/orchestration-execution-dashboard.mjs +33 -33
  87. package/scripts/smoke/orchestration-live-run.mjs +176 -176
  88. package/scripts/smoke/orchestration-mobile-scroll.mjs +29 -29
  89. package/scripts/smoke/orchestration-model-sync.mjs +30 -30
  90. package/scripts/smoke/orchestration-permission-fallback.mjs +34 -34
  91. package/scripts/smoke/orchestration-runtime-guards.mjs +48 -48
  92. package/scripts/smoke/orchestration-user-facing-output.mjs +25 -25
  93. package/scripts/smoke/permission-policy.mjs +50 -50
  94. package/scripts/smoke/pixcode-workbench-1-48.mjs +167 -167
  95. package/scripts/smoke/provider-models-opencode-live.mjs +66 -66
  96. package/scripts/smoke/provider-rest-api.mjs +124 -124
  97. package/scripts/smoke/provider-selection-status.mjs +52 -52
  98. package/scripts/smoke/run-state-refresh.mjs +52 -52
  99. package/scripts/smoke/runtime-manager.mjs +99 -99
  100. package/scripts/smoke/shell-manual-disconnect.mjs +30 -30
  101. package/scripts/smoke/side-panel-editor-layout.mjs +34 -34
  102. package/scripts/smoke/static-root-routing.mjs +21 -21
  103. package/scripts/smoke/strict-handoff-compact.mjs +60 -60
  104. package/scripts/smoke/taskmaster-config.mjs +24 -24
  105. package/scripts/smoke/taskmaster-execution-telegram.mjs +3 -3
  106. package/scripts/smoke/taskmaster-onboarding.mjs +3 -3
  107. package/scripts/smoke/taskmaster-run-graph.mjs +3 -3
  108. package/scripts/smoke/telegram-control.mjs +331 -331
  109. package/scripts/smoke/tunnel-persistence.mjs +56 -56
  110. package/scripts/smoke/update-issue-progress.mjs +69 -69
  111. package/scripts/smoke/update-ux.mjs +55 -55
  112. package/scripts/smoke/v138-completion.mjs +132 -132
  113. package/scripts/smoke/v138-desktop-release-hardening.mjs +69 -69
  114. package/scripts/smoke/v138-diagnostics.mjs +63 -63
  115. package/scripts/smoke/v138-issue-planner.mjs +33 -33
  116. package/scripts/smoke/v143-remote-control.mjs +76 -76
  117. package/scripts/smoke/v144-production-loop.mjs +47 -47
  118. package/scripts/smoke/v145-platformization.mjs +46 -46
  119. package/scripts/smoke/v146-control-room-ui.mjs +150 -150
  120. package/scripts/smoke/version-modal-autoshow.mjs +29 -29
  121. package/scripts/smoke/vscode-workbench-layout.mjs +63 -63
  122. package/scripts/smoke/vscode-workbench-polish.mjs +461 -461
  123. package/scripts/smoke/workflow-fallback-replay.mjs +56 -56
  124. package/scripts/smoke/workflow-templates.mjs +43 -43
  125. package/scripts/smoke/workflow-trace-timeline.mjs +46 -46
  126. package/scripts/update-git-install.mjs +298 -298
  127. package/server/claude-sdk.js +927 -927
  128. package/server/cli.js +1106 -1106
  129. package/server/constants/config.js +4 -4
  130. package/server/cursor-cli.js +344 -344
  131. package/server/daemon/manager.js +563 -563
  132. package/server/daemon-manager.js +964 -964
  133. package/server/database/db.js +988 -988
  134. package/server/database/json-store.js +197 -197
  135. package/server/gemini-cli.js +550 -550
  136. package/server/gemini-response-handler.js +79 -79
  137. package/server/index.js +5671 -5659
  138. package/server/load-env.js +35 -35
  139. package/server/middleware/account-lockout.js +112 -112
  140. package/server/middleware/auth.js +277 -277
  141. package/server/middleware/rate-limiter.js +87 -87
  142. package/server/modules/orchestration/a2a/adapter-registry.ts +108 -108
  143. package/server/modules/orchestration/a2a/adapters/abstract-a2a.adapter.ts +63 -63
  144. package/server/modules/orchestration/a2a/adapters/claude-code.adapter.ts +286 -286
  145. package/server/modules/orchestration/a2a/adapters/codex.adapter.ts +244 -244
  146. package/server/modules/orchestration/a2a/adapters/cursor.adapter.ts +249 -249
  147. package/server/modules/orchestration/a2a/adapters/gemini.adapter.ts +248 -248
  148. package/server/modules/orchestration/a2a/adapters/json-event.adapter.test.ts +60 -60
  149. package/server/modules/orchestration/a2a/adapters/json-event.adapter.ts +101 -101
  150. package/server/modules/orchestration/a2a/adapters/opencode.adapter.ts +248 -248
  151. package/server/modules/orchestration/a2a/adapters/qwen.adapter.ts +248 -248
  152. package/server/modules/orchestration/a2a/agent-card.ts +55 -55
  153. package/server/modules/orchestration/a2a/auth.middleware.ts +29 -29
  154. package/server/modules/orchestration/a2a/bus.ts +46 -46
  155. package/server/modules/orchestration/a2a/routes.ts +586 -586
  156. package/server/modules/orchestration/a2a/task-dispatcher.ts +345 -345
  157. package/server/modules/orchestration/a2a/task-store.ts +178 -178
  158. package/server/modules/orchestration/a2a/types.ts +126 -126
  159. package/server/modules/orchestration/a2a/validator.ts +113 -113
  160. package/server/modules/orchestration/index.ts +99 -99
  161. package/server/modules/orchestration/preview/port-watcher.ts +112 -112
  162. package/server/modules/orchestration/preview/preview-proxy.ts +60 -60
  163. package/server/modules/orchestration/preview/types.ts +19 -19
  164. package/server/modules/orchestration/security/permission-policy.ts +401 -401
  165. package/server/modules/orchestration/tasks/orchestration-task-store.ts +41 -41
  166. package/server/modules/orchestration/tasks/orchestration-task.routes.ts +81 -81
  167. package/server/modules/orchestration/tasks/orchestration-task.service.ts +201 -201
  168. package/server/modules/orchestration/tasks/orchestration-task.types.ts +40 -40
  169. package/server/modules/orchestration/tasks/task-run-graph.ts +155 -155
  170. package/server/modules/orchestration/workflows/approval-queue.ts +106 -106
  171. package/server/modules/orchestration/workflows/built-in-workflows.ts +127 -127
  172. package/server/modules/orchestration/workflows/context-packet.ts +186 -186
  173. package/server/modules/orchestration/workflows/handoff-artifact.ts +175 -175
  174. package/server/modules/orchestration/workflows/workflow-fallback-policy.ts +161 -161
  175. package/server/modules/orchestration/workflows/workflow-replay.ts +254 -254
  176. package/server/modules/orchestration/workflows/workflow-runner.ts +2062 -2062
  177. package/server/modules/orchestration/workflows/workflow-store.ts +97 -97
  178. package/server/modules/orchestration/workflows/workflow-templates.ts +272 -272
  179. package/server/modules/orchestration/workflows/workflow-trace.ts +424 -424
  180. package/server/modules/orchestration/workflows/workflow.routes.ts +586 -586
  181. package/server/modules/orchestration/workflows/workflow.types.ts +111 -111
  182. package/server/modules/orchestration/workflows/workspace-target.ts +122 -122
  183. package/server/modules/orchestration/workspace/docker-workspace.ts +136 -136
  184. package/server/modules/orchestration/workspace/path-safety.ts +55 -55
  185. package/server/modules/orchestration/workspace/types.ts +52 -52
  186. package/server/modules/orchestration/workspace/workspace-manager.ts +102 -102
  187. package/server/modules/orchestration/workspace/worktree-workspace.ts +126 -126
  188. package/server/modules/providers/index.ts +2 -2
  189. package/server/modules/providers/list/claude/claude-auth.provider.ts +146 -146
  190. package/server/modules/providers/list/claude/claude-mcp.provider.ts +135 -135
  191. package/server/modules/providers/list/claude/claude-sessions.provider.ts +306 -306
  192. package/server/modules/providers/list/claude/claude.provider.ts +15 -15
  193. package/server/modules/providers/list/codex/codex-auth.provider.ts +117 -117
  194. package/server/modules/providers/list/codex/codex-mcp.provider.ts +135 -135
  195. package/server/modules/providers/list/codex/codex-sessions.provider.ts +319 -319
  196. package/server/modules/providers/list/codex/codex.provider.ts +15 -15
  197. package/server/modules/providers/list/cursor/cursor-auth.provider.ts +147 -147
  198. package/server/modules/providers/list/cursor/cursor-mcp.provider.ts +108 -108
  199. package/server/modules/providers/list/cursor/cursor-sessions.provider.ts +421 -421
  200. package/server/modules/providers/list/cursor/cursor.provider.ts +15 -15
  201. package/server/modules/providers/list/gemini/gemini-auth.provider.ts +173 -173
  202. package/server/modules/providers/list/gemini/gemini-mcp.provider.ts +110 -110
  203. package/server/modules/providers/list/gemini/gemini-sessions.provider.ts +227 -227
  204. package/server/modules/providers/list/gemini/gemini.provider.ts +15 -15
  205. package/server/modules/providers/list/opencode/opencode-auth.provider.ts +131 -131
  206. package/server/modules/providers/list/opencode/opencode-sessions.provider.ts +286 -286
  207. package/server/modules/providers/list/qwen/qwen-auth.provider.ts +146 -146
  208. package/server/modules/providers/list/qwen/qwen-sessions.provider.ts +265 -265
  209. package/server/modules/providers/provider.registry.ts +40 -40
  210. package/server/modules/providers/provider.routes.ts +982 -982
  211. package/server/modules/providers/services/mcp.service.ts +86 -86
  212. package/server/modules/providers/services/provider-auth.service.ts +26 -26
  213. package/server/modules/providers/services/sessions.service.ts +45 -45
  214. package/server/modules/providers/shared/base/abstract.provider.ts +20 -20
  215. package/server/modules/providers/shared/mcp/mcp.provider.ts +151 -151
  216. package/server/modules/providers/tests/mcp.test.ts +293 -293
  217. package/server/openai-codex.js +468 -468
  218. package/server/opencode-cli.js +491 -491
  219. package/server/opencode-response-handler.js +111 -111
  220. package/server/projects.js +3135 -3135
  221. package/server/qwen-code-cli.js +410 -410
  222. package/server/routes/agent.js +1462 -1451
  223. package/server/routes/auth.js +298 -298
  224. package/server/routes/codex.js +20 -20
  225. package/server/routes/commands.js +581 -581
  226. package/server/routes/cursor.js +61 -61
  227. package/server/routes/diagnostics.js +44 -44
  228. package/server/routes/gemini.js +25 -25
  229. package/server/routes/git.js +1822 -1822
  230. package/server/routes/live-view.js +434 -434
  231. package/server/routes/mcp-utils.js +13 -13
  232. package/server/routes/messages.js +97 -97
  233. package/server/routes/network.js +143 -143
  234. package/server/routes/platformization.js +231 -231
  235. package/server/routes/plugins.js +690 -690
  236. package/server/routes/production-agent-loop.js +90 -90
  237. package/server/routes/projects.js +918 -918
  238. package/server/routes/public-api.js +34 -34
  239. package/server/routes/qwen.js +27 -27
  240. package/server/routes/remote.js +56 -56
  241. package/server/routes/settings.js +321 -321
  242. package/server/routes/telegram.js +163 -163
  243. package/server/routes/user.js +125 -125
  244. package/server/routes/webhooks.js +63 -63
  245. package/server/services/control-room.js +102 -102
  246. package/server/services/diagnostics.js +165 -165
  247. package/server/services/external-access.js +403 -403
  248. package/server/services/install-jobs.js +715 -715
  249. package/server/services/live-view.js +956 -956
  250. package/server/services/managed-runtimes.js +493 -493
  251. package/server/services/model-registry.js +144 -144
  252. package/server/services/notification-orchestrator.js +365 -365
  253. package/server/services/notification-taxonomy.js +204 -204
  254. package/server/services/platformization.js +1052 -1052
  255. package/server/services/production-agent-loop.js +248 -248
  256. package/server/services/provider-cli-versions.js +149 -149
  257. package/server/services/provider-credentials.js +189 -189
  258. package/server/services/provider-models.js +396 -396
  259. package/server/services/public-api-manifest.js +181 -181
  260. package/server/services/qr-login.js +126 -126
  261. package/server/services/remote-connection.js +127 -127
  262. package/server/services/runtime-manager.js +323 -323
  263. package/server/services/startup-update.js +259 -259
  264. package/server/services/telegram/bot.js +393 -393
  265. package/server/services/telegram/control-center.js +2453 -2453
  266. package/server/services/telegram/telegram-gateway.js +314 -314
  267. package/server/services/telegram/telegram-http-client.js +201 -201
  268. package/server/services/telegram/translations.js +470 -470
  269. package/server/services/webhooks.js +216 -216
  270. package/server/sessionManager.js +225 -225
  271. package/server/setup-wizard.js +283 -283
  272. package/server/shared/interfaces.ts +54 -54
  273. package/server/shared/types.ts +172 -172
  274. package/server/shared/utils.ts +193 -193
  275. package/server/tsconfig.json +36 -36
  276. package/server/utils/colors.js +21 -21
  277. package/server/utils/commandParser.js +305 -305
  278. package/server/utils/frontmatter.js +18 -18
  279. package/server/utils/gitConfig.js +34 -34
  280. package/server/utils/plugin-loader.js +461 -461
  281. package/server/utils/plugin-process-manager.js +185 -185
  282. package/server/utils/port-access.js +227 -227
  283. package/server/utils/runtime-paths.js +37 -37
  284. package/server/utils/security-log.js +84 -84
  285. package/server/utils/url-detection.js +71 -71
  286. package/server/vite-daemon.js +79 -79
  287. package/shared/modelConstants.js +161 -161
  288. package/shared/networkHosts.js +22 -22
package/README.md CHANGED
@@ -1,418 +1,435 @@
1
- <div align="center">
2
- <img src="public/logo.png" alt="Pixcode logo" width="92" height="92" />
3
- <h1>Pixcode</h1>
4
- <p><strong>Self-hosted control plane for AI coding agents.</strong></p>
5
- <p>
6
- Pixcode lets you run AI coding CLIs, inspect files, manage shell and source control,
7
- orchestrate agent teams, automate through APIs, and keep long-running work alive from
8
- your own computer or server.
9
- </p>
10
- <p>
11
- <a href="https://www.npmjs.com/package/@pixelbyte-software/pixcode"><img src="https://img.shields.io/npm/v/@pixelbyte-software/pixcode?style=for-the-badge&color=10b981" alt="npm version" /></a>
12
- <a href="https://github.com/alicomert/pixcode/releases/latest"><img src="https://img.shields.io/github/v/release/alicomert/pixcode?style=for-the-badge&color=0ea5e9" alt="latest release" /></a>
13
- <img src="https://img.shields.io/badge/Node.js-22%2B-3c873a?style=for-the-badge" alt="Node.js 22+" />
14
- <img src="https://img.shields.io/badge/Desktop-Windows%20%7C%20macOS%20%7C%20Linux-6366f1?style=for-the-badge" alt="desktop platforms" />
15
- </p>
16
- <p>
17
- <a href="https://buymeacoffee.com/alicomert" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/badge/Buy%20me%20a%20coffee-support%20Pixcode-ffdd00?style=for-the-badge&logo=buymeacoffee&logoColor=000000" alt="Buy me a coffee" /></a>
18
- </p>
19
- <p>
20
- <a href="https://www.producthunt.com/products/pixcode?embed=true&amp;utm_source=badge-featured&amp;utm_medium=badge&amp;utm_campaign=badge-pixcode" target="_blank" rel="noopener noreferrer"><img alt="Pixcode - A self-hosted control room for AI coding agents. | Product Hunt" width="250" height="54" src="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=1144104&amp;theme=light&amp;t=1778502023682"></a>
21
- </p>
22
- <p>
23
- <a href="https://alicomert.github.io/pixcode/landing.html">Website</a> ·
24
- <a href="https://github.com/alicomert/pixcode/releases/latest">Releases</a> ·
25
- <a href="public/docs.html">Docs</a> ·
26
- <a href="public/openapi.yaml">OpenAPI</a> ·
27
- <a href="CONTRIBUTING.md">Contributing</a>
28
- </p>
29
- <p>
30
- <a href="README.tr.md">Turkce</a> ·
31
- <a href="README.de.md">Deutsch</a> ·
32
- <a href="README.ru.md">Русский</a> ·
33
- <a href="README.ja.md">日本語</a> ·
34
- <a href="README.ko.md">한국어</a> ·
35
- <a href="README.zh-CN.md">简体中文</a>
36
- </p>
37
- </div>
38
-
39
- ## What Pixcode Does
40
-
41
- Pixcode is a local web and desktop workspace for AI coding agents. It wraps the
42
- CLIs developers already use, then adds the missing control layer around them:
43
- project selection, chat history, file navigation, shell access, Git/local change
44
- tracking, orchestration, notifications, Telegram control, and API automation.
45
-
46
- Use it when one terminal is not enough:
47
-
48
- - You want Claude Code, Cursor CLI, Codex, Gemini CLI, Qwen Code, and OpenCode
49
- available from the same project screen.
50
- - You want agent output, edited files, shell commands, Git status, and task
51
- planning visible without switching tools.
52
- - You want a server or desktop app that keeps work running while you connect
53
- from another computer, tablet, phone, or Telegram.
54
- - You want a real API surface so other tools can create sessions, run agents,
55
- inspect projects, and automate workflows with `px_` API keys.
56
-
57
- Pixcode is not a hosted cloud IDE. Your source code, CLI sessions, credentials,
58
- project paths, MCP configuration, local database, and automation keys stay on the
59
- machine where Pixcode runs unless you intentionally expose or connect them.
60
-
61
- ## Screenshots
62
-
63
- | Workspace control room | Mobile chat |
64
- | --- | --- |
65
- | <img src="public/screenshots/desktop-main.png" alt="Pixcode desktop workspace with chat, project controls, and side panels" width="480" /> | <img src="public/screenshots/mobile-chat.png" alt="Pixcode mobile chat" width="260" /> |
66
-
67
- | CLI selection | Tools and MCP |
68
- | --- | --- |
69
- | <img src="public/screenshots/cli-selection.png" alt="Pixcode CLI selection" width="420" /> | <img src="public/screenshots/tools-modal.png" alt="Pixcode tools and MCP modal" width="420" /> |
70
-
71
- ## Core Features
72
-
73
- ### Multi-CLI agent workspace
74
-
75
- Pixcode gives every supported coding CLI a shared workspace without hiding the
76
- provider-native behavior. You can connect the providers you already use and move
77
- between them from the same project.
78
-
79
- - Claude Code
80
- - Cursor CLI
81
- - OpenAI Codex
82
- - Gemini CLI
83
- - Qwen Code
84
- - OpenCode
85
-
86
- Provider panels cover auth state, install checks, CLI versions, model choices,
87
- MCP support, and session history. When an agent is thinking, running tools,
88
- waiting for approval, or writing output, the UI keeps visible processing state
89
- instead of leaving the screen feeling frozen.
90
-
91
- ### Chat built for development work
92
-
93
- Pixcode chat is project-aware and designed for long-running coding sessions.
94
-
95
- - Fixed bottom composer on chat/project screens.
96
- - Session history per provider and project.
97
- - Default, plan, and run-style modes where supported.
98
- - Slash-command friendly input.
99
- - Tool output rendering for plans, file operations, command output, and provider
100
- status events.
101
- - Telegram and browser/desktop notifications when work finishes, fails, or needs
102
- attention.
103
-
104
- ### Files, shell, and source control
105
-
106
- The side panels are built around the way coding agents change projects.
107
-
108
- - Files panel with detailed and compact views.
109
- - File open/edit flows that preserve the main chat or orchestration surface.
110
- - Shell panel with split/full behavior on desktop and mobile-safe behavior on
111
- smaller screens.
112
- - Source Control panel for Git status, diffs, branches, commits, and changed
113
- files when a project is a Git repository.
114
- - Local change tracking for projects that are not Git repositories.
115
-
116
- ### Command Center for changed files
117
-
118
- Command Center watches what changes while agents work. It can track Git changes
119
- or local filesystem changes, show the changed file list next to the active chat,
120
- highlight changed items, and open the edited file at the relevant location.
121
-
122
- This is meant to answer the practical question: "What did the agent just touch?"
123
-
124
- ### Multi-agent orchestration
125
-
126
- Pixcode can run structured agent workflows instead of sending every prompt to one
127
- agent.
128
-
129
- Built-in workflow styles include:
130
-
131
- - Agent Team: split a job across implementation, review, docs, testing, or
132
- custom roles.
133
- - Sequential Handoff: pass compact context from one stage to the next.
134
- - Multi-model Review: compare provider/model opinions on the same code or plan.
135
- - Decision Debate: make multiple agents argue approaches before acting.
136
-
137
- Orchestration controls include:
138
-
139
- - per-agent provider and model selection,
140
- - custom labels, roles, and instructions,
141
- - duplicate providers when multiple workers should use the same CLI,
142
- - fallback CLI selection for failed steps,
143
- - run preview before execution,
144
- - streamed step output and final report,
145
- - resizable setup/output panes.
146
-
147
- ### Background orchestration
148
-
149
- Pixcode includes a project-aware orchestration control plane for background
150
- agent work. It runs inside the current Pixcode instance, understands the active
151
- project context, and can route bounded tasks to Claude Code, Codex, Cursor,
152
- Gemini, Qwen, or OpenCode through terminal-first CLI adapters.
153
-
154
- Orchestration controls include:
155
-
156
- - project-scoped task context,
157
- - provider/model routing,
158
- - streamed task status and artifacts,
159
- - workflow run coordination,
160
- - background checks and previews,
161
- - authenticated local APIs under `/api/orchestration`.
162
-
163
- ### API-first automation
164
-
165
- Pixcode's frontend uses the same backend control plane exposed to external
166
- automation. Generate a `px_` API key and call the REST/WebSocket APIs from your
167
- own tools, scripts, CI, dashboards, or Telegram bridge.
168
-
169
- List projects:
170
-
171
- ```bash
172
- curl http://localhost:3001/api/projects \
173
- -H "Authorization: Bearer px_your_key_here"
174
- ```
175
-
176
- Run a provider task:
177
-
178
- ```bash
179
- curl http://localhost:3001/api/agent \
180
- -H "Authorization: Bearer px_your_key_here" \
181
- -H "Content-Type: application/json" \
182
- -d '{
183
- "provider": "codex",
184
- "projectPath": "/home/me/project",
185
- "message": "Review the current diff and list risky changes.",
186
- "stream": false
187
- }'
188
- ```
189
-
190
- Preview an orchestration workflow:
191
-
192
- ```bash
193
- curl http://localhost:3001/api/orchestration/workflows/agent_team/preview \
194
- -H "Authorization: Bearer px_your_key_here" \
195
- -H "Content-Type: application/json" \
196
- -d '{
197
- "metadata": {
198
- "agents": [
199
- { "adapterId": "codex", "label": "Backend", "role": "backend" },
200
- { "adapterId": "opencode", "label": "Reviewer", "role": "review" }
201
- ]
202
- }
203
- }'
204
- ```
205
-
206
- Legacy `ck_` keys remain accepted for older installations, but `px_` is the
207
- current prefix.
208
-
209
- OpenAPI reference: [`public/openapi.yaml`](public/openapi.yaml)
210
-
211
- ### Telegram, notifications, and remote control
212
-
213
- Pixcode can pair a Telegram chat with your account so completed tasks, failed
214
- runs, and action-required states can reach you outside the browser. The goal is
215
- not just a final notification: the Telegram bridge is a control surface for
216
- remote prompts, provider/session selection, and long-running work.
217
-
218
- Notification surfaces include:
219
-
220
- - in-app alerts,
221
- - browser/desktop notifications where the platform allows them,
222
- - Telegram task notifications,
223
- - update notices and release notes.
224
-
225
- ### Theme system
226
-
227
- Pixcode has a real appearance system instead of one fixed blue/navy palette.
228
-
229
- - Dark and light modes.
230
- - Ready-made accent palettes, including emerald and VS Code-like options.
231
- - Custom accent colors for dark and light themes.
232
- - Token-based styling for focus rings, active controls, buttons, navigation, and
233
- panels.
234
-
235
- ### MCP and plugins
236
-
237
- Pixcode includes extension points for local workflows:
238
-
239
- - MCP server management for supported providers.
240
- - Provider-specific auth, MCP, and sessions panels.
241
- - Plugin loading with optional frontend tabs and backend services.
242
- - Local settings for API keys, base URLs, model catalogs, and provider install
243
- state.
244
-
245
- ## Installation
246
-
247
- ### Requirements
248
-
249
- - Node.js 22 or newer.
250
- - The provider CLIs you want to use, installed and authenticated separately when
251
- required.
252
-
253
- ### Run with npx
254
-
255
- ```bash
256
- npx @pixelbyte-software/pixcode
257
- ```
258
-
259
- Open:
260
-
261
- ```text
262
- http://localhost:3001
263
- ```
264
-
265
- ### Install globally
266
-
267
- ```bash
268
- npm install -g @pixelbyte-software/pixcode
269
- pixcode
270
- ```
271
-
272
- ### Desktop installers
273
-
274
- Download desktop builds from GitHub Releases:
275
-
276
- - Windows: `.exe`
277
- - macOS: `.dmg`
278
- - Linux: AppImage or package asset, depending on the release
279
-
280
- Releases: <https://github.com/alicomert/pixcode/releases/latest>
281
-
282
- #### macOS Gatekeeper: "Pixcode is damaged"
283
-
284
- Current macOS desktop builds can be unsigned. If macOS says `Pixcode is damaged
285
- and can't be opened. You should move it to the Trash`, first make sure the DMG
286
- came from the official Pixcode GitHub Releases page, then:
287
-
288
- 1. Open the DMG and drag `Pixcode.app` into `/Applications`.
289
- 2. Double-click `Fix Gatekeeper.command` inside the mounted DMG.
290
- 3. Pixcode removes the quarantine flag from `/Applications/Pixcode.app` and can
291
- open normally.
292
-
293
- Manual fallback:
294
-
295
- ```bash
296
- xattr -dr com.apple.quarantine "/Applications/Pixcode.app"
297
- open "/Applications/Pixcode.app"
298
- ```
299
-
300
- ### Linux daemon
301
-
302
- For a server or VDS setup:
303
-
304
- ```bash
305
- pixcode daemon install --mode auto --port 3001
306
- pixcode daemon status --mode auto
307
- pixcode daemon logs --mode auto
308
- pixcode daemon restart --mode auto
309
- ```
310
-
311
- Foreground mode:
312
-
313
- ```bash
314
- pixcode --no-daemon
315
- ```
316
-
317
- ### Ports
318
-
319
- - Installed backend and bundled frontend: `SERVER_PORT`, default `3001`.
320
- - Vite-only frontend development: `VITE_PORT`, default `5173`.
321
-
322
- For normal installed usage, think in terms of one port: `3001`. Port `5173` is
323
- only for separate Vite frontend development.
324
-
325
- ## First Run
326
-
327
- 1. Open Pixcode and create or sign in to the local user account.
328
- 2. Add the project folders you want to manage.
329
- 3. Connect the CLI providers you actually use.
330
- 4. Open Settings and check provider install/auth/model status.
331
- 5. Use orchestration if you want background workflow and review flows.
332
- 6. Generate a `px_` API key for external automation.
333
- 7. Pair Telegram if you want remote prompts and completion notifications.
334
- 8. Pick your theme palette under Appearance.
335
-
336
- ## Development
337
-
338
- ```bash
339
- npm install
340
- npm run typecheck
341
- npm run lint
342
- npm run build
343
- ```
344
-
345
- Important development notes:
346
-
347
- - `npm run dev` uses the daemon manager on Linux.
348
- - For a foreground development loop, run `npm run client` and `npm run server`
349
- separately, or run `pixcode --no-daemon`.
350
- - `npm run server` runs built output from `dist-server/`; rebuild after backend
351
- changes.
352
- - There is no unit test suite configured today. Use smoke scripts, typecheck,
353
- lint, build, and manual provider/API checks.
354
-
355
- ## Repository Map
356
-
357
- - `src/` - React + Vite frontend.
358
- - `server/` - Express, WebSocket, CLI adapters, routes, auth, daemon,
359
- notifications.
360
- - `server/modules/orchestration/` - multi-agent workflow engine and CLI adapters.
361
- - `server/modules/providers/` - provider auth, MCP, sessions, model and install
362
- endpoints.
363
- - `shared/` - contracts shared by frontend and backend.
364
- - `public/openapi.yaml` - API reference shipped with the app.
365
- - `public/screenshots/` - README and product screenshots.
366
- - `public/llms.txt` and `public/llms-full.txt` - AI-discovery summaries.
367
-
368
- ## Open Source Readiness
369
-
370
- Pixcode is prepared for public contribution with the basics contributors expect:
371
-
372
- - Clear README with purpose, install commands, screenshots, API examples, and
373
- architecture map.
374
- - Open-source license in [`LICENSE`](LICENSE).
375
- - Contribution guide in [`CONTRIBUTING.md`](CONTRIBUTING.md).
376
- - Code of conduct in [`CODE_OF_CONDUCT.md`](CODE_OF_CONDUCT.md).
377
- - Security policy in [`SECURITY.md`](SECURITY.md).
378
- - GitHub issue templates for bug reports, feature requests, and good first
379
- issues.
380
- - Releases and version tags published through GitHub Releases.
381
- - Static website and documentation under [`public/`](public).
382
-
383
- Good starter work should be labeled `good first issue` on GitHub. The repository
384
- also includes a good-first-issue template so small, scoped tasks can be filed
385
- without losing context.
386
-
387
- ## Security Model
388
-
389
- - Pixcode is self-hosted. Treat it like a local control plane for your machine.
390
- - Use strong local account credentials when exposing it on a network.
391
- - Put public-server deployments behind a trusted reverse proxy, VPN, or firewall.
392
- - API keys are intended for automation. Rotate them if they are exposed.
393
- - Provider secrets are masked in APIs and UI responses where possible.
394
- - Do not publish logs that contain provider tokens, session output, or private
395
- project paths.
396
-
397
- ## Contributing
398
-
399
- Read [`CONTRIBUTING.md`](CONTRIBUTING.md) before opening a pull request. Keep
400
- changes scoped, run the verification commands above, and include screenshots or
401
- short recordings for UI work when possible.
402
-
403
- For community behavior expectations, read
404
- [`CODE_OF_CONDUCT.md`](CODE_OF_CONDUCT.md). For private vulnerability reports,
405
- read [`SECURITY.md`](SECURITY.md).
406
-
407
- ## Links
408
-
409
- - Website: <https://alicomert.github.io/pixcode/landing.html>
410
- - npm: <https://www.npmjs.com/package/@pixelbyte-software/pixcode>
411
- - GitHub: <https://github.com/alicomert/pixcode>
412
- - Releases: <https://github.com/alicomert/pixcode/releases/latest>
413
- - API docs: [`public/openapi.yaml`](public/openapi.yaml)
414
- - Static docs: [`public/docs.html`](public/docs.html), [`public/features.html`](public/features.html), [`public/orchestration.html`](public/orchestration.html), [`public/api-automation.html`](public/api-automation.html)
415
- - AI discovery: [`public/llms.txt`](public/llms.txt), [`public/llms-full.txt`](public/llms-full.txt)
416
-
417
- Pixcode is an independent open-source project and is not affiliated with OpenAI,
418
- Anthropic, Google, Cursor, Alibaba/Qwen, or OpenCode.
1
+ <div align="center">
2
+ <img src="public/logo.png" alt="Pixcode logo" width="92" height="92" />
3
+ <h1>Pixcode</h1>
4
+ <p><strong>Self-hosted control plane for AI coding agents.</strong></p>
5
+ <p>
6
+ Pixcode lets you run AI coding CLIs, inspect files, manage shell and source control,
7
+ orchestrate agent teams, automate through APIs, and keep long-running work alive from
8
+ your own computer or server.
9
+ </p>
10
+ <p>
11
+ <a href="https://www.npmjs.com/package/@pixelbyte-software/pixcode"><img src="https://img.shields.io/npm/v/@pixelbyte-software/pixcode?style=for-the-badge&color=10b981" alt="npm version" /></a>
12
+ <a href="https://github.com/alicomert/pixcode/releases/latest"><img src="https://img.shields.io/github/v/release/alicomert/pixcode?style=for-the-badge&color=0ea5e9" alt="latest release" /></a>
13
+ <img src="https://img.shields.io/badge/Node.js-22%2B-3c873a?style=for-the-badge" alt="Node.js 22+" />
14
+ <img src="https://img.shields.io/badge/Desktop-Windows%20%7C%20macOS%20%7C%20Linux-6366f1?style=for-the-badge" alt="desktop platforms" />
15
+ <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue?style=for-the-badge" alt="MIT License" /></a>
16
+ <a href="https://github.com/alicomert/pixcode/discussions"><img src="https://img.shields.io/badge/Discussions-open-9ca3af?style=for-the-badge" alt="Discussions" /></a>
17
+ </p>
18
+ <p>
19
+ <a href="https://buymeacoffee.com/alicomert" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/badge/Buy%20me%20a%20coffee-support%20Pixcode-ffdd00?style=for-the-badge&logo=buymeacoffee&logoColor=000000" alt="Buy me a coffee" /></a>
20
+ </p>
21
+ <p>
22
+ <a href="https://www.producthunt.com/products/pixcode?embed=true&amp;utm_source=badge-featured&amp;utm_medium=badge&amp;utm_campaign=badge-pixcode" target="_blank" rel="noopener noreferrer"><img alt="Pixcode - A self-hosted control room for AI coding agents. | Product Hunt" width="250" height="54" src="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=1144104&amp;theme=light&amp;t=1778502023682"></a>
23
+ </p>
24
+ <p>
25
+ <a href="https://alicomert.github.io/pixcode/landing.html">Website</a> ·
26
+ <a href="https://github.com/alicomert/pixcode/releases/latest">Releases</a> ·
27
+ <a href="public/docs.html">Docs</a> ·
28
+ <a href="public/openapi.yaml">OpenAPI</a> ·
29
+ <a href="CONTRIBUTING.md">Contributing</a>
30
+ </p>
31
+ <p>
32
+ <a href="README.tr.md">Turkce</a> ·
33
+ <a href="README.de.md">Deutsch</a> ·
34
+ <a href="README.ru.md">Русский</a> ·
35
+ <a href="README.ja.md">日本語</a> ·
36
+ <a href="README.ko.md">한국어</a> ·
37
+ <a href="README.zh-CN.md">简体中文</a>
38
+ </p>
39
+ </div>
40
+
41
+ ## What Pixcode Does
42
+
43
+ Pixcode is a local web and desktop workspace for AI coding agents. It wraps the
44
+ CLIs developers already use, then adds the missing control layer around them:
45
+ project selection, chat history, file navigation, shell access, Git/local change
46
+ tracking, orchestration, notifications, Telegram control, and API automation.
47
+
48
+ Use it when one terminal is not enough:
49
+
50
+ - You want Claude Code, Cursor CLI, Codex, Gemini CLI, Qwen Code, and OpenCode
51
+ available from the same project screen.
52
+ - You want agent output, edited files, shell commands, Git status, and task
53
+ planning visible without switching tools.
54
+ - You want a server or desktop app that keeps work running while you connect
55
+ from another computer, tablet, phone, or Telegram.
56
+ - You want a real API surface so other tools can create sessions, run agents,
57
+ inspect projects, and automate workflows with `px_` API keys.
58
+
59
+ Pixcode is not a hosted cloud IDE. Your source code, CLI sessions, credentials,
60
+ project paths, MCP configuration, local database, and automation keys stay on the
61
+ machine where Pixcode runs unless you intentionally expose or connect them.
62
+
63
+ ## Screenshots
64
+
65
+ | Workspace control room | Mobile chat |
66
+ | --- | --- |
67
+ | <img src="public/screenshots/desktop-main.png" alt="Pixcode desktop workspace with chat, project controls, and side panels" width="480" /> | <img src="public/screenshots/mobile-chat.png" alt="Pixcode mobile chat" width="260" /> |
68
+
69
+ | CLI selection | Tools and MCP |
70
+ | --- | --- |
71
+ | <img src="public/screenshots/cli-selection.png" alt="Pixcode CLI selection" width="420" /> | <img src="public/screenshots/tools-modal.png" alt="Pixcode tools and MCP modal" width="420" /> |
72
+
73
+ ## Core Features
74
+
75
+ ### Multi-CLI agent workspace
76
+
77
+ Pixcode gives every supported coding CLI a shared workspace without hiding the
78
+ provider-native behavior. You can connect the providers you already use and move
79
+ between them from the same project.
80
+
81
+ - Claude Code
82
+ - Cursor CLI
83
+ - OpenAI Codex
84
+ - Gemini CLI
85
+ - Qwen Code
86
+ - OpenCode
87
+
88
+ Provider panels cover auth state, install checks, CLI versions, model choices,
89
+ MCP support, and session history. When an agent is thinking, running tools,
90
+ waiting for approval, or writing output, the UI keeps visible processing state
91
+ instead of leaving the screen feeling frozen.
92
+
93
+ ### Chat built for development work
94
+
95
+ Pixcode chat is project-aware and designed for long-running coding sessions.
96
+
97
+ - Fixed bottom composer on chat/project screens.
98
+ - Session history per provider and project.
99
+ - Default, plan, and run-style modes where supported.
100
+ - Slash-command friendly input.
101
+ - Tool output rendering for plans, file operations, command output, and provider
102
+ status events.
103
+ - Telegram and browser/desktop notifications when work finishes, fails, or needs
104
+ attention.
105
+
106
+ ### Files, shell, and source control
107
+
108
+ The side panels are built around the way coding agents change projects.
109
+
110
+ - Files panel with detailed and compact views.
111
+ - File open/edit flows that preserve the main chat or orchestration surface.
112
+ - Shell panel with split/full behavior on desktop and mobile-safe behavior on
113
+ smaller screens.
114
+ - Source Control panel for Git status, diffs, branches, commits, and changed
115
+ files when a project is a Git repository.
116
+ - Local change tracking for projects that are not Git repositories.
117
+
118
+ ### Command Center for changed files
119
+
120
+ Command Center watches what changes while agents work. It can track Git changes
121
+ or local filesystem changes, show the changed file list next to the active chat,
122
+ highlight changed items, and open the edited file at the relevant location.
123
+
124
+ This is meant to answer the practical question: "What did the agent just touch?"
125
+
126
+ ### Multi-agent orchestration
127
+
128
+ Pixcode can run structured agent workflows instead of sending every prompt to one
129
+ agent.
130
+
131
+ Built-in workflow styles include:
132
+
133
+ - Agent Team: split a job across implementation, review, docs, testing, or
134
+ custom roles.
135
+ - Sequential Handoff: pass compact context from one stage to the next.
136
+ - Multi-model Review: compare provider/model opinions on the same code or plan.
137
+ - Decision Debate: make multiple agents argue approaches before acting.
138
+
139
+ Orchestration controls include:
140
+
141
+ - per-agent provider and model selection,
142
+ - custom labels, roles, and instructions,
143
+ - duplicate providers when multiple workers should use the same CLI,
144
+ - fallback CLI selection for failed steps,
145
+ - run preview before execution,
146
+ - streamed step output and final report,
147
+ - resizable setup/output panes.
148
+
149
+ ### Background orchestration
150
+
151
+ Pixcode includes a project-aware orchestration control plane for background
152
+ agent work. It runs inside the current Pixcode instance, understands the active
153
+ project context, and can route bounded tasks to Claude Code, Codex, Cursor,
154
+ Gemini, Qwen, or OpenCode through terminal-first CLI adapters.
155
+
156
+ Orchestration controls include:
157
+
158
+ - project-scoped task context,
159
+ - provider/model routing,
160
+ - streamed task status and artifacts,
161
+ - workflow run coordination,
162
+ - background checks and previews,
163
+ - authenticated local APIs under `/api/orchestration`.
164
+
165
+ ### API-first automation
166
+
167
+ Pixcode's frontend uses the same backend control plane exposed to external
168
+ automation. Generate a `px_` API key and call the REST/WebSocket APIs from your
169
+ own tools, scripts, CI, dashboards, or Telegram bridge.
170
+
171
+ List projects:
172
+
173
+ ```bash
174
+ curl http://localhost:3001/api/projects \
175
+ -H "Authorization: Bearer px_your_key_here"
176
+ ```
177
+
178
+ Run a provider task:
179
+
180
+ ```bash
181
+ curl http://localhost:3001/api/agent \
182
+ -H "Authorization: Bearer px_your_key_here" \
183
+ -H "Content-Type: application/json" \
184
+ -d '{
185
+ "provider": "codex",
186
+ "projectPath": "/home/me/project",
187
+ "message": "Review the current diff and list risky changes.",
188
+ "stream": false
189
+ }'
190
+ ```
191
+
192
+ Preview an orchestration workflow:
193
+
194
+ ```bash
195
+ curl http://localhost:3001/api/orchestration/workflows/agent_team/preview \
196
+ -H "Authorization: Bearer px_your_key_here" \
197
+ -H "Content-Type: application/json" \
198
+ -d '{
199
+ "metadata": {
200
+ "agents": [
201
+ { "adapterId": "codex", "label": "Backend", "role": "backend" },
202
+ { "adapterId": "opencode", "label": "Reviewer", "role": "review" }
203
+ ]
204
+ }
205
+ }'
206
+ ```
207
+
208
+ Legacy `ck_` keys remain accepted for older installations, but `px_` is the
209
+ current prefix.
210
+
211
+ OpenAPI reference: [`public/openapi.yaml`](public/openapi.yaml)
212
+
213
+ ### Telegram, notifications, and remote control
214
+
215
+ Pixcode can pair a Telegram chat with your account so completed tasks, failed
216
+ runs, and action-required states can reach you outside the browser. The goal is
217
+ not just a final notification: the Telegram bridge is a control surface for
218
+ remote prompts, provider/session selection, and long-running work.
219
+
220
+ Notification surfaces include:
221
+
222
+ - in-app alerts,
223
+ - browser/desktop notifications where the platform allows them,
224
+ - Telegram task notifications,
225
+ - update notices and release notes.
226
+
227
+ ### Theme system
228
+
229
+ Pixcode has a real appearance system instead of one fixed blue/navy palette.
230
+
231
+ - Dark and light modes.
232
+ - Ready-made accent palettes, including emerald and VS Code-like options.
233
+ - Custom accent colors for dark and light themes.
234
+ - Token-based styling for focus rings, active controls, buttons, navigation, and
235
+ panels.
236
+
237
+ ### MCP and plugins
238
+
239
+ Pixcode includes extension points for local workflows:
240
+
241
+ - MCP server management for supported providers.
242
+ - Provider-specific auth, MCP, and sessions panels.
243
+ - Plugin loading with optional frontend tabs and backend services.
244
+ - Local settings for API keys, base URLs, model catalogs, and provider install
245
+ state.
246
+
247
+ ## Installation
248
+
249
+ ### Requirements
250
+
251
+ - Node.js 22 or newer.
252
+ - The provider CLIs you want to use, installed and authenticated separately when
253
+ required.
254
+
255
+ ### Run with npx
256
+
257
+ ```bash
258
+ npx @pixelbyte-software/pixcode
259
+ ```
260
+
261
+ Open:
262
+
263
+ ```text
264
+ http://localhost:3001
265
+ ```
266
+
267
+ ### Install globally
268
+
269
+ ```bash
270
+ npm install -g @pixelbyte-software/pixcode
271
+ pixcode
272
+ ```
273
+
274
+ ### Desktop installers
275
+
276
+ Download desktop builds from GitHub Releases:
277
+
278
+ - Windows: `.exe`
279
+ - macOS: `.dmg`
280
+ - Linux: AppImage or package asset, depending on the release
281
+
282
+ Releases: <https://github.com/alicomert/pixcode/releases/latest>
283
+
284
+ #### macOS Gatekeeper: "Pixcode is damaged"
285
+
286
+ Current macOS desktop builds can be unsigned. If macOS says `Pixcode is damaged
287
+ and can't be opened. You should move it to the Trash`, first make sure the DMG
288
+ came from the official Pixcode GitHub Releases page, then:
289
+
290
+ 1. Open the DMG and drag `Pixcode.app` into `/Applications`.
291
+ 2. Double-click `Fix Gatekeeper.command` inside the mounted DMG.
292
+ 3. Pixcode removes the quarantine flag from `/Applications/Pixcode.app` and can
293
+ open normally.
294
+
295
+ Manual fallback:
296
+
297
+ ```bash
298
+ xattr -dr com.apple.quarantine "/Applications/Pixcode.app"
299
+ open "/Applications/Pixcode.app"
300
+ ```
301
+
302
+ ### Linux daemon
303
+
304
+ For a server or VDS setup:
305
+
306
+ ```bash
307
+ pixcode daemon install --mode auto --port 3001
308
+ pixcode daemon status --mode auto
309
+ pixcode daemon logs --mode auto
310
+ pixcode daemon restart --mode auto
311
+ ```
312
+
313
+ Foreground mode:
314
+
315
+ ```bash
316
+ pixcode --no-daemon
317
+ ```
318
+
319
+ ### Ports
320
+
321
+ - Installed backend and bundled frontend: `SERVER_PORT`, default `3001`.
322
+ - Vite-only frontend development: `VITE_PORT`, default `5173`.
323
+
324
+ For normal installed usage, think in terms of one port: `3001`. Port `5173` is
325
+ only for separate Vite frontend development.
326
+
327
+ ## First Run
328
+
329
+ 1. Open Pixcode and create or sign in to the local user account.
330
+ 2. Add the project folders you want to manage.
331
+ 3. Connect the CLI providers you actually use.
332
+ 4. Open Settings and check provider install/auth/model status.
333
+ 5. Use orchestration if you want background workflow and review flows.
334
+ 6. Generate a `px_` API key for external automation.
335
+ 7. Pair Telegram if you want remote prompts and completion notifications.
336
+ 8. Pick your theme palette under Appearance.
337
+
338
+ ## Development
339
+
340
+ ```bash
341
+ npm install
342
+ npm run typecheck
343
+ npm run lint
344
+ npm run build
345
+ ```
346
+
347
+ Important development notes:
348
+
349
+ - `npm run dev` uses the daemon manager on Linux.
350
+ - For a foreground development loop, run `npm run client` and `npm run server`
351
+ separately, or run `pixcode --no-daemon`.
352
+ - `npm run server` runs built output from `dist-server/`; rebuild after backend
353
+ changes.
354
+ - There is no unit test suite configured today. Use smoke scripts, typecheck,
355
+ lint, build, and manual provider/API checks.
356
+
357
+ ## Repository Map
358
+
359
+ - `src/` - React + Vite frontend.
360
+ - `server/` - Express, WebSocket, CLI adapters, routes, auth, daemon,
361
+ notifications.
362
+ - `server/modules/orchestration/` - multi-agent workflow engine and CLI adapters.
363
+ - `server/modules/providers/` - provider auth, MCP, sessions, model and install
364
+ endpoints.
365
+ - `shared/` - contracts shared by frontend and backend.
366
+ - `public/openapi.yaml` - API reference shipped with the app.
367
+ - `public/screenshots/` - README and product screenshots.
368
+ - `public/llms.txt` and `public/llms-full.txt` - AI-discovery summaries.
369
+
370
+ ## Open Source Readiness
371
+
372
+ Pixcode is prepared for public contribution with the basics contributors expect:
373
+
374
+ - Clear README with purpose, install commands, screenshots, API examples, and
375
+ architecture map.
376
+ - MIT-licensed see [`LICENSE`](LICENSE). Free for commercial and personal use.
377
+ - Contribution guide in [`CONTRIBUTING.md`](CONTRIBUTING.md).
378
+ - Code of conduct in [`CODE_OF_CONDUCT.md`](CODE_OF_CONDUCT.md).
379
+ - Security policy in [`SECURITY.md`](SECURITY.md).
380
+ - GitHub issue templates for bug reports, feature requests, and good first
381
+ issues.
382
+ - Releases and version tags published through GitHub Releases.
383
+ - Static website and documentation under [`public/`](public).
384
+
385
+ Good starter work should be labeled `good first issue` on GitHub. The repository
386
+ also includes a good-first-issue template so small, scoped tasks can be filed
387
+ without losing context.
388
+
389
+ ## Security Model
390
+
391
+ - Pixcode is self-hosted. Treat it like a local control plane for your machine.
392
+ - Use strong local account credentials when exposing it on a network.
393
+ - Put public-server deployments behind a trusted reverse proxy, VPN, or firewall.
394
+ - API keys are intended for automation. Rotate them if they are exposed.
395
+ - Provider secrets are masked in APIs and UI responses where possible.
396
+ - Do not publish logs that contain provider tokens, session output, or private
397
+ project paths.
398
+
399
+ ## Contributing
400
+
401
+ Read [`CONTRIBUTING.md`](CONTRIBUTING.md) before opening a pull request. Keep
402
+ changes scoped, run the verification commands above, and include screenshots or
403
+ short recordings for UI work when possible.
404
+
405
+ For community behavior expectations, read
406
+ [`CODE_OF_CONDUCT.md`](CODE_OF_CONDUCT.md). For private vulnerability reports,
407
+ read [`SECURITY.md`](SECURITY.md).
408
+
409
+ ## Cloud (Coming Soon)
410
+
411
+ Pixcode Cloud will offer a fully managed SaaS experience — no server setup,
412
+ no Docker, no daemon configuration. Connect your GitHub repos, pick an AI
413
+ coding agent, and let it work in an isolated container that we manage for you.
414
+
415
+ - **BYOK** (Bring Your Own Key) or use our managed API pool
416
+ - Isolated Docker containers per project
417
+ - Team collaboration and shared workspaces
418
+ - Cost analytics and token usage dashboards
419
+ - Workflow marketplace with pre-built orchestration templates
420
+
421
+ Join the discussion or request early access in
422
+ [GitHub Discussions](https://github.com/alicomert/pixcode/discussions).
423
+
424
+ ## Links
425
+
426
+ - Website: <https://alicomert.github.io/pixcode/landing.html>
427
+ - npm: <https://www.npmjs.com/package/@pixelbyte-software/pixcode>
428
+ - GitHub: <https://github.com/alicomert/pixcode>
429
+ - Releases: <https://github.com/alicomert/pixcode/releases/latest>
430
+ - API docs: [`public/openapi.yaml`](public/openapi.yaml)
431
+ - Static docs: [`public/docs.html`](public/docs.html), [`public/features.html`](public/features.html), [`public/orchestration.html`](public/orchestration.html), [`public/api-automation.html`](public/api-automation.html)
432
+ - AI discovery: [`public/llms.txt`](public/llms.txt), [`public/llms-full.txt`](public/llms-full.txt)
433
+
434
+ Pixcode is an independent open-source project and is not affiliated with OpenAI,
435
+ Anthropic, Google, Cursor, Alibaba/Qwen, or OpenCode.