Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
121 changes: 91 additions & 30 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,18 @@ on:
- deploy

jobs:
build-mac:
runs-on: macos-latest
create-release:
runs-on: ubuntu-latest
permissions:
contents: write
outputs:
upload_url: ${{ steps.create_release.outputs.upload_url }}
version: ${{ steps.version.outputs.VERSION }}

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'

- name: Install dependencies
run: npm install

- name: Build Mac ARM64
run: npm run dist:mac:arm64

- name: Get version
id: version
run: echo "VERSION=$(node -p "require('./package.json').version")" >> $GITHUB_OUTPUT
Expand All @@ -38,36 +32,103 @@ jobs:
release_name: Palet AI v${{ steps.version.outputs.VERSION }}
body: |
## Palet AI v${{ steps.version.outputs.VERSION }}

### Features
- ChatGPT, Gemini, Perplexity, Claude AI support
- Multiple AI services in one app
- Dark and minimalist UI
- Maximum 4 services selection
- App-only zoom shortcuts (Cmd +/-)

- 🎯 ChatGPT, Gemini, Perplexity, Claude AI support
- 🔑 **No API key needed** - Just login and use
- 🚀 Multiple AI services in one app
- 🎨 Dark and minimalist UI
- 📱 Maximum 4 services selection
- ⌨️ App-only zoom shortcuts (Cmd +/-)

### Downloads
- macOS (ARM64): `Palet AI-${{ steps.version.outputs.VERSION }}-arm64.dmg`
- **macOS (ARM64)**: `PaletAI-macOS-arm64.zip` - Apple Silicon (M1/M2/M3)
- **Windows (x86)**: `PaletAI-Win32.exe` - 32-bit (⚠️ Not fully tested)
- **Windows (x64)**: `PaletAI-Win64.exe` - 64-bit (⚠️ Not fully tested)

### Installation Notes
- **macOS**: Unzip and drag `Palet AI.app` to Applications folder
- **Windows**: Run the portable executable directly (⚠️ Windows builds are not fully tested yet)
draft: false
prerelease: false

- name: Upload Mac ARM64 DMG
build-mac:
needs: create-release
runs-on: macos-latest
permissions:
contents: write

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'

- name: Install dependencies
run: yarn install

- name: Build Mac ARM64
run: yarn dist:mac:arm64

- name: Zip Mac App
run: |
cd dist/mac-arm64
zip -r -y ../../PaletAI-macOS-arm64.zip "Palet AI.app"
cd ../..

- name: Upload Mac ARM64 App
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./dist/Palet AI-${{ steps.version.outputs.VERSION }}-arm64.dmg
asset_name: Palet AI-${{ steps.version.outputs.VERSION }}-arm64.dmg
asset_content_type: application/octet-stream
upload_url: ${{ needs.create-release.outputs.upload_url }}
asset_path: ./PaletAI-macOS-arm64.zip
asset_name: PaletAI-macOS-arm64.zip
asset_content_type: application/zip

build-windows:
needs: create-release
runs-on: windows-latest
permissions:
contents: write

- name: Upload Mac ARM64 DMG Blockmap
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'

- name: Install dependencies
run: yarn install

- name: Build Windows x86 (32-bit)
run: yarn dist:win

- name: Build Windows x64 (64-bit)
run: yarn dist:win:x64

- name: Upload Windows x86
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./dist/Palet AI-${{ steps.version.outputs.VERSION }}-arm64.dmg.blockmap
asset_name: Palet AI-${{ steps.version.outputs.VERSION }}-arm64.dmg.blockmap
upload_url: ${{ needs.create-release.outputs.upload_url }}
asset_path: ./dist/Palet AI.exe
asset_name: PaletAI-Win32.exe
asset_content_type: application/octet-stream

- name: Upload Windows x64
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create-release.outputs.upload_url }}
asset_path: ./dist/Palet AI.exe
asset_name: PaletAI-Win64.exe
asset_content_type: application/octet-stream
58 changes: 40 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

**The easiest way to use multiple AI services simultaneously in one screen**

Run and compare ChatGPT, Google Gemini, Claude, and Perplexity side by side.
Run and compare ChatGPT, Google Gemini, Claude, and Perplexity side by side. NO API KEY NEEDED

<img src="Screenshot.jpg" alt="Palet AI Screenshot" width="800" />

Expand All @@ -19,6 +19,10 @@

## ✨ Key Features

### 🔑 No API Key Needed

Just log in to each AI service and start using immediately. No complex API setup required!

### 🎯 Ask Multiple AIs at Once

Send questions to multiple AI services from a single input field. Compare responses from ChatGPT, Gemini, Claude, and Perplexity at a glance.
Expand All @@ -45,32 +49,49 @@ Comes with an eye-friendly dark theme.

## 📥 Download & Installation

### macOS (Apple Silicon)
### Download Pre-built Releases

