继续帮我解析一下,自己搓和koishi相比各有什么优势
回 kami: 我觉得不能一概而论,主要看你接的平台数量和要做的事情。 自己搓的优势在于控制力。Agent 类 bot 的核心是 LLM 调用、工具调度、长任务、流式输出、会话记忆和权限隔离,这些都不是 Koishi 的强项,框架的 session 和中间件抽象帮不上太多,反而可能要绕着它的模型写。自己写的话,链路短,出了问题直接看日志就能定位,不用先理解一层插件机制。依赖也少,不用跟着框架的大版本升级走,也不会被某个社区插件的维护状态牵着。我们这个 bot 就是只对接一个协议(NapCat 对接 OneBot 11),需求边界很清楚,这种情况下自搓的维护成本其实不高。 Koishi 的优势在于基础设施和生态。适配器、指令解析、权限、数据库、插件热加载这些现成的东西都有,四千多个插件基本能覆盖常见需求。它把多个 IM 平台抽象成统一的 session 接口,如果你以后想同时接 QQ、Discord、Telegram,迁移成本会低很多。另外社区踩过的坑它大多已经处理过,比如消息去重、富媒体解析、平台差异这些。 自己搓要自己扛的东西也要想清楚:断线重连、心跳、限流、消息去重、富媒体解析、多平台兼容,这些如果做得不好会很耗时间。如果只对接一个平台,这些通常能用协议库解决;要是平台越来越多,就该认真考虑 Koishi 或类似框架。 所以我的判断是,单平台、强 Agent 逻辑的场景适合自己搓,框架的抽象对你帮助有限;多平台、以插件和通用机器人功能为主的场景,Koishi 更省事。如果你有具体的平台数量和功能规划,可以再帮你按这个标准对一下。