upfynai-code 2.9.1 → 2.9.2

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 (229) hide show
  1. package/README.md +91 -66
  2. package/client/dist/api-docs.html +838 -0
  3. package/client/dist/assets/AppContent-BXZDeSIC.js +545 -0
  4. package/client/dist/assets/CanvasFullScreen-mnpCnLZ9.js +1 -0
  5. package/client/dist/assets/CanvasWorkspace-4CqmjAVQ.js +163 -0
  6. package/client/dist/assets/DashboardPanel-zFIFlw56.js +1 -0
  7. package/client/dist/assets/FileTree-B0c_GaB3.js +1 -0
  8. package/client/dist/assets/GitPanel-DUP4zVU4.js +2 -0
  9. package/client/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  10. package/client/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  11. package/client/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  12. package/client/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  13. package/client/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  14. package/client/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  15. package/client/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  16. package/client/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  17. package/client/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  18. package/client/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  19. package/client/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  20. package/client/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  21. package/client/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  22. package/client/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  23. package/client/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  24. package/client/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  25. package/client/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  26. package/client/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  27. package/client/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  28. package/client/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  29. package/client/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  30. package/client/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  31. package/client/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  32. package/client/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  33. package/client/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  34. package/client/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  35. package/client/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  36. package/client/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  37. package/client/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  38. package/client/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  39. package/client/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  40. package/client/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  41. package/client/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  42. package/client/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  43. package/client/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  44. package/client/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  45. package/client/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  46. package/client/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  47. package/client/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  48. package/client/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  49. package/client/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  50. package/client/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  51. package/client/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  52. package/client/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  53. package/client/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  54. package/client/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  55. package/client/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  56. package/client/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  57. package/client/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  58. package/client/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  59. package/client/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  60. package/client/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  61. package/client/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  62. package/client/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  63. package/client/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  64. package/client/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  65. package/client/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  66. package/client/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  67. package/client/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  68. package/client/dist/assets/LoginModal-BRycfsyD.js +13 -0
  69. package/client/dist/assets/MarkdownPreview-DHmk3qzu.js +1 -0
  70. package/client/dist/assets/MermaidBlock-BuBc_G-F.js +2 -0
  71. package/client/dist/assets/Onboarding-BcnaZZ0o.js +1 -0
  72. package/client/dist/assets/PreviewPanel-CqCa92Tf.js +32 -0
  73. package/client/dist/assets/SetupForm-S0g6u5yT.js +1 -0
  74. package/client/dist/assets/WorkflowsPanel-CouH9JDO.js +1 -0
  75. package/client/dist/assets/index-BFuqS0tY.css +1 -0
  76. package/client/dist/assets/index-CNDcVl2g.js +68 -0
  77. package/client/dist/assets/pdf-CE_K4jFx.js +12 -0
  78. package/client/dist/assets/vendor-canvas-BZV40eAE.css +1 -0
  79. package/client/dist/assets/vendor-canvas-D39yWul6.js +49 -0
  80. package/client/dist/assets/vendor-codemirror-CbtmxxaB.js +35 -0
  81. package/client/dist/assets/vendor-diff-DNQpbhrT.js +69 -0
  82. package/client/dist/assets/vendor-i18n-DCFGyhQR.js +1 -0
  83. package/client/dist/assets/vendor-icons-BaD0x9SL.js +711 -0
  84. package/client/dist/assets/vendor-markdown-CimbIo6Y.js +296 -0
  85. package/client/dist/assets/vendor-mermaid-CH7SGc99.js +2556 -0
  86. package/client/dist/assets/vendor-react-96lCPsRK.js +67 -0
  87. package/client/dist/assets/vendor-syntax-DuHI9Ok6.js +16 -0
  88. package/client/dist/assets/vendor-xterm-CZq1hqo1.js +66 -0
  89. package/client/dist/assets/vendor-xterm-qxJ8_QYu.css +32 -0
  90. package/client/dist/clear-cache.html +85 -0
  91. package/client/dist/convert-icons.md +53 -0
  92. package/client/dist/favicon.png +0 -0
  93. package/client/dist/favicon.svg +5 -0
  94. package/client/dist/generate-icons.js +49 -0
  95. package/client/dist/icons/claude-ai-icon.svg +1 -0
  96. package/client/dist/icons/codex-white.svg +3 -0
  97. package/client/dist/icons/codex.svg +3 -0
  98. package/client/dist/icons/cursor-white.svg +12 -0
  99. package/client/dist/icons/cursor.svg +1 -0
  100. package/client/dist/icons/icon-128x128.png +0 -0
  101. package/client/dist/icons/icon-128x128.svg +5 -0
  102. package/client/dist/icons/icon-144x144.png +0 -0
  103. package/client/dist/icons/icon-144x144.svg +5 -0
  104. package/client/dist/icons/icon-152x152.png +0 -0
  105. package/client/dist/icons/icon-152x152.svg +5 -0
  106. package/client/dist/icons/icon-192x192.png +0 -0
  107. package/client/dist/icons/icon-192x192.svg +5 -0
  108. package/client/dist/icons/icon-384x384.png +0 -0
  109. package/client/dist/icons/icon-384x384.svg +5 -0
  110. package/client/dist/icons/icon-512x512.png +0 -0
  111. package/client/dist/icons/icon-512x512.svg +5 -0
  112. package/client/dist/icons/icon-72x72.png +0 -0
  113. package/client/dist/icons/icon-72x72.svg +5 -0
  114. package/client/dist/icons/icon-96x96.png +0 -0
  115. package/client/dist/icons/icon-96x96.svg +5 -0
  116. package/client/dist/icons/icon-template.svg +5 -0
  117. package/client/dist/index.html +119 -0
  118. package/client/dist/logo-128.png +0 -0
  119. package/client/dist/logo-256.png +0 -0
  120. package/client/dist/logo-32.png +0 -0
  121. package/client/dist/logo-512.png +0 -0
  122. package/client/dist/logo-64.png +0 -0
  123. package/client/dist/logo.svg +14 -0
  124. package/client/dist/manifest.json +61 -0
  125. package/client/dist/mcp-docs.html +108 -0
  126. package/client/dist/offline.html +84 -0
  127. package/client/dist/screenshots/cli-selection.png +0 -0
  128. package/client/dist/screenshots/desktop-main.png +0 -0
  129. package/client/dist/screenshots/mobile-chat.png +0 -0
  130. package/client/dist/screenshots/tools-modal.png +0 -0
  131. package/client/dist/sw.js +82 -0
  132. package/commands/upfynai-connect.md +59 -0
  133. package/commands/upfynai-disconnect.md +31 -0
  134. package/commands/upfynai-doctor.md +99 -0
  135. package/commands/upfynai-export.md +49 -0
  136. package/commands/upfynai-local.md +82 -0
  137. package/commands/upfynai-status.md +75 -0
  138. package/commands/upfynai-stop.md +49 -0
  139. package/commands/upfynai-uninstall.md +58 -0
  140. package/commands/upfynai.md +69 -0
  141. package/package.json +143 -82
  142. package/scripts/build-client.js +17 -0
  143. package/scripts/fix-node-pty.js +67 -0
  144. package/scripts/install-commands.js +78 -0
  145. package/server/agent-loop.js +242 -0
  146. package/server/auto-compact.js +99 -0
  147. package/server/claude-sdk.js +797 -0
  148. package/server/cli-ui.js +785 -0
  149. package/server/cli.js +596 -0
  150. package/server/constants/config.js +31 -0
  151. package/server/cursor-cli.js +270 -0
  152. package/server/database/auth.db +0 -0
  153. package/server/database/db.js +1391 -0
  154. package/server/database/init.sql +70 -0
  155. package/server/index.js +3799 -0
  156. package/server/load-env.js +26 -0
  157. package/server/mcp-server.js +621 -0
  158. package/server/middleware/auth.js +176 -0
  159. package/server/middleware/relayHelpers.js +44 -0
  160. package/server/middleware/sandboxRouter.js +174 -0
  161. package/server/openai-codex.js +403 -0
  162. package/server/openrouter.js +137 -0
  163. package/server/projects.js +1807 -0
  164. package/server/provider-factory.js +174 -0
  165. package/server/relay-client.js +379 -0
  166. package/server/routes/agent.js +1226 -0
  167. package/server/routes/auth.js +554 -0
  168. package/server/routes/canvas.js +53 -0
  169. package/server/routes/cli-auth.js +263 -0
  170. package/server/routes/codex.js +396 -0
  171. package/server/routes/commands.js +707 -0
  172. package/server/routes/composio.js +176 -0
  173. package/server/routes/cursor.js +770 -0
  174. package/server/routes/dashboard.js +295 -0
  175. package/server/routes/git.js +1208 -0
  176. package/server/routes/keys.js +34 -0
  177. package/server/routes/mcp-utils.js +48 -0
  178. package/server/routes/mcp.js +661 -0
  179. package/server/routes/payments.js +227 -0
  180. package/server/routes/projects.js +655 -0
  181. package/server/routes/sessions.js +146 -0
  182. package/server/routes/settings.js +261 -0
  183. package/server/routes/taskmaster.js +1928 -0
  184. package/server/routes/user.js +106 -0
  185. package/server/routes/vapi-chat.js +624 -0
  186. package/server/routes/voice.js +235 -0
  187. package/server/routes/webhooks.js +166 -0
  188. package/server/routes/workflows.js +312 -0
  189. package/server/sandbox.js +120 -0
  190. package/server/services/composio.js +204 -0
  191. package/server/services/sessionRegistry.js +139 -0
  192. package/server/services/whisperService.js +84 -0
  193. package/server/services/workflowScheduler.js +206 -0
  194. package/server/tests/relay-flow.test.js +570 -0
  195. package/server/tests/sessions.test.js +259 -0
  196. package/server/utils/commandParser.js +303 -0
  197. package/server/utils/email.js +61 -0
  198. package/server/utils/gitConfig.js +24 -0
  199. package/server/utils/mcp-detector.js +198 -0
  200. package/server/utils/taskmaster-websocket.js +129 -0
  201. package/shared/integrationCatalog.d.ts +12 -0
  202. package/shared/integrationCatalog.js +172 -0
  203. package/shared/modelConstants.js +96 -0
  204. package/bin/cli.js +0 -97
  205. package/dist/agents/claude.js +0 -229
  206. package/dist/agents/codex.js +0 -48
  207. package/dist/agents/cursor.js +0 -48
  208. package/dist/agents/detect.js +0 -51
  209. package/dist/agents/exec.js +0 -31
  210. package/dist/agents/files.js +0 -105
  211. package/dist/agents/git.js +0 -18
  212. package/dist/agents/gitagent.js +0 -67
  213. package/dist/agents/index.js +0 -88
  214. package/dist/agents/shell.js +0 -38
  215. package/dist/agents/utils.js +0 -136
  216. package/scripts/postinstall.js +0 -9
  217. package/scripts/prepublish.js +0 -58
  218. package/src/animation.js +0 -228
  219. package/src/auth.js +0 -122
  220. package/src/config.js +0 -40
  221. package/src/connect.js +0 -416
  222. package/src/launch.js +0 -78
  223. package/src/mcp.js +0 -57
  224. package/src/permissions.js +0 -140
  225. package/src/persistent-shell.js +0 -261
  226. package/src/server.js +0 -54
  227. /package/{dist → shared}/gitagent/index.js +0 -0
  228. /package/{dist → shared}/gitagent/parser.js +0 -0
  229. /package/{dist → shared}/gitagent/prompt-builder.js +0 -0
