来介绍个源码阅读理解神器-deepwiki
上次简单介绍了openmanus的使用,但是它究竟是怎么个原理还是一知半解的,如果想要能比较深入的理解,最直接粗暴的就是阅读源码了,然而对于很多人包括我来说阅读源码不是件简单的事情,有时候会陷入局部细节,不得要领
正好这次我发现了有个理解项目的神器,这次不加双引号是因为这个真的好
比如我们就拿openmanus举例,首先python的语法就没那么熟,以及对整体结构的理解
那么我们就可以打开 openmanus 的仓库地址https://github.com/mannaandpoem/OpenManus
然后把 github 替换成 deepwiki,
页面变成了这样
左边是结构大纲,中间我们可以看到项目的主体介绍,包括有核心的架构图,agent的继承关系,tool的生态系统,LLM的集成
这里就展示了核心架构,通过这个方式我们如果想对一个项目有个初始的认识,就变得非常简单,因为很多项目的当前的代码都是非常复杂的,没有足够的时间精力是没办法一下子学习到项目的整体结构,因为除非我们是要真正投入到一个项目的开发贡献中,我们大概率都是从了解整体的概况,再分模块的去学习,而这个正是这个deepwiki做得非常牛的地方,相当于给每个项目都加了一个更详细具体的wiki,更牛的还有我们可以通过对话的形式进行提问题,比如我们想自己开发个工具,让openmanus集成进去进行调用
它就给出了一个非常详尽的回答,
首先
- 创建自定义工具类,创建一个基于
BaseTool
的新工具类 - 将工具添加到Manus代理,修改
Manus
类的available_tools
定义,将您的工具添加到默认工具列表 - 使用MCP协议集成远程工具(可选)
- 工具执行流程
一旦您的工具被集成,Manus代理会在执行过程中使用它:
- 代理的think()方法会向LLM发送请求,包含所有可用工具的信息
- LLM会决定使用哪个工具(包括您的Excel工具)
- 代理的act()方法会执行工具调用
- 您的工具的execute()方法会被调用,执行Excel函数并返回结果
- 结果会被添加到代理的记忆中,用于后续决策
这样子就让一个项目的理解跟上手变得非常简单,甚至比如我们想要参与这个项目的开源贡献,也能借助这个 deepwiki 来让我们能快速上手。
如果对这个结果不满意还可以开启deep research,能让大模型通过深度思考来给出更加合理的答案,这个deepwiki是目前为止我觉得大模型对程序员最有效的一个工具了。