多代理聊天机器人

基于GOTH技术栈(Go + HTMX + Templ + Tailwind)构建的代理式聊天机器人,具备多代理工作流、工具调用、内存管理和MCP集成等功能,适用于本地LLM推理、代码执行和智能对话管理。

  • by bkataru
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 bkataru/goth-agentic-chat

使用说明

GOTH代理聊天机器人

一个使用GOTH栈(Go+HTMX+Templ+Tailwind)构建的代理聊天机器人,具有多代理工作流、工具调用、内存管理和MCP集成功能。

特性

  • 本地LLM推理:由Ollama提供隐私和离线功能
  • 多代理系统:不同任务(研究、编码、分析等)的专业代理
  • 动态工具调用:内置工具+可扩展的MCP服务器集成
  • 智能内存管理:自动上下文压缩和摘要
  • 实时流媒体:基于SSE的流媒体,用于响应式UI
  • 代码执行:基于沙盒WASM的代码执行
  • 会话管理:分支、搜索、导出和模型切换
  • 安全:速率限制、输入验证、沙盒

技术栈

  • 后端:使用1.23+ net/http
  • 数据库:Badger v4(嵌入式键值存储)
  • LLM:Ollama(局部推理)
  • 前端:Templ+HTMX+顺风CSS
  • 流媒体:SSE(主)+WebSockets
  • 代码执行:Wazero(WebAssembly运行时)
  • 搜索:DuckDuckGo+SearXNG
  • 动态工具:模型上下文协议(MCP)Go SDK

快速开始

先决条件

  • 转到1.23+
  • Ollama已安装并正在运行
  • Node.js(用于Tailwind CSS)

发展

make dev

这将:

  1. 使用热重载启动开发服务器
  2. 注意Go、Templ和CSS文件的变化
  3. 打开http://localhost:8080

Docker开发

# Start with hot reload
make docker-up-dev

# Or manually
docker-compose -f docker-compose.dev.yml up

Docker生产

# Build and start production containers
make docker-up-prod

# Or manually
docker-compose up -d

# Stop containers
make docker-down

访问应用程序http://localhost:8080

文档

许可证

麻省理工学院