Skip to content

linanwx/nagobot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nagobot

Tired of endless configuration and unstable runtime? Try nagobot.

nagobot head

nagobot is a ultra light AI assistant built with Go.

Inspired by nanobot (github.com/HKUDS/nanobot) and openclaw (github.com/openclaw).

This project is evolving rapidly.

Features

  • Providers: openrouter, anthropic, deepseek, moonshot-cn, moonshot-global
  • Tools
  • Skills
  • Agent
  • Cron
  • Multi Thread

Supported Providers and Model Types

nagobot enforces a model whitelist. Only validated provider/model pairs are supported:

Default recommendation (unless you need a specific vendor): provider=deepseek, modelType=deepseek-reasoner.

  • deepseek: deepseek-reasoner, deepseek-chat (recommended default)
  • openrouter: moonshotai/kimi-k2.5
  • anthropic: claude-sonnet-4-5, claude-opus-4-6
  • moonshot-cn: kimi-k2.5
  • moonshot-global: kimi-k2.5

For OpenRouter, support is currently whitelist-only. Only verified model routes are treated as supported. In particular, reasoning/chain-of-thought behavior and tool-calling are guaranteed only for validated routes.

Requirements

  • Go 1.23.3+

Build

go build -o nagobot .

Quick Start

  1. Initialize config and workspace:
./nagobot onboard
  1. Edit config (default: ~/.nagobot/config.yaml) and set your API key. If you don't have a provider preference, start with deepseek-reasoner.

Provider Config Examples

OpenRouter (Kimi K2.5):

agents:
  defaults:
    provider: openrouter
    modelType: moonshotai/kimi-k2.5
    # modelName: your-openrouter-preset-or-alias # optional

providers:
  openrouter:
    apiKey: sk-or-v1-xxx

When using moonshotai/kimi-k2.5, route to OpenRouter's official moonshot provider. If routing falls back to other upstream providers, chain-of-thought and tool-calling can fail.

DeepSeek config example (recommended: deepseek-reasoner):

agents:
  defaults:
    provider: deepseek
    modelType: deepseek-reasoner

providers:
  deepseek:
    apiKey: sk-xxx
    # apiBase: https://api.deepseek.com # optional

Anthropic config example:

agents:
  defaults:
    provider: anthropic
    modelType: claude-opus-4-6 # or claude-sonnet-4-5

providers:
  anthropic:
    apiKey: sk-ant-xxx
    # apiBase: https://api.anthropic.com # optional

Moonshot CN (official) config example:

agents:
  defaults:
    provider: moonshot-cn
    modelType: kimi-k2.5

providers:
  moonshotCN:
    apiKey: sk-xxx
    # apiBase: https://api.moonshot.cn/v1 # optional

Moonshot Global (official) config example:

agents:
  defaults:
    provider: moonshot-global
    modelType: kimi-k2.5

providers:
  moonshotGlobal:
    apiKey: sk-xxx
    # apiBase: https://api.moonshot.ai/v1 # optional
  1. Start service:
./nagobot serve

Channels (serve)

# CLI (default)
./nagobot serve

# Enable Telegram
./nagobot serve --telegram

# Enable all configured channels
./nagobot serve --all

Telegram config example (token redacted):

channels:
  adminUserID: "1234567890" # Optional: open @userinfobot in Telegram, send /start, and paste your user ID here
  telegram:
    token: "1234567890:AA***************" # Open @BotFather in Telegram, run /newbot, and paste the generated token here
    allowedIds:
      - 1234567890 # Open @userinfobot in Telegram, send /start, and paste allowed user IDs here

About

A lightweight, Go-based AI assistant

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published