Skip to content
Open
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
37 changes: 31 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@

> This project is a fork of [CheatingDaddy](https://github.com/sohzm/cheating-daddy) with modifications and enhancements. Thanks to [Soham](https://x.com/soham_btw) and all the open-source contributors who made this possible!

> Currently, we're working on a full code refactor and modularization. Once that's completed, we'll jump into addressing the major issues. You can find WIP issues & changelog below this document.

🤖 **Fast, light & open-source**—Glass lives on your desktop, sees what you see, listens in real time, understands your context, and turns every moment into structured knowledge.

💬 **Proactive in meetings**—it surfaces action items, summaries, and answers the instant you need them.
Expand Down Expand Up @@ -62,11 +64,14 @@ npm run setup

<img width="100%" alt="booking-screen" src="./public/assets/01.gif">

### Use your own OpenAI API key, or sign up to use ours (free)
### Use your own API key, or sign up to use ours (free)

<img width="100%" alt="booking-screen" src="./public/assets/02.gif">

You can visit [here](https://platform.openai.com/api-keys) to get your OpenAI API Key.
**Currently Supporting:**
- OpenAI API: Get OpenAI API Key [here](https://platform.openai.com/api-keys)
- Gemini API: Get Gemini API Key [here](https://aistudio.google.com/apikey)
- Local LLM (WIP)

### Liquid Glass Design (coming soon)

Expand All @@ -88,26 +93,46 @@ You can visit [here](https://platform.openai.com/api-keys) to get your OpenAI AP

`Ctrl/Cmd + Arrows` : move main window position

## Repo Activity

![Alt](https://repobeats.axiom.co/api/embed/a23e342faafa84fa8797fa57762885d82fac1180.svg "Repobeats analytics image")

## Contributing

We love contributions! Feel free to open issues for bugs or feature requests.
> Currently, we're working on a full code refactor and modularization. Once that's completed, we'll jump into addressing the major issues.

### Contributors

<a href="https://github.com/pickle-com/glass/graphs/contributors">
<img src="https://contrib.rocks/image?repo=pickle-com/glass" />
</a>

### Help Wanted Issues

## 🛠 Current Issues & Improvements
We have a list of [help wanted](https://github.com/pickle-com/glass/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22%F0%9F%99%8B%E2%80%8D%E2%99%82%EF%B8%8Fhelp%20wanted%22) that contain small features and bugs which have a relatively limited scope. This is a great place to get started, gain experience, and get familiar with our contribution process.


### 🛠 Current Issues & Improvements

| Status | Issue | Description |
|--------|--------------------------------|---------------------------------------------------|
| 🚧 WIP | AEC Improvement | Transcription is not working occasionally |
| 🚧 WIP | Code Refactoring | Refactoring the entire codebase for better maintainability. |
| 🚧 WIP | Windows Build | Make Glass buildable & runnable in Windows |
| 🚧 WIP | Local LLM Support | Supporting Local LLM to power AI answers |
| 🚧 WIP | AEC Improvement | Transcription is not working occasionally |
| 🚧 WIP | Firebase Data Storage Issue | Session & ask should be saved in firebase for signup users |
| 🚧 WIP | Login Issue | Currently breaking when switching between local and sign-in mode |
| 🚧 WIP | Liquid Glass | Liquid Glass UI for MacOS 26 |
| 🚧 WIP | Permission Issue | Mic & system audio & display capture permission sometimes not working|

### Changelog

- Jul 5: Now support Gemini, Intel Mac supported


## About Pickle

**Our mission is to build a living digital clone for everyone.** Glass is part of Step 1—a trusted pipeline that transforms your daily data into a scalable clone. Visit [pickle.com](https://pickle.com) to learn more.

## Star History
[![Star History Chart](https://api.star-history.com/svg?repos=pickle-com/glass&type=Date)](https://www.star-history.com/#pickle-com/glass&Date)
[![Star History Chart](https://api.star-history.com/svg?repos=pickle-com/glass&type=Date)](https://www.star-history.com/#pickle-com/glass&Date)
2 changes: 1 addition & 1 deletion src/app/ApiKeyHeader.js
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ export class ApiKeyHeader extends LitElement {
width: 285px;
min-height: 260px;
padding: 18px 20px;
background: rgba(0, 0, 0, 0.3);
background: rgba(0, 0, 0, 0.6);
border-radius: 16px;
overflow: visible;
position: relative;
Expand Down
10 changes: 5 additions & 5 deletions src/app/AppHeader.js
Original file line number Diff line number Diff line change
Expand Up @@ -100,8 +100,8 @@ export class AppHeader extends LitElement {

.header {
width: 100%;
height: 47px;
padding: 2px 10px 2px 13px;
height: 40px;
padding: 2px 6px 2px 8px;
background: transparent;
overflow: hidden;
border-radius: 9000px;
Expand Down Expand Up @@ -198,8 +198,8 @@ export class AppHeader extends LitElement {
align-items: center;
gap: 9px;
display: flex;
padding: 0 8px;
border-radius: 6px;
padding: 0 5px 0 8px;
border-radius: 4px;
transition: background 0.15s ease;
}

Expand Down Expand Up @@ -234,7 +234,7 @@ export class AppHeader extends LitElement {
color: white;
font-size: 12px;
font-family: 'Helvetica Neue', sans-serif;
font-weight: 500; /* Medium */
font-weight: 400; /* Medium */
word-wrap: break-word;
}

Expand Down
30 changes: 22 additions & 8 deletions src/app/content.html
Original file line number Diff line number Diff line change
Expand Up @@ -100,13 +100,13 @@
}

.window-sliding-down {
animation: slideDownFromHeader 0.25s cubic-bezier(0.23, 1, 0.32, 1) forwards;
animation: slideDownFromHeader 0.12s cubic-bezier(0.23, 1, 0.32, 1) forwards;
will-change: transform, opacity;
transform-style: preserve-3d;
}

.window-sliding-up {
animation: slideUpToHeader 0.18s cubic-bezier(0.55, 0.085, 0.68, 0.53) forwards;
animation: slideUpToHeader 0.10s cubic-bezier(0.55, 0.085, 0.68, 0.53) forwards;
will-change: transform, opacity;
transform-style: preserve-3d;
}
Expand Down Expand Up @@ -156,14 +156,14 @@
}

.settings-window-show {
animation: settingsPopFromButton 0.22s cubic-bezier(0.23, 1, 0.32, 1) forwards;
animation: settingsPopFromButton 0.12s cubic-bezier(0.23, 1, 0.32, 1) forwards;
transform-origin: 85% 0%;
will-change: transform, opacity;
transform-style: preserve-3d;
}

.settings-window-hide {
animation: settingsCollapseToButton 0.18s cubic-bezier(0.55, 0.085, 0.68, 0.53) forwards;
animation: settingsCollapseToButton 0.10s cubic-bezier(0.55, 0.085, 0.68, 0.53) forwards;
transform-origin: 85% 0%;
will-change: transform, opacity;
transform-style: preserve-3d;
Expand Down Expand Up @@ -250,7 +250,7 @@
if (animationTimeout) clearTimeout(animationTimeout);
animationTimeout = setTimeout(() => {
app.classList.remove('window-sliding-down');
}, 250);
}, 120);
});

ipcRenderer.on('settings-window-show-animation', () => {
Expand All @@ -261,7 +261,7 @@
if (animationTimeout) clearTimeout(animationTimeout);
animationTimeout = setTimeout(() => {
app.classList.remove('settings-window-show');
}, 220);
}, 120);
});

ipcRenderer.on('window-hide-animation', () => {
Expand All @@ -273,7 +273,7 @@
animationTimeout = setTimeout(() => {
app.classList.remove('window-sliding-up');
app.classList.add('window-hidden');
}, 180);
}, 100);
});

ipcRenderer.on('settings-window-hide-animation', () => {
Expand All @@ -285,7 +285,7 @@
animationTimeout = setTimeout(() => {
app.classList.remove('settings-window-hide');
app.classList.add('window-hidden');
}, 180);
}, 100);
});

ipcRenderer.on('listen-window-move-to-center', () => {
Expand All @@ -309,6 +309,20 @@
app.classList.remove('listen-window-moving');
}, 350);
});

ipcRenderer.on('cancel-animations', () => {
if (animationTimeout) clearTimeout(animationTimeout);

// 애니메이션 관련 class 전부 제거
app.classList.remove(
'window-sliding-down',
'window-sliding-up',
'settings-window-show',
'settings-window-hide'
);
// 바로 투명 + pointer-off 상태로
app.classList.add('window-hidden');
});
}
});
</script>
Expand Down
Loading