```
     _    ____  _  __   _   _
    / \  |  _ \| |/ /  / \ | |
   / _ \ | |_) | ' /  / _ \| |
  / ___ \|  _ <| . \ / ___ \ |
 /_/   \_\_| \_\_|\_/_/   \_\_|
  AUTOMATED RESOURCE KNOWLEDGEBASE
      Decentralized AI Assistant



```

## ARK – AUTOMATED RESOURCE KNOWLEDGEBASE or Agent Runtime Kernel

**Repository**: [SGIARK/ARK2.0](https://github.com/SGIARK/ARK2.0)  
**Lead**: N.M.  
**License**: MIT  
**Project Backing**: MIT SIPB ($5,000 infrastructure grant)

---

## What is ARK?

ARK is a decentralized, modular framework for personal agents. It aims to be the open-source alternative to closed assistants like Siri, Alexa, or proprietary copilots. Inspired by JARVIS from Iron Man, ARK enables:

- Intelligent tool use
- Long- and short-term memory
- Multi-turn stateful workflows
- Full-duplex speech (STT + TTS)
- Privacy-respecting, open-source models

---

## Project Goals

- Open ecosystem of agent tools and flows
- Developer-friendly interface via MCP (Model Context Protocol)
- Local-first by default (privacy-first design)
- Modular: every agent is downloadable, every state is swappable
- App Store: planned integration with MCP Registry https://github.com/modelcontextprotocol/registry/discussions/11

---

## Tech Overview

| Component               | Purpose                                                                      |
|----------------------- |----------------------------------------------------------|
| FlowRunner_M          | (Planned) Directed graph FSM controller                  |
| Agent_M / Base_M   | (Planned) Encapsulates tools, memory,                      |
| MemoryGraph_M     | (Planned) Hierarchical long-term memory                 |
| ToolSession_M          | (Planned) Multi-turn tool interactions                        |
| VoiceIO_M                | (Planned) Voice input/output with interrupt               |
| Model_M                  | HF-TGI + Qwen2.5 7B used for reasoning                   |
| Frontend_M              | (IP) User UI for Hosted or Local Interaction                |
| Calendar_M              | (IP) Our first MCP app for calenendar asstnt               |
| Error_M                     | (Planned) External state manager for persistence      | 
---

### Tech Schematic



-


## Subproject-C

Subproject-C is a calendar agent designed to:

- Test the MCP integration
- Test Agent and State functions
- Test Memory Personalization
- Launch Fall 2025

---

## Interfaces

[Many on Github, working on consolidating sections currently]


---

## Protocol: MCP

ARK uses the Model Context Protocol (by Anthropic) to enable tool/plugin communication.

Endpoints:
- `/tools/list`
- `/tools/call`

Agents operate on top of this abstraction — tool developers never need to touch ARK internals.

---

## Culture

LOADING...

████████]99%

We believe:
- In privacy-first AI
- In human-centered design
- In building the open JARVIS for everyone

---

## RoadMap 

- Memory_M
 -  Hierarchical memory w/ pruning
- FlowRunner_M
  - State Schema
  - YAML-based flow/state loader
  - ToolSession_M
    - Tool State Schema
- Agent_M
  - Agent Schema
- VoiceIO_M
  - Realtime STT (Whisper live)
- Error_M
  - Structured error recovery

---



## Timeline

- ✅ May 2025: Calendar bridge complete
- 🎯 Fall 2025: Subproject-C launch
- 🎯 Spring 2026: ARK v1 public release

---



## Contribution Levels 

  1. Core Team 
    1. Attends weekly digital meetings and directs path of project
  2. Community Organizer
    1. Accepts/Denies community PR's, Submits Issues
  3. Community Developer 
    1. Submits PR's, Submits Issues
  4. User
    1. Uses Software, Submits Issues



## How to Contribute

  • email sipb-ark@mit.edu with your name and what level you are interested in contributing to (IFF level 1 or 2 is desired) 
  • Clone the repo
  • Build a tool or agent module
  • Follow the FlowRunner template
  • Submit a PR
  • Join us


**Make cool stuff.**

## Culture

LOADING...

████████]99%

We believe:
- In privacy-first AI
- In human-centered design
- In building the open JARVIS for everyone

---

## Contributors

NameRoleGitHub usernameAffiliation
Nathaniel MorganProject leadernmorganMIT
Joshua GuoFrontendduck_masterMIT
Ilya GulkoBackendgulkilyMIT
Yeabkal Abeje(departed)Yebe-AbeMIT
  • No labels