# nanobot-mind **Repository Path**: wikiness/nanobot-mind ## Basic Information - **Project Name**: nanobot-mind - **Description**: 基于https://github.com/HKUDS/nanobot 创建,使用iflow工具修改 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: feature/opencode-integration - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-27 - **Last Updated**: 2026-03-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Nanobot Mind 一个会进化的 AI 助手框架,支持多机器人管理和多渠道接入。 > 本项目基于 [nanobot](https://github.com/HKUDS/nanobot) 开发,在其基础上增加了多机器人管理、跨平台部署、OpenCode 集成等特性。 > > 本项目使用 [心流 (iFlow)](https://iflow.cn) AI 助手辅助开发。 ## 特性 - **多机器人管理** - 通过 `manage.py` 脚本注册、启动、停止多个独立机器人 - **跨平台支持** - Windows / Linux / macOS 全平台兼容 - **多渠道接入** - 支持飞书、钉钉、Telegram、Discord、Slack 等多种消息渠道 - **灵活配置** - 每个机器人独立配置、独立工作空间 - **技能系统** - 支持自定义技能扩展 - **OpenCode 集成** - 支持 OpenCode Server 后端,可在对话中切换模式 - **异步任务执行** - 支持后台异步执行 OpenCode 任务,不阻塞消息处理 - **渠道特定格式化** - 根据消息渠道自动适配输出格式(Markdown、HTML、mrkdwn 等) ## 目录结构 ``` nanobot-mind/ ├── manage.py # 机器人管理脚本 ├── bots.json # 机器人注册信息 ├── bots/ # 机器人目录 │ └── {name}/ # 每个机器人独立目录 │ ├── config.json # 机器人配置 │ └── workspace/ # 工作空间 ├── logs/ # 日志目录 ├── pids/ # PID 文件目录 └── nanobot-src/ # nanobot 源码 └── nanobot/ ├── backend/ # 后端处理器(Native、OpenCode) ├── agent/ # Agent 逻辑 ├── channels/ # 消息渠道 └── skills/ # 技能系统 ``` ## 快速开始 ### 环境要求 - Python 3.11+ - pip 或 conda ### 安装 ```bash # 克隆仓库 git clone https://gitee.com/wikiness/nanobot-mind.git cd nanobot-mind # 安装依赖 pip install -r nanobot-src/requirements.txt ``` ### 机器人管理 ```bash # 列出所有机器人 python manage.py list # 注册新机器人 python manage.py add mybot # 启动机器人 python manage.py start mybot # 停止机器人 python manage.py stop mybot # 重启机器人 python manage.py restart mybot # 查看状态 python manage.py status mybot # 移除机器人 python manage.py remove mybot ``` ### OpenCode Server 管理 ```bash # 启动 OpenCode Server python manage.py opencode start # 查看状态 python manage.py opencode status # 停止服务 python manage.py opencode stop # 重启服务 python manage.py opencode restart ``` ## 机器人配置说明 创建 `bots/{name}/config.json`: ```json { "agents": { "defaults": { "workspace": "workspace", "model": "openai/qwen/qwen3.5-397b-a17b" } }, "providers": { "openai": { "api_key": "YOUR_API_KEY", "api_base": "https://integrate.api.nvidia.com/v1" } }, "channels": { "feishu": { "enabled": true, "appId": "YOUR_APP_ID", "appSecret": "YOUR_APP_SECRET" } } } ``` ### Backend 配置 支持两种后端模式: ```json { "backend": { "type": "native", "opencode": { "server_url": "http://localhost:4096", "model": null, "agent": "build" } } } ``` | Backend | 说明 | |---------|------| | `native` | 使用 nanobot 内置 AgentLoop 处理消息 | | `opencode` | 转发消息到 OpenCode Server 处理 | ## 斜杠命令 机器人支持以下斜杠命令: | 命令 | 说明 | |------|------| | `/help` | 显示可用命令 | | `/stop` | 停止当前任务 | | `/new` | 开始新对话 | | `/status` | 显示会话状态 | | `/opencode` 或 `/oc` | 切换到 OpenCode 模式 | | `/native` 或 `/exit` | 退出 OpenCode 模式 | ### OpenCode 模式 在对话中可临时切换到 OpenCode 模式: ``` /oc D:/projects/myapp # 进入 OpenCode 模式 你好 # 消息转发到 OpenCode Server /native # 退出 OpenCode 模式 ``` ## 异步任务执行 机器人支持后台异步执行 OpenCode 任务,任务执行期间不会阻塞其他消息处理。 ### 使用方法 在对话中直接描述需要执行的任务: ``` 请使用 opencode 分析 D:/myproject 目录的代码结构 ``` 机器人会立即返回任务 ID,并在后台执行任务: ``` 任务已提交: aed2f994 工作目录: D:/myproject ``` 任务完成后,机器人会自动发送结果通知: ``` OpenCode 任务已完成。任务 ID: aed2f994 任务名称: 分析 D:/myproject 目录的代码结构 耗时: 2.5m --- [OpenCode 执行结果] ``` ### 查询任务状态 ``` 查询任务 aed2f994 的状态 ``` ### 任务特性 - **非阻塞** - 任务在后台执行,可同时处理其他消息 - **持久化** - 任务状态保存到本地,重启后仍可查询 - **多渠道适配** - 根据消息渠道自动格式化输出(飞书、钉钉、Telegram 等) - **无超时限制** - 长时间运行的任务不会超时 ## 致谢 本项目基于以下开源项目: - [nanobot](https://github.com/HKUDS/nanobot) - 轻量级个人 AI 助手框架 本项目使用 [心流 (iFlow)](https://iflow.cn) AI 助手辅助开发,特此致谢。 ## License MIT License