Skip to content

Commit 35d670c

Browse files
tensorboyclaude
andcommitted
fix: comprehensive code review fixes and version bump to 0.2.1
- Unify type definitions across desktop package (shared/types.ts) - Fix broken import paths in core sepo/ module (../../ instead of ../../../) - Fix VectorStore API usage in feedback-collector (add() instead of addDocuments()) - Fix feedback-loop.ts ExecutionResult import and PlanStep type narrowing - Fix database.ts dynamic import constructor type safety - Export ContextRecord and HawkeyeDatabase from core index - Remove dead Ollama service code and debug console.log statements - Migrate store from single-file to Zustand slices architecture - Split App.tsx into OnboardingPage, SettingsPage, MainView components - Fix WebkitAppRegion CSS type in MenuBarPanel - Bump version 0.2.0 → 0.2.1 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 98ba7b8 commit 35d670c

108 files changed

Lines changed: 14644 additions & 3886 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 114 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,15 @@
66

77
### 🦅 The First Proactive AI Assistant for Desktop
88

9-
**Watch keenly. Act thoughtfully. 10x your productivity.**
9+
**AI that enhances your story. Watch keenly. Act thoughtfully. 10x your productivity.**
1010

11-
[![GitHub Stars](https://img.shields.io/github/stars/anthropics/hawkeye?style=for-the-badge&logo=github&color=yellow)](https://github.com/anthropics/hawkeye)
12-
[![License](https://img.shields.io/github/license/anthropics/hawkeye?style=for-the-badge&color=blue)](LICENSE)
13-
[![Build](https://img.shields.io/github/actions/workflow/status/anthropics/hawkeye/ci.yml?style=for-the-badge&label=build)](https://github.com/anthropics/hawkeye/actions)
11+
<kbd>⌘</kbd> + <kbd>⇧</kbd> + <kbd>H</kbd> to observe your screen instantly
1412

15-
[🌐 Website](https://hawkiyi.com) · [📖 Documentation](https://hawkiyi.com/docs) · [🐛 Report Bug](https://github.com/anthropics/hawkeye/issues) · [💡 Request Feature](https://github.com/anthropics/hawkeye/issues)
13+
[![GitHub Stars](https://img.shields.io/github/stars/tensorboy/hawkeye?style=for-the-badge&logo=github&color=yellow)](https://github.com/tensorboy/hawkeye)
14+
[![License](https://img.shields.io/github/license/tensorboy/hawkeye?style=for-the-badge&color=blue)](LICENSE)
15+
[![GitHub Release](https://img.shields.io/github/v/release/tensorboy/hawkeye?style=for-the-badge&color=green)](https://github.com/tensorboy/hawkeye/releases)
16+
17+
[🌐 Website](https://hawkiyi.com) · [📖 Documentation](https://hawkiyi.com/docs) · [🐛 Report Bug](https://github.com/tensorboy/hawkeye/issues) · [💡 Request Feature](https://github.com/tensorboy/hawkeye/issues)
1618

1719
<br/>
1820

@@ -36,6 +38,8 @@
3638
3739
Hawkeye is an **AI-powered desktop assistant** that observes your work environment—screen, clipboard, files—and proactively offers intelligent suggestions. No prompts needed.
3840

41+
The AI behind Hawkeye is designed to **enhance your own story** — turning your screen time into meaningful personal growth by automatically mapping your goals, habits, and progress into a living **Life Tree**.
42+
3943
| Feature | Copilot / Cursor / Claude Code | **Hawkeye** |
4044
|---------|-------------------------------|-------------|
4145
| **Mode** | Reactive (you ask) | **Proactive** (it watches) |
@@ -82,6 +86,17 @@ Hawkeye is an **AI-powered desktop assistant** that observes your work environme
8286
- VS Code extension integration
8387
- Cross-app workflow automation
8488

89+
</td>
90+
</tr>
91+
<tr>
92+
<td colspan="2">
93+
94+
### 🌳 Life Tree — AI Enhances Your Story
95+
- Automatically maps your activities into life stages, goals, and tasks
96+
- Proposes micro-experiments to optimize your habits and workflows
97+
- Graduated experiment phases: task → goal → automation
98+
- Your AI companion that turns screen time into personal growth
99+
85100
</td>
86101
</tr>
87102
</table>
@@ -101,23 +116,23 @@ Hawkeye is an **AI-powered desktop assistant** that observes your work environme
101116
<td><img src="https://img.shields.io/badge/-macOS-000000?style=flat&logo=apple&logoColor=white" /></td>
102117
<td>
103118

104-
[Apple Silicon (.dmg)](https://github.com/anthropics/hawkeye/releases/latest) · [Intel (.dmg)](https://github.com/anthropics/hawkeye/releases/latest)
119+
[Apple Silicon (.dmg)](https://github.com/tensorboy/hawkeye/releases/latest) · [Intel (.dmg)](https://github.com/tensorboy/hawkeye/releases/latest)
105120

106121
</td>
107122
</tr>
108123
<tr>
109124
<td><img src="https://img.shields.io/badge/-Windows-0078D6?style=flat&logo=windows&logoColor=white" /></td>
110125
<td>
111126

112-
[Installer (.exe)](https://github.com/anthropics/hawkeye/releases/latest)
127+
[Installer (.exe)](https://github.com/tensorboy/hawkeye/releases/latest)
113128

114129
</td>
115130
</tr>
116131
<tr>
117132
<td><img src="https://img.shields.io/badge/-Linux-FCC624?style=flat&logo=linux&logoColor=black" /></td>
118133
<td>
119134

120-
[Debian/Ubuntu (.deb)](https://github.com/anthropics/hawkeye/releases/latest) · [AppImage](https://github.com/anthropics/hawkeye/releases/latest)
135+
[Debian/Ubuntu (.deb)](https://github.com/tensorboy/hawkeye/releases/latest) · [AppImage](https://github.com/tensorboy/hawkeye/releases/latest)
121136

122137
</td>
123138
</tr>
@@ -137,7 +152,7 @@ xattr -cr /Applications/Hawkeye.app
137152

138153
```bash
139154
# 1. Clone
140-
git clone https://github.com/anthropics/hawkeye.git && cd hawkeye
155+
git clone https://github.com/tensorboy/hawkeye.git && cd hawkeye
141156

142157
# 2. Install
143158
pnpm install
@@ -149,27 +164,44 @@ pnpm dev
149164
### Configure AI Provider
150165

151166
<details>
152-
<summary><b>Option 1: Claude API (Recommended)</b></summary>
167+
<summary><b>Option 1: Google Gemini (Recommended — free tier)</b></summary>
153168

154-
Enter your Anthropic API key in Settings → API Configuration.
169+
1. Get a free API key at [aistudio.google.com/apikey](https://aistudio.google.com/apikey)
170+
2. Enter your key in Settings → Gemini API Key
171+
3. Model defaults to `gemini-2.0-flash` (1M context window)
155172

156173
</details>
157174

158175
<details>
159-
<summary><b>Option 2: Local LLM with Ollama (100% Offline)</b></summary>
176+
<summary><b>Option 2: OpenAI-Compatible API</b></summary>
160177

161-
```bash
162-
# Install Ollama
163-
brew install ollama # macOS
164-
# Windows/Linux: https://ollama.com/download
178+
Works with OpenAI, DeepSeek, Groq, Together AI, or any OpenAI-compatible endpoint.
179+
180+
Set your base URL, API key, and model name in Settings.
181+
182+
</details>
165183

166-
# Download models
167-
ollama pull qwen3:8b # Text (8GB+ RAM)
168-
ollama pull qwen2.5vl:7b # Vision
184+
<details>
185+
<summary><b>Option 3: Local LLM with node-llama-cpp (100% Offline)</b></summary>
186+
187+
Download a GGUF model and set the model path in Settings. Supports Metal GPU acceleration on macOS.
188+
189+
Recommended models:
190+
- **Qwen 2.5 7B** — general purpose (4.7 GB)
191+
- **Llama 3.2 3B** — lightweight (2.0 GB)
192+
- **LLaVA 1.6 7B** — vision support (4.5 GB)
169193

170-
# Select "Ollama" in Hawkeye settings
194+
</details>
195+
196+
<details>
197+
<summary><b>Option 4: Ollama (Legacy)</b></summary>
198+
199+
```bash
200+
brew install ollama && ollama pull qwen3:8b
171201
```
172202

203+
Select "Ollama" in Hawkeye settings.
204+
173205
</details>
174206

175207
<br/>
@@ -272,13 +304,52 @@ watcher.on('change', (event) => {
272304

273305
<br/>
274306

307+
## 🛡️ Advanced Features
308+
309+
### Exponential Backoff Retry
310+
AI provider calls use exponential backoff with jitter to handle transient failures gracefully, preventing thundering herd effects.
311+
312+
### SQLite FTS5 Full-Text Search
313+
Context history (window titles, clipboard, OCR text) is indexed with SQLite FTS5 for instant fuzzy search across all recorded observations.
314+
315+
### Adaptive Refresh Rate
316+
The observation interval adjusts dynamically based on user activity — fast polling when active, slow polling when idle — saving CPU and battery.
317+
318+
### Priority Task Queue
319+
A priority-based task queue with deduplication ensures that AI requests and plan executions are processed efficiently without duplicate work.
320+
321+
### MCP Server Tools
322+
Hawkeye exposes 15+ tools via MCP (Model Context Protocol) for screen perception, window management, file organization, and automation.
323+
324+
### Safety Guardrails
325+
An agent monitor enforces cost limits, blocks dangerous operations (e.g. `rm -rf /`), requires confirmation for risky actions, and supports a sandbox mode.
326+
327+
### Menu Bar Panel
328+
A macOS-style popover panel accessible from the system tray provides quick actions, recent activity feed, and real-time module status indicators.
329+
330+
### Provider Unified Protocol
331+
All AI providers declare their capabilities (chat, vision, streaming, function calling), enabling intelligent routing and health monitoring across providers.
332+
333+
<br/>
334+
275335
## 🗺️ Roadmap
276336

277337
- [x] Core perception engine
278338
- [x] Desktop app (Electron)
279339
- [x] VS Code extension
280340
- [x] Chrome extension
281-
- [x] Local LLM support (Ollama)
341+
- [x] Local LLM support (Ollama, node-llama-cpp)
342+
- [x] Multi-provider AI (Gemini, OpenAI-compatible, LlamaCpp)
343+
- [x] Provider unified protocol with capability routing
344+
- [x] Streaming and health check support
345+
- [x] SQLite FTS5 full-text search
346+
- [x] Exponential backoff retry strategy
347+
- [x] Adaptive refresh rate
348+
- [x] Priority task queue
349+
- [x] MCP Server with 15+ tools
350+
- [x] Safety guardrails and agent monitoring
351+
- [x] Menu bar panel (macOS-style popover)
352+
- [x] Life Tree — AI maps your life journey and enhances your story
282353
- [ ] Desktop ↔ Extension real-time sync
283354
- [ ] Plugin system
284355
- [ ] Custom workflow builder
@@ -302,11 +373,11 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.
302373

303374
## ⭐ Star History
304375

305-
<a href="https://star-history.com/#anthropics/hawkeye&Date">
376+
<a href="https://star-history.com/#tensorboy/hawkeye&Date">
306377
<picture>
307-
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=anthropics/hawkeye&type=Date&theme=dark" />
308-
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=anthropics/hawkeye&type=Date" />
309-
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=anthropics/hawkeye&type=Date" />
378+
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=tensorboy/hawkeye&type=Date&theme=dark" />
379+
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=tensorboy/hawkeye&type=Date" />
380+
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=tensorboy/hawkeye&type=Date" />
310381
</picture>
311382
</a>
312383

@@ -318,6 +389,24 @@ Distributed under the MIT License. See [LICENSE](LICENSE) for more information.
318389

319390
<br/>
320391

392+
## ☕ Support
393+
394+
<div align="center">
395+
396+
If you find Hawkeye useful, consider buying me a coffee!
397+
398+
<a href="https://buymeacoffee.com/7xyxbngjf1">
399+
<img src="https://img.shields.io/badge/Buy%20Me%20a%20Coffee-ffdd00?style=for-the-badge&logo=buy-me-a-coffee&logoColor=black" alt="Buy Me A Coffee" />
400+
</a>
401+
402+
<br/><br/>
403+
404+
<img src="./bmc_qr.png" alt="Buy Me a Coffee QR Code" width="180"/>
405+
406+
</div>
407+
408+
<br/>
409+
321410
---
322411

323412
<div align="center">

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "hawkeye",
3-
"version": "0.2.0",
3+
"version": "0.2.1",
44
"description": "Hawkeye - Intelligent Task Perception and Execution Assistant",
55
"private": true,
66
"workspaces": [

packages/chrome-extension/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@hawkeye/chrome-extension",
3-
"version": "0.2.0",
3+
"version": "0.2.1",
44
"description": "Hawkeye Chrome Extension - Intelligent Task Assistant for the Browser",
55
"private": true,
66
"scripts": {

packages/chrome-extension/src/background/types.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -148,11 +148,9 @@ export interface ExtensionConfig {
148148
desktopPort: number;
149149

150150
// Standalone mode (fallback when Desktop not available)
151-
aiProvider: 'gemini' | 'ollama';
151+
aiProvider: 'gemini' | 'openai';
152152
geminiApiKey?: string;
153153
geminiModel?: string;
154-
ollamaHost?: string;
155-
ollamaModel?: string;
156154

157155
// UI preferences
158156
showFloatingButton: boolean;

packages/core/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@hawkeye/core",
3-
"version": "0.2.0",
3+
"version": "0.2.1",
44
"description": "Hawkeye Core Engine - Perception, Reasoning, Execution",
55
"main": "./dist/index.js",
66
"module": "./dist/index.mjs",

packages/core/src/ai/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ export type {
1919
ActionType,
2020
AlternativePlan,
2121
PlanImpact,
22+
AIRetryConfig,
2223
} from './types';
2324

2425
// Provider 导出
25-
export { OllamaProvider, type OllamaConfig } from './providers/ollama';
2626
export { GeminiProvider, type GeminiConfig } from './providers/gemini';
2727
export { OpenAICompatibleProvider, type OpenAICompatibleConfig } from './providers/openai-compatible';
2828

0 commit comments

Comments
 (0)