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这将:
- 使用热重载启动开发服务器
- 注意Go、Templ和CSS文件的变化
- 打开http://localhost:8080
Docker开发
# Start with hot reload
make docker-up-dev
# Or manually
docker-compose -f docker-compose.dev.yml upDocker生产
# Build and start production containers
make docker-up-prod
# Or manually
docker-compose up -d
# Stop containers
make docker-down访问应用程序http://localhost:8080
文档
许可证
麻省理工学院
