A companion just for you. For free. Forever.
Hako is a lovable open source virtual desktop assistant for all your computer tasks.
Update (July 2023): This page is outdated. Find the latest at https://openhako.com
⚠️ Hako is in a early stage of development, so this is more a wishlist than anything! ⚠️
I’m currently implementing some of the more basic groundwork, while I think about how to best implement state of the art Machine Learning methods to drive these core features. Please reach out if you’re interested in some of these problems!
- Moves in procedurally generated paths based on the current context
- Drag Hako around the screen with a mouse
- Interacts with application windows as if they had geometry
- Turn gravity (or other force fields) on/off
- Remembers the things you talk about and do
- Learns how to make an engaging conversation with you
- You don’t need to explain what you’re up to if Hako can see your screen!
- Searches the internet and does your research for you
- Answer chat messages in your stead
- Teach Hako how to crunch your numbers in excel
- Play multiplayer games together
- Install extensions to have Hako watch your security cameras, turn on your rice cooker, or anything you want.
- Unfortunately, you can’t install extensions to make Hako wash your clothes or give you a bath
How’s it made?
Machine Learning is moving at a incredible pace nowadays, so how do you future-proof an architecture for Hako?
Modules / Extensions
Ideally, the architecture should be designed in a way that allows the integration of extensions that can hack the assistant and make them do whatever you want, like traditional home assistant things such as turning on your lights or searching for the weather.
Modular Machine Learning is hard! If you know a good way to implement it for this project I’d love to have a chat.
This is also a topic I’m not too familar with, but I think that it’s probably key
Big unanswered question: What’s the best way to store memories of past interactions and then consume it?
I’ve been eyeing the Langchain project for a while. Could this be part of the answer?
It’s probably a good idea to log as many events as possible so that future versions of Hako can use the data, even if the current iteration does not.
Since I’m currently working solo, I’m under no rush to choose a license for Hako.
I intend on eventually using GPL, MIT, MPL, or some other popular open source license once I have a clearer vision of what place in the world Hako has.
If this project is to be of any significance to people, then this is definitely a decision I’d want to give more attention than I’m currently able to!