Simple SRS¶

This document outlines the high-level requirements for the AgentHeaven project.

1. Functional Requirements¶

ID

Requirement

Description

FR-01

Environment Management

The system shall allow users to create, activate, deactivate, and delete isolated project environments.

FR-02

Knowledge Management

The system shall allow users to store, retrieve, lookup, edit, delete and merge knowledge artifacts in a consistent logical format, which is independent of the physical storage or retrieval method.

FR-03

Unified LLM Interface

The system shall provide a unified interface for interacting with different LLM providers.

FR-04

Unified KV Interface

The system shall provide a unified interface for interacting with different key-value stores.

FR-05

Unified Database Interface

The system shall provide a unified interface for interacting with different databases.

FR-06

Tool Management

The system shall provide a unified interface for serializing and interacting with different tools or native Python functions.

FR-07

Cache/Memeory

The system shall provide a way for users to monitor any existing running system’s inputs, outputs and intermediate emissions, and store them for later analysis or replay.

FR-08

Retrieval Engine

The system shall provide a series of built-in retrieval methods, including string matching, faceted search, vector search, graph walks, and allow users to define their own retrieval methods.

FR-09

Multi-lingual Prompt Engine

The system shall provide a way for users to define and manage prompts, which can be used to generate LLM inputs or Knowledge serializations, supporting multiple languages.

FR-10

MCP Compatible

The system shall be compatible with the Multi-Component Protocol (MCP), so that it can be used as a component in a larger system, e.g., agent frameworks.

FR-11

Database Native

The system shall provide a series of built-in tools specially designed for interacting with databases: including database context engineering and NL2SQL workflows.

FR-12

GUI

The system shall provide a Graphical User Interface (GUI) for users to interact with the knowledge management system. It should be easy to use for non-developers. It should contain a user system for differentiating produced knowledge from different users.

FR-13

CLI

The system shall provide a Command Line Interface (CLI) for users to interact with the knowledge management, LLM use, configuration, etc.

FR-14

(Optional) Knowledge Distillation

The system shall provide a way for users to fine-tune LLMs on Cache/Memory data. It should be cross-platform compatible (LLama-Facotry/Unsloth/MLX) and extensible to NPUs.

FR-15

(Optional) Basic Agents

The system shall provide a series of built-in agent orchestration, such as basic tool use agent, NL-based tool use agent (for non-function-call LLMs), ReAct agent, CodeAct agent.

FR-16

(Optional) Test-time Scaling

The system shall provide useful Test-time Scaling (TTS) for LLMs.

FR-17

(Optional) Distributed System

The system shall provide a way for users to run the knowledge management system in a distributed environment, with cross-platform knowledge exchange and retrieval.

FR-18

(Optional) Authentication

The system shall provide a way for users to authenticate and authorize access to the knowledge management system.


3. Non-Functional Requirements¶

ID

Requirement

Description

NFR-01

Usability

The system should be easy to use by both developers and non-developers.

NFR-02

Extensibility

The system architecture should be modular to allow for the addition of new LLM providers, tools, database dialects, agents, retrieval methods, rerankers, and knowledge base backends.

NFR-03

NL2SQL Accuracy

The system should be able to rapidly develop an NL2SQL application with SOTA accuracy.