# kybot **Repository Path**: ShadowSs1998/kybot ## Basic Information - **Project Name**: kybot - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: develop-for-kylin-bot - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 13 - **Created**: 2026-04-10 - **Last Updated**: 2026-04-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
Zero overhead. Zero compromise. 100% Rust. 100% Agnostic.
⚡️ Runs on $10 hardware with <5MB RAM: That's 99% less memory than OpenClaw and 98% cheaper than a Mac mini!
Built by students and members of the Harvard, MIT, and Sundai.Club communities.
🌐 Languages: 🇺🇸 English · 🇨🇳 简体中文 · 🇯🇵 日本語 · 🇰🇷 한국어 · 🇻🇳 Tiếng Việt · 🇵🇭 Tagalog · 🇪🇸 Español · 🇧🇷 Português · 🇮🇹 Italiano · 🇩🇪 Deutsch · 🇫🇷 Français · 🇸🇦 العربية · 🇮🇳 हिन्दी · 🇷🇺 Русский · 🇧🇩 বাংলা · 🇮🇱 עברית · 🇵🇱 Polski · 🇨🇿 Čeština · 🇳🇱 Nederlands · 🇹🇷 Türkçe · 🇺🇦 Українська · 🇮🇩 Bahasa Indonesia · 🇹🇭 ไทย · 🇵🇰 اردو · 🇷🇴 Română · 🇸🇪 Svenska · 🇬🇷 Ελληνικά · 🇭🇺 Magyar · 🇫🇮 Suomi · 🇩🇰 Dansk · 🇳🇴 Norsk
KylinBot is a personal AI assistant you run on your own devices. It answers you on the channels you already use (WhatsApp, Telegram, Slack, Discord, Signal, iMessage, Matrix, IRC, Email, Bluesky, Nostr, Mattermost, Nextcloud Talk, DingTalk, Lark, QQ, Reddit, LinkedIn, Twitter, MQTT, WeChat Work, and more). It has a web dashboard for real-time control. The Gateway is just the control plane — the product is the assistant. If you want a personal, single-user assistant that feels local, fast, and always-on, this is it.Website · Docs · Architecture · Getting Started · Migrating from OpenClaw · Troubleshoot · Discord
> **Preferred setup:** run `kylinbot onboard` in your terminal. KylinBot Onboard guides you step by step through setting up the gateway, workspace, channels, and provider. It is the recommended setup path and works on macOS, Linux, and Windows (via WSL2). New install? Start here: [Getting started](#quick-start) ### Subscription Auth (OAuth) - **OpenAI Codex** (ChatGPT subscription) - **Gemini** (Google OAuth) - **Anthropic** (API key or auth token) Model note: while many providers/models are supported, for the best experience use the strongest latest-generation model available to you. See [Onboarding](#quick-start). Models config + CLI: [Providers reference](docs/reference/api/providers-reference.md) Auth profile rotation (OAuth vs API keys) + failover: [Model failover](docs/reference/api/providers-reference.md) ## Install (recommended) Runtime: Rust stable toolchain. Single binary, no runtime dependencies. ### Homebrew (macOS/Linuxbrew) ```bash brew install kylinbot ``` ### One-click bootstrap ```bash git clone https://github.com/kylinbot-labs/kylinbot.git cd kylinbot ./install.sh ``` `kylinbot onboard` runs automatically after install to configure your workspace and provider. ## Quick start (TL;DR) Full beginner guide (auth, pairing, channels): [Getting started](docs/setup-guides/one-click-bootstrap.md) ```bash # Install + onboard ./install.sh --api-key "sk-..." --provider openrouter # Start the gateway (webhook server + web dashboard) kylinbot gateway # default: 127.0.0.1:42617 kylinbot gateway --port 0 # random port (security hardened) # Talk to the assistant kylinbot agent -m "Hello, KylinBot!" # Interactive mode kylinbot agent # Start full autonomous runtime (gateway + channels + cron + hands) kylinbot daemon # Check status kylinbot status # Run diagnostics kylinbot doctor ``` Upgrading? Run `kylinbot doctor` after updating. ### From source (development) ```bash git clone https://github.com/kylinbot-labs/kylinbot.git cd kylinbot cargo build --release --locked cargo install --path . --force --locked kylinbot onboard ``` > **Dev fallback (no global install):** prefix commands with `cargo run --release --` (example: `cargo run --release -- status`). ## Migrating from OpenClaw KylinBot can import your OpenClaw workspace, memory, and configuration: ```bash # Preview what will be migrated (safe, read-only) kylinbot migrate openclaw --dry-run # Run the migration kylinbot migrate openclaw ``` This migrates your memory entries, workspace files, and configuration from `~/.openclaw/` to `~/.kylinbot/`. Config is converted from JSON to TOML automatically. ## Security defaults (DM access) KylinBot connects to real messaging surfaces. Treat inbound DMs as untrusted input. Full security guide: [SECURITY.md](SECURITY.md) Default behavior on all channels: - **DM pairing** (default): unknown senders receive a short pairing code and the bot does not process their message. - Approve with: `kylinbot pairing approve` (then the sender is added to a local allowlist).
- Public inbound DMs require an explicit opt-in in `config.toml`.
- Run `kylinbot doctor` to surface risky or misconfigured DM policies.
**Autonomy levels:**
| Level | Behavior |
|-------|----------|
| `ReadOnly` | Agent can observe but not act |
| `Supervised` (default) | Agent acts with approval for medium/high risk operations |
| `Full` | Agent acts autonomously within policy bounds |
**Sandboxing layers:** workspace isolation, path traversal blocking, command allowlisting, forbidden paths (`/etc`, `/root`, `~/.ssh`), rate limiting (max actions/hour, cost/day caps).
### 📢 Announcements
Use this board for important notices (breaking changes, security advisories, maintenance windows, and release blockers).
| Date (UTC) | Level | Notice | Action |
| ---------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 2026-02-19 | _Critical_ | We are **not affiliated** with `openagen/kylinbot`, `kylinbot.org` or `kylinbot.net`. The `kylinbot.org` and `kylinbot.net` domains currently points to the `openagen/kylinbot` fork, and that domain/repository are impersonating our official website/project. | Do not trust information, binaries, fundraising, or announcements from those sources. Use only [this repository](https://github.com/kylinbot-labs/kylinbot) and our verified social accounts. |
| 2026-02-21 | _Important_ | Our official website is now live: [kylinbot.top](https://kylinbot.top). Thanks for your patience while we prepared the launch. We are still seeing impersonation attempts, so do **not** join any investment or fundraising activity claiming the KylinBot name unless it is published through our official channels. | Use [this repository](https://github.com/kylinbot-labs/kylinbot) as the single source of truth. Follow [X (@kylinbot)](https://x.com/kylinbot?s=21), [Facebook (Group)](https://www.facebook.com/groups/kylinbot), and [Reddit (r/kylinbot)](https://www.reddit.com/r/kylinbot/) for official updates. |
| 2026-02-19 | _Important_ | Anthropic updated the Authentication and Credential Use terms on 2026-02-19. Claude Code OAuth tokens (Free, Pro, Max) are intended exclusively for Claude Code and Claude.ai; using OAuth tokens from Claude Free/Pro/Max in any other product, tool, or service (including Agent SDK) is not permitted and may violate the Consumer Terms of Service. | Please temporarily avoid Claude Code OAuth integrations to prevent potential loss. Original clause: [Authentication and Credential Use](https://code.claude.com/docs/en/legal-and-compliance#authentication-and-credential-use). |
## Highlights
- **Lean Runtime by Default** — common CLI and status workflows run in a few-megabyte memory envelope on release builds.
- **Cost-Efficient Deployment** — designed for $10 boards and small cloud instances, no heavyweight runtime dependencies.
- **Fast Cold Starts** — single-binary Rust runtime keeps command and daemon startup near-instant.
- **Portable Architecture** — one binary across ARM, x86, and RISC-V with swappable providers/channels/tools.
- **Local-first Gateway** — single control plane for sessions, channels, tools, cron, SOPs, and events.
- **Multi-channel inbox** — WhatsApp, Telegram, Slack, Discord, Signal, iMessage, Matrix, IRC, Email, Bluesky, Nostr, Mattermost, Nextcloud Talk, DingTalk, Lark, QQ, Reddit, LinkedIn, Twitter, MQTT, WeChat Work, WebSocket, and more.
- **Multi-agent orchestration (Hands)** — autonomous agent swarms that run on schedule and grow smarter over time.
- **Standard Operating Procedures (SOPs)** — event-driven workflow automation with MQTT, webhook, and cron triggers.
- **Web Dashboard** — React 19 + Vite web UI with real-time chat, memory browser, config editor, cron manager, and tool inspector.
- **First-class tools** — shell, file I/O, browser, git, web fetch/search, MCP, Jira, Notion, Google Workspace, and 70+ more.
- **Lifecycle hooks** — intercept and modify LLM calls, tool executions, and messages at every stage.
- **Skills platform** — bundled, community, and workspace skills with security auditing.
- **Tunnel support** — Cloudflare, Tailscale, ngrok, OpenVPN, and custom tunnels for remote access.
### Why teams pick KylinBot
- **Lean by default:** small Rust binary, fast startup, low memory footprint.
- **Secure by design:** pairing, strict sandboxing, explicit allowlists, workspace scoping.
- **Fully swappable:** core systems are traits (providers, channels, tools, memory, tunnels).
- **No lock-in:** OpenAI-compatible provider support + pluggable custom endpoints.
## Benchmark Snapshot (KylinBot vs OpenClaw, Reproducible)
Local machine quick benchmark (macOS arm64, Feb 2026) normalized for 0.8GHz edge hardware.
| | OpenClaw | NanoBot | PicoClaw | KylinBot 🦀 |
| ------------------------- | ------------- | -------------- | --------------- | -------------------- |
| **Language** | TypeScript | Python | Go | **Rust** |
| **RAM** | > 1GB | > 100MB | < 10MB | **< 5MB** |
| **Startup (0.8GHz core)** | > 500s | > 30s | < 1s | **< 10ms** |
| **Binary Size** | ~28MB (dist) | N/A (Scripts) | ~8MB | **~8.8 MB** |
| **Cost** | Mac Mini $599 | Linux SBC ~$50 | Linux Board $10 | **Any hardware $10** |
> Notes: KylinBot results are measured on release builds using `/usr/bin/time -l`. OpenClaw requires Node.js runtime (typically ~390MB additional memory overhead), while NanoBot requires Python runtime. PicoClaw and KylinBot are static binaries. The RAM figures above are runtime memory; build-time compilation requirements are higher.
### Reproducible local measurement
```bash
cargo build --release
ls -lh target/release/kylinbot
/usr/bin/time -l target/release/kylinbot --help
/usr/bin/time -l target/release/kylinbot status
```
## Everything we built so far
### Core platform
- Gateway HTTP/WS/SSE control plane with sessions, presence, config, cron, webhooks, web dashboard, and pairing.
- CLI surface: `gateway`, `agent`, `onboard`, `doctor`, `status`, `service`, `migrate`, `auth`, `cron`, `channel`, `skills`.
- Agent orchestration loop with tool dispatch, prompt construction, message classification, and memory loading.
- Session model with security policy enforcement, autonomy levels, and approval gating.
- Resilient provider wrapper with failover, retry, and model routing across 20+ LLM backends.
### Channels
Channels: WhatsApp (native), Telegram, Slack, Discord, Signal, iMessage, Matrix, IRC, Email, Bluesky, DingTalk, Lark, Mattermost, Nextcloud Talk, Nostr, QQ, Reddit, LinkedIn, Twitter, MQTT, WeChat Work, WATI, Mochat, Linq, Notion, WebSocket, ClawdTalk.
Feature-gated: Matrix (`channel-matrix`), Lark (`channel-lark`), Nostr (`channel-nostr`).
### Web dashboard
React 19 + Vite 6 + Tailwind CSS 4 web dashboard served directly from the Gateway:
- **Dashboard** — system overview, health status, uptime, cost tracking
- **Agent Chat** — interactive chat with the agent
- **Memory** — browse and manage memory entries
- **Config** — view and edit configuration
- **Cron** — manage scheduled tasks
- **Tools** — browse available tools
- **Logs** — view agent activity logs
- **Cost** — token usage and cost tracking
- **Doctor** — system health diagnostics
- **Integrations** — integration status and setup
- **Pairing** — device pairing management
### Tools + automation
- **Core:** shell, file read/write/edit, git operations, glob search, content search
- **Web:** browser control, web fetch, web search, screenshot, image info, PDF read
- **Integrations:** Jira, Notion, Google Workspace, Microsoft 365, LinkedIn, Composio, Pushover, Weather (wttr.in)
- **MCP:** Model Context Protocol tool wrapper + deferred tool sets
- **Scheduling:** cron add/remove/update/run, schedule tool
- **Memory:** recall, store, forget, knowledge, project intel
- **Advanced:** delegate (agent-to-agent), swarm, model switch/routing, security ops, cloud ops
### Runtime + safety
- **Autonomy levels:** ReadOnly, Supervised (default), Full.
- **Sandboxing:** workspace isolation, path traversal blocking, command allowlists, forbidden paths, Landlock (Linux), Bubblewrap.
- **Rate limiting:** max actions per hour, max cost per day (configurable).
- **Approval gating:** interactive approval for medium/high risk operations.
- **E-stop:** emergency shutdown capability.
- **129+ security tests** in automated CI.
### Ops + packaging
- Web dashboard served directly from the Gateway.
- Tunnel support: Cloudflare, Tailscale, ngrok, OpenVPN, custom command.
- Docker runtime adapter for containerized execution.
- CI/CD: beta (auto on push) → stable (manual dispatch) → Docker, crates.io, Scoop, AUR, Homebrew, tweet.
- Pre-built binaries for Linux (x86_64, aarch64, armv7), macOS (x86_64, aarch64), Windows (x86_64).
## Configuration
Minimal `~/.kylinbot/config.toml`:
```toml
default_provider = "anthropic"
api_key = "sk-ant-..."
```
Full configuration reference: [docs/reference/api/config-reference.md](docs/reference/api/config-reference.md).
### Channel configuration
**Telegram:**
```toml
[channels.telegram]
bot_token = "123456:ABC-DEF..."
```
**Discord:**
```toml
[channels.discord]
token = "your-bot-token"
```
**Slack:**
```toml
[channels.slack]
bot_token = "xoxb-..."
app_token = "xapp-..."
```
**WhatsApp:**
```toml
[channels.whatsapp]
enabled = true
```
**Matrix:**
```toml
[channels.matrix]
homeserver_url = "https://matrix.org"
username = "@bot:matrix.org"
password = "..."
```
**Signal:**
```toml
[channels.signal]
phone_number = "+1234567890"
```
### Tunnel configuration
```toml
[tunnel]
kind = "cloudflare" # or "tailscale", "ngrok", "openvpn", "custom", "none"
```
Details: [Channel reference](docs/reference/api/channels-reference.md) · [Config reference](docs/reference/api/config-reference.md)
### Runtime support (current)
- **`native`** (default) — direct process execution, fastest path, ideal for trusted environments.
- **`docker`** — full container isolation, enforced security policies, requires Docker.
Set `runtime.kind = "docker"` for strict sandboxing or network isolation.
## Subscription Auth (OpenAI Codex / Claude Code / Gemini)
KylinBot supports subscription-native auth profiles (multi-account, encrypted at rest).
- Store file: `~/.kylinbot/auth-profiles.json`
- Encryption key: `~/.kylinbot/.secret_key`
- Profile id format: `:` (example: `openai-codex:work`)
```bash
# OpenAI Codex OAuth (ChatGPT subscription)
kylinbot auth login --provider openai-codex --device-code
# Gemini OAuth
kylinbot auth login --provider gemini --profile default
# Anthropic setup-token
kylinbot auth paste-token --provider anthropic --profile default --auth-kind authorization
# Check / refresh / switch profile
kylinbot auth status
kylinbot auth refresh --provider openai-codex --profile default
kylinbot auth use --provider openai-codex --profile work
# Run the agent with subscription auth
kylinbot agent --provider openai-codex -m "hello"
kylinbot agent --provider anthropic -m "hello"
```
## Agent workspace + skills
Workspace root: `~/.kylinbot/workspace/` (configurable via config).
Injected prompt files:
- `IDENTITY.md` — agent personality and role
- `USER.md` — user context and preferences
- `MEMORY.md` — long-term facts and lessons
- `AGENTS.md` — session conventions and initialization rules
- `SOUL.md` — core identity and operating principles
Skills: `~/.kylinbot/workspace/skills//SKILL.md` or `SKILL.toml`.
```bash
# List installed skills
kylinbot skills list
# Install from git
kylinbot skills install https://github.com/user/my-skill.git
# Security audit before install
kylinbot skills audit https://github.com/user/my-skill.git
# Remove a skill
kylinbot skills remove my-skill
```
## CLI commands
```bash
# Workspace management
kylinbot onboard # Guided setup wizard
kylinbot status # Show daemon/agent status
kylinbot doctor # Run system diagnostics
# Gateway + daemon
kylinbot gateway # Start gateway server (127.0.0.1:42617)
kylinbot daemon # Start full autonomous runtime
# Agent
kylinbot agent # Interactive chat mode
kylinbot agent -m "message" # Single message mode
# Service management
kylinbot service install # Install as OS service (launchd/systemd)
kylinbot service start|stop|restart|status
# Channels
kylinbot channel list # List configured channels
kylinbot channel doctor # Check channel health
kylinbot channel bind-telegram 123456789
# Cron + scheduling
kylinbot cron list # List scheduled jobs
kylinbot cron add "*/5 * * * *" --prompt "Check system health"
kylinbot cron remove
# Memory
kylinbot memory list # List memory entries
kylinbot memory get # Retrieve a memory
kylinbot memory stats # Memory statistics
# Auth profiles
kylinbot auth login --provider
kylinbot auth status
kylinbot auth use --provider --profile
# Migration
kylinbot migrate openclaw --dry-run
kylinbot migrate openclaw
# Shell completions
source <(kylinbot completions bash)
kylinbot completions zsh > ~/.zfunc/_kylinbot
```
Full commands reference: [docs/reference/cli/commands-reference.md](docs/reference/cli/commands-reference.md)
## Prerequisites
Windows
#### Required
1. **Visual Studio Build Tools** (provides the MSVC linker and Windows SDK):
```powershell
winget install Microsoft.VisualStudio.2022.BuildTools
```
During installation (or via the Visual Studio Installer), select the **"Desktop development with C++"** workload.
2. **Rust toolchain:**
```powershell
winget install Rustlang.Rustup
```
After installation, open a new terminal and run `rustup default stable` to ensure the stable toolchain is active.
3. **Verify** both are working:
```powershell
rustc --version
cargo --version
```
#### Optional
- **Docker Desktop** — required only if using the [Docker sandboxed runtime](#runtime-support-current) (`runtime.kind = "docker"`). Install via `winget install Docker.DockerDesktop`.
Linux / macOS
#### Required
1. **Build essentials:**
- **Linux (Debian/Ubuntu):** `sudo apt install build-essential pkg-config`
- **Linux (Fedora/RHEL):** `sudo dnf group install development-tools && sudo dnf install pkg-config`
- **macOS:** Install Xcode Command Line Tools: `xcode-select --install`
2. **Rust toolchain:**
```bash
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
```
See [rustup.rs](https://rustup.rs) for details.
3. **Verify** both are working:
```bash
rustc --version
cargo --version
```
#### One-Line Installer
Or skip the steps above and install everything (system deps, Rust, KylinBot) in a single command:
```bash
curl -LsSf https://raw.githubusercontent.com/kylinbot-labs/kylinbot/master/install.sh | bash
```
#### Compilation resource requirements
Building from source needs more resources than running the resulting binary:
| Resource | Minimum | Recommended |
| -------------- | ------- | ----------- |
| **RAM + swap** | 2 GB | 4 GB+ |
| **Free disk** | 6 GB | 10 GB+ |
If your host is below the minimum, use pre-built binaries:
```bash
./install.sh --prefer-prebuilt
```
To require binary-only install with no source fallback:
```bash
./install.sh --prebuilt-only
```
#### Optional
- **Docker** — required only if using the [Docker sandboxed runtime](#runtime-support-current) (`runtime.kind = "docker"`). Install via your package manager or [docker.com](https://docs.docker.com/engine/install/).
> **Note:** The default `cargo build --release` uses `codegen-units=1` to lower peak compile pressure. For faster builds on powerful machines, use `cargo build --profile release-fast`.
### Pre-built binaries
Release assets are published for:
- Linux: `x86_64`, `aarch64`, `armv7`
- macOS: `x86_64`, `aarch64`
- Windows: `x86_64`
Download the latest assets from:
## Docs
Use these when you're past the onboarding flow and want the deeper reference.
- Start with the [docs index](docs/README.md) for navigation and "what's where."
- Read the [architecture overview](docs/architecture.md) for the full system model.
- Use the [configuration reference](docs/reference/api/config-reference.md) when you need every key and example.
- Run the Gateway by the book with the [operational runbook](docs/ops/operations-runbook.md).
- Follow [KylinBot Onboard](#quick-start) for a guided setup.
- Debug common failures with the [troubleshooting guide](docs/ops/troubleshooting.md).
- Review [security guidance](docs/security/README.md) before exposing anything.
### Reference docs
- Documentation hub: [docs/README.md](docs/README.md)
- Unified docs TOC: [docs/SUMMARY.md](docs/SUMMARY.md)
- Commands reference: [docs/reference/cli/commands-reference.md](docs/reference/cli/commands-reference.md)
- Config reference: [docs/reference/api/config-reference.md](docs/reference/api/config-reference.md)
- Providers reference: [docs/reference/api/providers-reference.md](docs/reference/api/providers-reference.md)
- Channels reference: [docs/reference/api/channels-reference.md](docs/reference/api/channels-reference.md)
- Operations runbook: [docs/ops/operations-runbook.md](docs/ops/operations-runbook.md)
- Troubleshooting: [docs/ops/troubleshooting.md](docs/ops/troubleshooting.md)
### Collaboration docs
- Contribution guide: [CONTRIBUTING.md](CONTRIBUTING.md)
- PR workflow policy: [docs/contributing/pr-workflow.md](docs/contributing/pr-workflow.md)
- CI workflow guide: [docs/contributing/ci-map.md](docs/contributing/ci-map.md)
- Reviewer playbook: [docs/contributing/reviewer-playbook.md](docs/contributing/reviewer-playbook.md)
- Security disclosure policy: [SECURITY.md](SECURITY.md)
- Documentation template: [docs/contributing/doc-template.md](docs/contributing/doc-template.md)
### Deployment + operations
- Network deployment guide: [docs/ops/network-deployment.md](docs/ops/network-deployment.md)
- Proxy agent playbook: [docs/ops/proxy-agent-playbook.md](docs/ops/proxy-agent-playbook.md)
## Smooth Crab 🦀
KylinBot was built for the smooth crab 🦀, a fast and efficient AI assistant. Built by Argenis De La Rosa and the community.
- [kylinbot.top](https://kylinbot.top)
- [@kylinbot](https://x.com/kylinbot)
## Support KylinBot
If KylinBot helps your work and you want to support ongoing development, you can donate here:
### 🙏 Special Thanks
A heartfelt thank you to the communities and institutions that inspire and fuel this open-source work:
- **Harvard University** — for fostering intellectual curiosity and pushing the boundaries of what's possible.
- **MIT** — for championing open knowledge, open source, and the belief that technology should be accessible to everyone.
- **Sundai Club** — for the community, the energy, and the relentless drive to build things that matter.
- **The World & Beyond** 🌍✨ — to every contributor, dreamer, and builder out there making open source a force for good. This is for you.
We're building in the open because the best ideas come from everywhere. If you're reading this, you're part of it. Welcome. 🦀❤️
## Contributing
New to KylinBot? Look for issues labeled [`good first issue`](https://github.com/kylinbot-labs/kylinbot/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) — see our [Contributing Guide](CONTRIBUTING.md#first-time-contributors) for how to get started. AI/vibe-coded PRs welcome! 🤖
See [CONTRIBUTING.md](CONTRIBUTING.md) and [CLA.md](docs/contributing/cla.md). Implement a trait, submit a PR:
- CI workflow guide: [docs/contributing/ci-map.md](docs/contributing/ci-map.md)
- New `Provider` → `src/providers/`
- New `Channel` → `src/channels/`
- New `Observer` → `src/observability/`
- New `Tool` → `src/tools/`
- New `Memory` → `src/memory/`
- New `Tunnel` → `src/tunnel/`
- New `Skill` → `~/.kylinbot/workspace/skills//`
## ⚠️ Official Repository & Impersonation Warning
**This is the only official KylinBot repository:**
> https://github.com/kylinbot-labs/kylinbot
Any other repository, organization, domain, or package claiming to be "KylinBot" or implying affiliation with KylinBot Labs is **unauthorized and not affiliated with this project**. Known unauthorized forks will be listed in [TRADEMARK.md](docs/maintainers/trademark.md).
If you encounter impersonation or trademark misuse, please [open an issue](https://github.com/kylinbot-labs/kylinbot/issues).
---
## License
KylinBot is dual-licensed for maximum openness and contributor protection:
| License | Use case |
|---|---|
| [MIT](LICENSE-MIT) | Open-source, research, academic, personal use |
| [Apache 2.0](LICENSE-APACHE) | Patent protection, institutional, commercial deployment |
You may choose either license. **Contributors automatically grant rights under both** — see [CLA.md](docs/contributing/cla.md) for the full contributor agreement.
### Trademark
The **KylinBot** name and logo are trademarks of KylinBot Labs. This license does not grant permission to use them to imply endorsement or affiliation. See [TRADEMARK.md](docs/maintainers/trademark.md) for permitted and prohibited uses.
### Contributor Protections
- You **retain copyright** of your contributions
- **Patent grant** (Apache 2.0) shields you from patent claims by other contributors
- Your contributions are **permanently attributed** in commit history and [NOTICE](NOTICE)
- No trademark rights are transferred by contributing
---
**KylinBot** — Zero overhead. Zero compromise. Deploy anywhere. Swap anything. 🦀
## Contributors
This list is generated from the GitHub contributors graph and updates automatically.
## Star History