0.0.9 • Published 6 months ago
@little-samo/samo-ai v0.0.9
flowchart TD
%% ── Styles ────────────────────────────────────────────────
classDef location fill:#FFF5EE,stroke:#FF9248,stroke-width:2px;
classDef user fill:#E8F8F5,stroke:#16A085,stroke-width:1px;
classDef agentbox fill:#EEF5FF,stroke:#2980B9,stroke-width:1px;
classDef inner fill:#FFFFFF,stroke:#2980B9,stroke-width:0.5px;
classDef canvas fill:#E8FFF5,stroke:#16A085,stroke-width:1px;
classDef gimmick fill:#FDF2FF,stroke:#9B59B6,stroke-width:1px;
classDef external fill:#F9F9F9,stroke:#7F8C8D,stroke-dasharray:3 3;
classDef engine fill:#FFFFF0,stroke:#7F8C8D,stroke-dasharray:2 2;
%% ── Location ─────────────────────────────────────────────
subgraph L["Location"]
direction TB
%% Users (compact)
subgraph UsersGrp["Users"]
direction LR
U1["User"]:::user
U2["User"]:::user
end
%% Agents (two examples)
subgraph AgentsGrp["Agents"]
direction LR
%% Agent 2 – Nyx
subgraph A2["<img src='https://raw.githubusercontent.com/little-samo/SamoAI/master/docs/static/img/nyx_mascot.png' height='70px'/><br/>Agent"]
direction TB
P2["Persona"]:::inner
M2["Memory"]:::inner
S2["Summary"]:::inner
C2["Personal Canvas"]:::inner
Engines2["GPT | Gemini | Claude"]:::engine
end
class A2 agentbox
%% Agent 1 – Samo
subgraph A1["<img src='https://raw.githubusercontent.com/little-samo/SamoAI/master/docs/static/img/samo_mascot.png' height='45px'/><br/>Agent"]
direction TB
P1["Persona"]:::inner
M1["Memory"]:::inner
S1["Summary"]:::inner
C1["Personal Canvas"]:::inner
Engines1["GPT | Gemini | Claude"]:::engine
end
class A1 agentbox
end
%% Collaboration hub
subgraph Collab["Collaboration"]
direction LR
SharedCanvas["Shared Canvas<br/>(Docs)"]:::canvas
Messages["Messages<br/>(Chat)"]:::canvas
end
%% Gimmicks
Gimmicks["Gimmicks<br/>(Web Search, SNS Posts, …)"]:::gimmick
end
style L fill:#FFF5EE,stroke:#FF9248,stroke-width:2px
%% External services
External["External Services<br/>(Web, SNS, Games, Banking)"]:::external
%% ── Relationships (5 arrows) ─────────────────────────────
UsersGrp -- "chat & edit" --> Collab
AgentsGrp -- "chat & edit" --> Collab
UsersGrp -- "request" --> Gimmicks
AgentsGrp -- "trigger" --> Gimmicks
Gimmicks -- "invoke" --> External
%% Multiple locations note
L -. "Multiple locations" .-> L2["…"]🌟 What is SamoAI
SamoAI creates a seamless multi-agent narrative layer between humans and AI, enabling natural collaboration across multiple platforms. Through consistent identity preservation and contextual memory, it allows interactions that evolve over time through chains of actions, just like human relationships.
🧠 Core Concepts
💡 Products
🎮 AI Plays
AI agents playing games while interacting with viewers in real-time:
- PoC: Pokémon Red/Blue featuring Samo and Nyx AI VTubers in collaborative play
- Maintains consistent personality across Twitch gameplay and SNS(X, Telegram, etc.) interactions
- Remembers viewer interactions across platforms to build genuine relationships
- Expanding into role-based multi-agent collaborative gameplay across various genres
💼 AI Teams
Virtual teams of AI agents collaborating with specialized roles:
- PoC: Game design team simulation from concept to design documents
- AI agents in PM, writer, designer, and developer roles work together
- Maintains context across collaboration tools (Slack, Notion, email)
- Preserves project history and decision reasoning for long-term consistency
- Potential B2B solutions for productivity enhancement and human-AI hybrid teams
🛠️ Getting Started
# Using npm
npm install --save @little-samo/samo-ai
# Using yarn
yarn add @little-samo/samo-aiEnvironment Configuration
To enable debug mode, set process.env.DEBUG to 'True':
- Set environment variable:
DEBUG=True node your-app.js - Or use dotenv package with
DEBUG=Truein.envfile
📝 Example
Check out our example CLI application:
SamoAI-Example-CLI - A command-line interface for interacting with SamoAI agents.