Skip to content

Repository files navigation

🚀 Ylem

Ylem — A Microkernel Agent Cognitive OS Engine built with TypeScript.

License: MIT TypeScript Build Tool Test GitHub Repo

Ylem is a highly extensible, decoupled Agent cognitive base and control plane engine. Built on a Microkernel architecture, Ylem completely decouples core workflow orchestration from specific LLM drivers, toolsets, and third-party libraries.


✨ Features

  • 🧠 Microkernel Architecture: core/ manages the Agent lifecycle, plugin dispatching, and context flow with zero hard dependencies on third-party AI libraries.
  • 🔌 Plugin-Driven Ecosystem: All LLM adapters (e.g., OpenAI/Vercel AI SDK), toolsets (e.g., GitLab Tooling), and data-plane interactions are injected as plugins.
  • 🛡️ Strict Encapsulation: Third-party SDKs are abstracted and encapsulated to prevent dependency breakage across the system.
  • 📦 Cross-Platform Bundling: Built with tsup to output ESM, CommonJS, and UMD (IIFE) artifacts, supporting Node.js, Web browsers, and mobile containers.
  • 🧪 In-Repo Playground: Includes a lightweight Vue 3 testing environment that directly loads dist/ artifacts for end-to-end verification.
  • Fast Unit Testing: Integrated with Vitest for automated testing of lifecycle hooks and core logic with mock support.

🏗️ Architecture

┌─────────────────────────────────────────────────────────────┐
│              Application Layer (Web / Mobile / App)         │
└──────────────────────────────┬──────────────────────────────┘
                               │
┌──────────────────────────────▼──────────────────────────────┐
│                    Ylem Core Kernel (core/)                 │
│  ┌──────────────┐    ┌──────────────────┐    ┌───────────┐  │
│  │ YlemAgent    │    │ Lifecycle Hooks  │    │ EventBus  │  │
│  └──────────────┘    └──────────────────┘    └───────────┘  │
└──────────────────────────────▲──────────────────────────────┘
                               │ (YlemPlugin Interface)
┌──────────────────────────────┴──────────────────────────────┐
│                  Plugins System (plugins/)                  │
│  ┌────────────────┐  ┌────────────────┐  ┌───────────────┐  │
│  │  llm-openai    │  │ memory-remote  │  │  tool-gitlab  │  │
│  └────────────────┘  └────────────────┘  └───────────────┘  │
└─────────────────────────────────────────────────────────────┘

📂 Project Structure

For detailed directory breakdowns, module descriptions, and update history, please refer to CATALOG.md.


📦 Quick Start

1. Install Dependencies

pnpm install

2. Build the Project

Build output artifacts to the dist/ directory:

pnpm run build

3. Run Unit Tests

pnpm run test

4. Start Local Playground

pnpm run playground

💻 Usage Example

import { YlemAgent, OpenAIPlugin } from 'ylem';

async function main() {
    // 1. Initialize Ylem Microkernel
    const agent = new YlemAgent();

    // 2. Inject third-party plugins
    agent.use(new OpenAIPlugin({
        apiKey: process.env.OPENAI_API_KEY
    }));

    // 3. Run Agent execution loop
    const response = await agent.run('Analyze current project architecture', 'user_001');
    console.log(response);
}

main();

🔗 Links


📜 License

Released under the MIT License.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages