csml-engine  by CSML-by-Clevy

Chatbot framework with a dedicated programming language

created 5 years ago
715 stars

Top 49.0% on sourcepulse

GitHubView on GitHub
1 Expert Loves This Project
Project Summary

CSML is a domain-specific language and engine for building chatbots, targeting developers who need to create complex conversational agents. It offers an expressive, text-only syntax, built-in memory management, and runtime APIs for integrating arbitrary code and third-party services, simplifying chatbot development and maintenance.

How It Works

CSML utilizes a custom, text-only programming language designed for conversational flows. Its engine manages short and long-term memory slots, allowing for stateful interactions without complex boilerplate. The runtime supports injecting code from any language and connecting to external APIs, providing flexibility for integrating diverse functionalities into chatbots.

Quick Start & Requirements

  • Online: CSML Studio (https://studio.csml.dev) provides an immediate browser-based environment.
  • Self-hosted: Requires a database (MongoDB, PostgreSQL, SQLite, or DynamoDB) and configuration via environment variables (e.g., ENGINE_DB_TYPE, MONGODB_URI).
  • Binaries: Pre-built binaries are available for Linux and macOS.
  • Docker: docker pull clevy/csml-engine
  • Source (Rust): Requires Rust 1.46+ and OpenSSL. cargo build --release --features csml_engine/mongo (or other DB features).
  • Source (Node.js): Requires Rust 1.61.0+, Node.js LTS, libssl-dev, and cargo-cp-artifact. Build via npm run build -- --release in bindings/node/native.

Highlighted Details

  • Expressive, text-only syntax for easy development and maintenance.
  • Built-in support for short-term and long-term memory slots.
  • Extensible conversational components (Carousel, Card, Button, etc.).
  • Runtime APIs for injecting arbitrary code and connecting to third-party APIs.

Maintenance & Community

  • Active community with over 20,000 developers.
  • Official Slack channel for community support.
  • Documentation available at https://docs.csml.dev.

Licensing & Compatibility

  • The repository does not explicitly state a license. The README mentions "free playground" for CSML Studio and "self-hostable web server," but license terms for the engine itself are not detailed.

Limitations & Caveats

  • The license is not specified, which may impact commercial use or integration into closed-source projects.
  • Node.js bindings require recompilation for different architectures.
Health Check
Last commit

2 years ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
0
Star History
1 stars in the last 90 days

Explore Similar Projects

Starred by Jared Palmer Jared Palmer(Ex-VP of AI at Vercel; Founder of Turborepo; Author of Formik, TSDX), Jeff Hammerbacher Jeff Hammerbacher(Cofounder of Cloudera), and
1 more.

promptable by cfortuner

0%
2k
TS/JS library for building full-stack AI apps
created 2 years ago
updated 2 years ago
Feedback? Help us improve.