package/README.md CHANGED
@@ -1,106 +1,131 @@
1
- # upfyn-code
1
+ # Upfyn-Code
2
2
 
3
- > Unified AI coding interface access AI chat, terminal, file explorer, git, and visual canvas from any browser.
3
+ **Visual AI coding interface for Claude Code, Cursor & Codex.**
4
4
 
5
- **Upfyn-Code** connects your local development machine to a browser-based UI through a secure, encrypted connection. Write code with AI assistance, run shell commands, manage files, handle git operations, and plan on a visual canvas — all from any device, anywhere.
5
+ Canvas whiteboard, multi-agent chat, integrated terminal, git management, voice assistant, and MCP protocol — all in one browser-based IDE.
6
6
 
7
- Your source code **never leaves your machine**. All file operations, terminal commands, and git actions execute locally.
7
+ By [Thinqmesh Technologies](https://thinqmesh.com)
8
8
 
9
- ## Install
9
+ ---
10
10
 
11
- ```bash
12
- npm install -g upfynai-code
13
- ```
11
+ ## What is Upfyn-Code?
14
12
 
15
- Or run directly with npx:
13
+ Upfyn-Code gives you a **visual web interface** for AI coding agents. Instead of working in a plain terminal, you get a full IDE experience with:
16
14
 
17
- ```bash
18
- npx upfynai-code
19
- ```
15
+ - **Multi-Agent Chat** — Claude Code, Cursor, Codex, and 200+ models via OpenRouter
16
+ - **Visual Canvas** — Infinite whiteboard with AI-powered blocks (Chat, Research, Code, Notes, PDF, Dashboard)
17
+ - **Integrated Terminal** — Multi-tab shell with full ANSI color support
18
+ - **File Explorer** — Browse, edit, and manage project files
19
+ - **Git Panel** — Stage, commit, push, view diffs, switch branches
20
+ - **Voice Assistant** — Talk to Upfyn hands-free
21
+ - **Task Tracker** — AI-powered task breakdown from PRDs
22
+ - **MCP Protocol** — Connect to Claude Code, Cursor, or any MCP-compatible tool
23
+ - **Dashboard** — Session analytics, usage stats, and getting-started guide
24
+ - **BYOK** — Bring Your Own API Key (Anthropic, OpenAI, Google, OpenRouter)
20
25
 
21
- **Requirements:** Node.js 22 or later. Works on Windows, macOS, and Linux.
26
+ ---
22
27
 
23
- ## Quick Start
28
+ ## Two ways to use it
29
+
30
+ ### 1. Local mode (free, self-hosted)
31
+
32
+ Install the package and run everything on your machine. No account needed.
24
33
 
25
34
  ```bash
26
- # 1. Authenticate with your Upfyn account
27
- uc login
35
+ npm install -g upfynai-code
28
36
 
29
- # 2. Connect your machine to the web interface
30
- uc connect
37
+ # Launch Claude Code + web UI
38
+ uc
31
39
 
32
- # 3. Open the web UI (opens automatically)
40
+ # Or start the web server only
33
41
  uc start
34
42
  ```
35
43
 
36
- Once connected, open [cli.upfyn.com](https://cli.upfyn.com) on any device to access your full development environment.
44
+ The server starts at `http://localhost:3001`. It auto-detects your installed AI agents and creates a local user automatically.
37
45
 
38
- ## Commands
46
+ **What you get locally:**
47
+ - Full web UI with all features (chat, canvas, terminal, git, files, tasks)
48
+ - Direct SDK calls to your local Claude Code / Codex / Cursor
49
+ - No network round-trip — everything runs on your machine
50
+ - Works offline (except AI queries which need API access)
39
51
 
40
- | Command | Description |
41
- |---------|-------------|
42
- | `uc` | Launch Claude Code with Upfyn web UI in background |
43
- | `uc start` | Start the web UI server |
44
- | `uc connect` | Connect your local machine to the cloud interface |
45
- | `uc login` | Authenticate with your Upfyn account |
46
- | `uc logout` | Clear saved credentials |
47
- | `uc status` | Show current configuration |
48
- | `uc config` | View or set configuration |
49
- | `uc help` | Show all available commands |
52
+ ### 2. Cloud mode (subscription required)
50
53
 
51
- ### Connect Options
54
+ Access your machine from **any browser, anywhere** via [cli.upfyn.com](https://cli.upfyn.com).
52
55
 
53
56
  ```bash
54
- uc connect --key <token>
57
+ # 1. Sign up at cli.upfyn.com and get your relay token
58
+ # 2. Connect your machine
59
+ uc connect --server https://cli.upfyn.com --key upfyn_your_token
55
60
  ```
56
61
 
57
- - `--key <token>` Your connection token (get from the web UI after signing in)
62
+ Once connected, your local machine is bridged to the web UI. AI prompts, terminal commands, file operations, and git — all route through an encrypted relay to your machine.
58
63
 
59
- ## Features
64
+ **What you need for cloud mode:**
65
+ - An active subscription at [cli.upfyn.com/pricing](https://cli.upfyn.com/pricing)
66
+ - Your relay token (provided after signup)
67
+ - The CLI installed on your machine
60
68
 
61
- ### AI Chat
62
- Converse with AI coding assistants to write, debug, and refactor code across any language. Supports multiple AI models.
69
+ **Why subscribe?**
70
+ - Access your dev environment from any device (phone, tablet, another PC)
71
+ - MCP API access — connect Claude Code or Cursor to Upfyn-Code remotely
72
+ - Voice assistant with daily call allowance
73
+ - Priority support
63
74
 
64
- ### Integrated Terminal
65
- Run shell commands on your connected machine directly from the browser. Full terminal emulation with command history.
75
+ ---
66
76
 
67
- ### File Explorer
68
- Browse, create, edit, and manage your entire project tree remotely. Supports drag-and-drop, file search, and bulk operations.
77
+ ## CLI Commands
69
78
 
70
- ### Git Management
71
- Visual git interface for commits, branches, diffs, and merges. Stage changes, resolve conflicts, and manage branches without leaving the browser.
79
+ | Command | Description |
80
+ |---------|-------------|
81
+ | `uc` | Launch Claude Code with Upfyn web UI |
82
+ | `uc start` | Start the local web server only |
83
+ | `uc connect --key <token>` | Connect to cli.upfyn.com (subscription required) |
84
+ | `uc config --api-key <key>` | Save your Anthropic API key |
85
+ | `uc status` | Show configuration and data locations |
86
+ | `uc install-commands` | Install `/upfynai-*` slash commands for Claude Code |
87
+ | `uc update` | Update to latest version |
88
+ | `uc help` | Show all commands |
72
89
 
73
- ### Upfyn Canvas
74
- Visual whiteboard with AI-powered blocks for planning and collaboration. Connect chat, research, code, and documentation blocks into context flows.
90
+ ## Slash Commands
75
91
 
76
- ### MCP Protocol
77
- Connect external tools and services via the Model Context Protocol. Use Upfyn-Code as an MCP server with Claude Desktop, Cursor, and other compatible tools.
92
+ When you run `uc`, these slash commands are automatically available inside Claude Code:
78
93
 
79
- ## How It Works
94
+ | Command | Description |
95
+ |---------|-------------|
96
+ | `/upfynai-connect` | Connect CLI session to web UI |
97
+ | `/upfynai-disconnect` | Disconnect from web UI |
98
+ | `/upfynai-status` | Show connection status |
99
+ | `/upfynai-doctor` | Run diagnostics |
80
100
 
81
- 1. **Install** the CLI on your development machine
82
- 2. **Authenticate** with `uc login`
83
- 3. **Connect** with `uc connect` — creates a secure, encrypted connection
84
- 4. **Open** [cli.upfyn.com](https://cli.upfyn.com) on any browser (desktop, tablet, or mobile)
101
+ ## BYOK (Bring Your Own Key)
85
102
 
86
- The CLI connects your local filesystem, terminal, and git to the web interface. No ports are exposed and no firewall configuration is needed.
103
+ Even without a connected machine, you can use AI chat by adding your own API keys in Settings:
87
104
 
88
- ## Security
105
+ - **Anthropic** — Claude models (Sonnet, Opus, Haiku)
106
+ - **OpenAI** — GPT models
107
+ - **OpenRouter** — 200+ models from all providers
108
+ - **Google AI** — Gemini models
89
109
 
90
- - All communication is encrypted end-to-end
91
- - Source code is **never stored** on servers
92
- - Secure authentication with automatic session management
93
- - Each user's environment is fully isolated
110
+ Configure via the web UI (Settings > AI Providers) or CLI:
111
+ ```bash
112
+ uc config --api-key sk-ant-api03-your-key
113
+ ```
94
114
 
95
- ## Links
115
+ ## Requirements
96
116
 
97
- - **Website:** [cli.upfyn.com](https://cli.upfyn.com)
98
- - **Documentation:** [cli.upfyn.com/docs](https://cli.upfyn.com/docs)
99
- - **GitHub:** [github.com/AnitChaudhry/UpfynAI-Code](https://github.com/AnitChaudhry/UpfynAI-Code)
100
- - **Issues:** [github.com/AnitChaudhry/UpfynAI-Code/issues](https://github.com/AnitChaudhry/UpfynAI-Code/issues)
117
+ - **Node.js 18+**
118
+ - At least one AI agent installed:
119
+ ```bash
120
+ npm install -g @anthropic-ai/claude-code # Claude Code
121
+ npm install -g @openai/codex # OpenAI Codex
122
+ # Cursor — install from cursor.com
123
+ ```
101
124
 
102
- ## License
125
+ ## Documentation
103
126
 
104
- GPL-3.0 see [LICENSE](https://github.com/AnitChaudhry/UpfynAI-Code/blob/main/LICENSE) for details.
127
+ Full documentation: [cli.upfyn.com/docs](https://cli.upfyn.com/docs)
128
+
129
+ ## License
105
130
 
106
- Built by [Upfynai-Code](https://cli.upfyn.com).
131
+ GPL-3.0 Thinqmesh Technologies