```
     _    ____  _  __   _   _
    / \  |  _ \| |/ /  / \ | |
   / _ \ | |_) | ' /  / _ \| |
  / ___ \|  _ <| . \ / ___ \ |
 /_/   \_\_| \_\_|\_/_/   \_\_|
  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                     | (IP) 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

---

## How to Contribute

- Clone the repo
- Build a tool or agent module
- Follow the FlowRunner template
- Submit a PR
- Join us

**Make cool stuff.**

## 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

---



## How to Contribute

- 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