# OpenManus-go **Repository Path**: anxshare/OpenManus-go ## Basic Information - **Project Name**: OpenManus-go - **Description**: OpenManus-go 是 OpenManus 的 Go 语言重写版本。 通过ninego/class实现了继承及多态,原样克隆原Python版本的设计。 - **Primary Language**: Go - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-07 - **Last Updated**: 2025-11-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OpenManus-go OpenManus-go 是 OpenManus 的 Go 语言重写版本。 通过class实现了继承及多态,原样克隆原Python版本的设计。 ## 安装指南 ### 前置条件 - Go 1.18 或更高版本 - 配置 OpenAI API 密钥 ### 安装步骤 1. 克隆仓库:(先进入到%GOPATH%的src目录下) ```bash git clone https://github.com/axcom/ninego.git git clone https://github.com/axcom/openmanus-go.git cd openmanus-go ``` 2. 安装依赖: ```bash go mod tidy ``` 3. 配置 config.json: `config.json`文档格式示例如下: ``` { "llm": { "openai": { "api_type": "openai", "api_key": "<替换为你的 OpenAI API 密钥>", "api_version": "", "model": "<替换为你使用的模型名称(如:deepseek-r1)>", "base_url": "https://api.siliconflow.cn/v1", "gpt_options": { "max_tokens": 4096, "temperature": 0.7 }, "stream": false }, "local": { "api_type": "ollama", "api_key": "", "api_version": "", "model": "qwen2.5:1.5b", "base_url": "http://127.0.0.1:11434", "gpt_options": { "max_tokens": 2048, "temperature": 0.5 } } }, "mcp_config": { "servers": { "web-search": { "args": [ "/c", "node", "F:/golang/src/OpenManus-go/cmd/open-webSearch/build/index.js" ], "command": "cmd", "env": { "MODE": "stdio", "DEFAULT_SEARCH_ENGINE": "baidu", "ALLOWED_SEARCH_ENGINES": "baidu,bing,duckduckgo" } }, "filesystem": { "command": "./mcp-filesystem-server.exe", "args": [ ".", "/tmp" ] }, "weather": { "command": "cmd", "args": [ "/c", "node", "F:/golang/src/OpenManus-go/cmd/china-weather-mcp/build/index.js" ] } } } } ``` 可以使用-l参数指定你要使用的大模型配置名称(openai/local/其他...)。 "api_type": 模型类别,目前支持"openai","ollama" 2种。 "base_url": 你使用的大模型URL地址 - 对于ollama,末尾不用添加"/api/chat",调用时会自动添加; - 对于兼容openai格式的模型,末尾不为"/"时,调用时会自动添加"/chat/completions"。(如:"https://api.siliconflow.cn/v1") "api_key": 你申请到的 AI API 密钥。 "model": 你使用的模型名称(如:"deepseek-r1")。 "gpt_options": 可以补充一些大模型调用参数。 ## 使用示例 运行主程序: ```bash go run cmd/openmanus.go ``` 运行任务流: ```bash go run cmd/openmanus.go -m flow ``` ## 项目基础结构 - `cmd/`: 命令行入口 - `openmanus.go`: 主程序入口 - `agent/`: 智能体实现(ReAct、Manus 等) - `baseagent.go`: 智能体基类 - `reactagent.go`: 思考-行动智能体基类 - `toolcall.go`: 工具调用智能体(添加了MCP的支持) - `manus.go`: Manus智能体 - `llm.go` - `mcp.go` - `tool/`: 工具实现(文件操作、Shell、Python 执行等) - `basetool.go`: 工具基类 - `terminate.go`: 终止工具 - `ask_human.go`: 询问工具 - `tool_collection.go`: 工具集合 - `flow/`: 流程控制 - `flow.go`: 流程基类 - `factory.go`: 流程工厂 - `planning.go`: 规划流程 - `llm/`: LLM 客户端 - `provider.go`: LLM接口 - `history/` - `message.go`: 消息定义 - `memory.go` : 记忆系统 - `config/`: 配置管理 - `config.go` ## 功能特性 ### 命令行参数 -c string 加载指定的config配置文件 (default "config.json") -d string 日志文件记录 string: off(关闭)/debug/info/warn/error (default "off") -l string 选用LLM大模型配置名称(定义在llm下) (default "openai") -m string 运行模式: flow 或 mcp (default "mcp") ## 贡献指南 欢迎提交 Issue 或 Pull Request! ## 感谢 [OpenManus](https://github.com/FoundationAgents/OpenManus) [openmanus-go](https://github.com/HildaM/openmanus-go)