Visit the [Releases page](https://github.com/cha2hyun/PaletAI/releases) to download the latest version:

- **macOS (Apple Silicon)**: Download `PaletAI-macOS-arm64.zip`
- Unzip and drag `Palet AI.app` to your Applications folder
- **Windows**: Download `PaletAI-Win32.exe` (32-bit) or `PaletAI-Win64.exe` (64-bit)
- ⚠️ **Note**: Windows builds are not fully tested yet. Please report any issues you encounter.

### Build from Source

#### macOS (Apple Silicon)

```bash
# Clone the repository
git clone https://github.krafton.com/sh-chae/multi-ai-electron.git
cd multi-ai-electron
git clone https://github.com/cha2hyun/PaletAI.git
cd PaletAI

# Install dependencies
npm install
yarn install

# Build the app
npm run dist:mac:arm64
yarn dist:mac:arm64
```

The built app can be found in the `dist/` folder.
The built app can be found in the `dist/mac-arm64/` folder.

### Windows
#### Windows

```bash
npm run dist:win
# For 32-bit
yarn dist:win

# For 64-bit
yarn dist:win:x64
```

### Linux
⚠️ **Windows Support**: Windows builds are not fully tested. If you encounter issues, please open an issue on GitHub.

#### Linux

```bash
npm run dist:linux
yarn dist:linux
```

---
Expand Down Expand Up @@ -122,19 +143,19 @@ Compare code suggestions from multiple AIs and choose the optimal solution.
### Requirements

- Node.js 16 or higher
- npm or yarn
- yarn (recommended) or npm

### Running in Development Mode

```bash
# Install dependencies
npm install
yarn install

# Start development server
npm run dev
yarn dev

# Run Electron in a separate terminal
npm run dev:electron
yarn dev:electron
```

---
Expand All @@ -158,14 +179,15 @@ MIT License - Free to use, modify, and distribute.

## 👤 Author

**[@cha2hyun](https://github.krafton.com/sh-chae)**
**[@cha2hyun](https://github.com/cha2hyun)**

---

## 🔗 Links

- [GitHub Repository](https://github.krafton.com/sh-chae/multi-ai-electron/)
- [Issue Reports](https://github.krafton.com/sh-chae/multi-ai-electron/issues)
- [GitHub Repository](https://github.com/cha2hyun/PaletAI)
- [Issue Reports](https://github.com/cha2hyun/PaletAI/issues)
- [Latest Releases](https://github.com/cha2hyun/PaletAI/releases)

---

Expand Down
43 changes: 16 additions & 27 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,23 +19,26 @@
"typescript"
],
"repository": {
"url": "https://github.krafton.com/sh-chae/multi-ai-electron"
"type": "git",
"url": "https://github.com/cha2hyun/PaletAI.git"
},
"homepage": "https://github.com/cha2hyun/PaletAI",
"productName": "Palet AI",
"scripts": {
"dev": "vite",
"dev:electron": "npm run build:electron && electron .",
"build": "npm run build:vite && npm run build:electron",
"dev:electron": "yarn build:electron && electron .",
"build": "yarn build:vite && yarn build:electron",
"build:vite": "vite build",
"build:electron": "tsc -p electron",
"dist": "npm run build && electron-builder",
"dist:win": "npm run build && electron-builder --win",
"dist:mac": "npm run build && electron-builder --mac",
"dist:mac:arm64": "npm run build && electron-builder --mac --arm64",
"dist:mac:x64": "npm run build && electron-builder --mac --x64",
"dist:mac:universal": "npm run build && electron-builder --mac --universal",
"dist:linux": "npm run build && electron-builder --linux",
"pack": "npm run build && electron-builder --dir",
"dist": "yarn build && electron-builder",
"dist:win": "yarn build && electron-builder --win --ia32",
"dist:win:x64": "yarn build && electron-builder --win --x64",
"dist:mac": "yarn build && electron-builder --mac --dir",
"dist:mac:arm64": "yarn build && electron-builder --mac --arm64 --dir",
"dist:mac:x64": "yarn build && electron-builder --mac --x64 --dir",
"dist:mac:universal": "yarn build && electron-builder --mac --universal --dir",
"dist:linux": "yarn build && electron-builder --linux",
"pack": "yarn build && electron-builder --dir",
"clean": "rimraf dist main src/out",
"type-check": "tsc",
"lint": "eslint . --ext js,jsx,ts,tsx",
Expand Down Expand Up @@ -100,7 +103,7 @@
"category": "public.app-category.productivity",
"target": [
{
"target": "dmg",
"target": "dir",
"arch": [
"arm64"
]
Expand All @@ -117,6 +120,7 @@
{
"target": "portable",
"arch": [
"ia32",
"x64"
]
}
Expand All @@ -128,21 +132,6 @@
"AppImage",
"deb"
]
},
"dmg": {
"contents": [
{
"x": 130,
"y": 220
},
{
"x": 410,
"y": 220,
"type": "link",
"path": "/Applications"
}
],
"title": "Palet AI"
}
}
}
2 changes: 1 addition & 1 deletion src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ function App() {

{/* GitHub 바로가기 */}
<a
href="https://github.krafton.com/sh-chae/multi-ai-electron/"
href="https://github.com/cha2hyun/PaletAI"
target="_blank"
rel="noopener noreferrer"
className="flex items-center gap-2 h-10 px-4 py-2 bg-black/30 backdrop-blur-sm rounded-lg border border-gray-800 hover:border-gray-700 transition-colors"
Expand Down
Loading