All Projects → sarifsystems → Sarif

sarifsystems / Sarif

Licence: mit
A distributed system serving as a personal assistant

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Sarif

W.i.l.l
A python written personal assistant
Stars: ✭ 377 (+1200%)
Mutual labels:  ai, assistant, personal-assistant
Naomi
The Naomi Project is an open source, technology agnostic platform for developing always-on, voice-controlled applications!
Stars: ✭ 171 (+489.66%)
Mutual labels:  assistant, personal-assistant
Projectalice
Main repository of Project Alice, contains main unit source code
Stars: ✭ 189 (+551.72%)
Mutual labels:  assistant, personal-assistant
Openvoiceos
OpenVoiceOS is a minimalistic linux OS bringing the open source voice assistant Mycroft A.I. to embbeded, low-spec headless and/or small (touch)screen devices.
Stars: ✭ 64 (+120.69%)
Mutual labels:  ai, personal-assistant
Olivia
💁‍♀️Your new best friend powered by an artificial neural network
Stars: ✭ 3,114 (+10637.93%)
Mutual labels:  ai, assistant
Friday
An open-source virtual assistant.
Stars: ✭ 88 (+203.45%)
Mutual labels:  ai, personal-assistant
Pytlas
An open-source 🤖💬 Python 3 assistant library built for people and made to be super easy to setup and understand
Stars: ✭ 34 (+17.24%)
Mutual labels:  ai, assistant
Tock
Tock - the open source conversational AI toolkit
Stars: ✭ 175 (+503.45%)
Mutual labels:  ai, assistant
leon
🧠 Leon is your open-source personal assistant.
Stars: ✭ 8,560 (+29417.24%)
Mutual labels:  assistant, personal-assistant
Mycroft Core
Mycroft Core, the Mycroft Artificial Intelligence platform.
Stars: ✭ 5,489 (+18827.59%)
Mutual labels:  ai, personal-assistant
Jarvis
Jarvis.sh is a simple configurable multi-lang assistant.
Stars: ✭ 701 (+2317.24%)
Mutual labels:  assistant, personal-assistant
Awesome Ai Books
Some awesome AI related books and pdfs for learning and downloading, also apply some playground models for learning
Stars: ✭ 855 (+2848.28%)
Mutual labels:  ai
Workshops mathematics
Share resources, assets and information for the math sessions 🚀
Stars: ✭ 26 (-10.34%)
Mutual labels:  ai
Moe Serifu Agent
Anime-themed personal assistant and goal-oriented intelligent agent
Stars: ✭ 25 (-13.79%)
Mutual labels:  personal-assistant
Docker Images
Out-of-box Data Science / AI platform | AI/数据科学的瑞士军刀
Stars: ✭ 25 (-13.79%)
Mutual labels:  ai
Gold Miner
🥇掘金翻译计划,可能是世界最大最好的英译中技术社区,最懂读者和译者的翻译平台:
Stars: ✭ 29,872 (+102906.9%)
Mutual labels:  ai
Autodl
Automated Deep Learning without ANY human intervention. 1'st Solution for AutoDL [email protected]
Stars: ✭ 854 (+2844.83%)
Mutual labels:  ai
Sliding puzzle
Swift implementation of the Sliding Puzzle game with Iterative Deepening A* AI Solver.
Stars: ✭ 25 (-13.79%)
Mutual labels:  ai
Game Server
Distributed Java game server, including cluster management server, gateway server, hall server, game logic server, background monitoring server and a running web version of fishing. State machine, behavior tree, A* pathfinding, navigation mesh and other AI tools
Stars: ✭ 916 (+3058.62%)
Mutual labels:  ai
Tetrisai
The old school Tetris game in addition with an AI that learns evolutionary how to play this game
Stars: ✭ 22 (-24.14%)
Mutual labels:  ai

sarif

Build Coverage API Documentation MIT License

Sarif is an experimental personal assistant and data analysis platform, bolted onto a distributed network of microservices. Seriously. This project pursues to provide the following things some time in the future:

  • A very simple network protocol based on JSON (see SPEC.md)
  • A network of extensible, interconnected services across devices
  • A natural user interface, via text and/or voice
  • A personal data analysis platform for quantified self tracking
  • Full commandline access and data export, and open source forever!
  • Hopefully in the future something that can be called an AI -- definitely not a GoogleTwitterWeatherBot

This is the message spec and reference implementation, written in Go. Since the project is currently in a prototype stage, it has a limited set of features out of the box and there may be lots of breaking changes. There is currently no documentation. Here be dragons. That said, the core functionality is there.

"A distributed AI with access to all your personal data and computers? What could possibly go wrong?"

Check Out The Demo!

Thanks to the awesome GopherJS, part of this project is continuously compiled into an enormous blob of JavaScript. Yeah, I know. This way, you can try the Web Dashboard. Currently, only a minimal set of modules is available there. And still no documentation.

In Detail

Sarif aspires to be a personal helper that has access to a range of different tools to aid in automating everyday life, an "intranet of apps". For example, your phone tracks your location and when Sarif notices that you are coming home, it boots your desktop pc for you and starts the music. Or reacts to chat commands, or displays notifications on your watch.

A microservice could be anything, e.g. a location publisher on your phone, a database server, a media player control, a webservice, a voice assistant / chatbot, or your personal context-aware artifical intelligence robot overlord.

Getting Started

$ go install github.com/sarifsystems/sarif/cmd/sarifd
$ go install github.com/sarifsystems/sarif/cmd/tars

$ sarifd -v
$ tars
> .ping
> remind me in 10 seconds that this thing works
> .full
> .cmd/catfacts

And take a look at cmd/examples/sarifping.

Design Goals

Interface-agnostic: Sarif should work "everywhere" and degrade gracefully. If you are on your phone, it should react to text messages. If you use your computer, it should display a dashboard, system notifications and rich controls. If you are at the commandline, Sarif should provide scripting and easy data access. If you are at home, a voice assistant could listen for commands. All these can be implemented as separate services.

Simple: Adding services should be as easy and future-proof as possible. Your service should not depend on a big Sarif library, a specific programming language or a complicated message format. That is why a Sarif message is a simple JSON object sent over TCP/TLS. Ideally, you could connect your application to the Sarif network in under 100 lines of code, from scratch without any libraries.

Modular: There should be no overarching core service that handles everything, all services should be exchangeable and stand on equal footing. For example, it should be possible to remove the NLP service that understands your text commands and replace it with your own voice-controlled robot. Hey, you could even take the message specification and write your own server.

Inspired by:

  • Google Now / Siri / Cortana
  • The Internet of Things
  • If This Then That
  • JARVIS, TARS, GERTY, Samaritan and Skynet
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].