Skip to content

LangManus:从入坑到“跑路”的奇妙旅程

一、奇幻开场:下载遇“巨坑”

最近网上到处都在传,国内某大厂搞出了个Manus的复刻版,还特别大方地开源了。我当时就想,大厂出手,那肯定得有点真本事吧,于是兴致勃勃地打算下载下来瞧一瞧,感受感受这“大厂出品”的魅力。

谁能想到,这一下载,直接给我来了个“下马威”,差点就把我这好奇心给“拍死”在起跑线上。克隆项目的时候,进度条就像被施了定身咒一样,死活卡在20%左右不动弹。我一开始还以为是自家网络抽风了,赶紧各种折腾,什么重启路由器、切换网络模式,能试的招儿都试了,结果它还是稳如泰山地卡在那儿。我一咬牙,心说行,我等,看你啥时候能给我动起来,就让这“子弹”飞一会儿。嘿,您猜怎么着,最后一看,整个项目居然有157.5M!我当时就震惊了,这项目里到底装了啥宝贝,能这么大?

项目克隆进度截图

我这好奇心就像被点了火,根本压不下去。跑去查历史提交记录,好家伙,原来是作者之前把一个演示视频直接扔代码仓库里提交了,后来估计发现太大不对劲,又给删了重新压缩。

历史提交记录截图

我又不死心地去翻本地的.git文件夹,还真发现了一个157M的大文件。一般来说,.git/objects/pack文件这么大,大概率是开发的时候有人上传了超大文件,虽然现在删了,但是git记录里还死死地留着它的“影子”。这下真相大白了,所以各位后来的朋友,听我一句劝,直接下压缩包吧,别像我一样在这儿浪费时间。

本地.git文件夹相关截图


Five years later 。。。

好在最后我还是成功把代码克隆下来了,文件大就大吧,只要后面能好用,那也值了。然后就准备按照官方步骤,在我的Windows11系统上大干一场。

二、安装配置:步步“惊心”

环境准备

先安装node 20+和python3.12 ,至于具体怎么装,嘿嘿,我直接跟大家说,问AI就对了。

UV安装

bash
# 第一种直接安装方式
# uv安装,官网:https://docs.astral.sh/uv/#installation
# 在poweshell终端执行以下命令
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

# 第二种安装方式
pip install uv

安装完了,还得在C:\Users\你的用户名\AppData\Roaming\uv路径下配置国内源。

uv配置国内源路径截图

uv.toml文件里就写这么一句:

index-url="https://mirrors.aliyun.com/pypi/simple"

项目编译

bash
# 安装依赖
uv sync

# Playwright install to use Chromium for browser-use by default
uv run playwright install

配置模型、密钥等资源

这里可得注意了,千万别乱改模型和服务商,咱就老老实实地照着官方例子来。复制.env.example并重命名为.env,我一开始不信邪,把服务换成了硅基流动,结果项目直接给我“罢工”了,根本跑不起来。没办法,又灰溜溜地换回官方配置。具体配置长这样:

# LLM Environment variables

# 推理LLM配置(用于复杂推理任务)
REASONING_MODEL=deepseek-r1
REASONING_API_KEY=sk-密钥
REASONING_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1

# 基础LLM配置(用于简单任务)
BASIC_MODEL=qwen-max-latest
BASIC_API_KEY=sk-密钥
BASIC_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1

# 视觉语言LLM配置(用于涉及图像的任务)
VL_MODEL=qwen2.5-vl-72b-instruct
VL_API_KEY=sk-密钥
VL_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1

# 工具API密钥
TAVILY_API_KEY=tvly-密钥

# Application Settings
DEBUG=True
APP_ENV=development

# turn off for collecting anonymous usage information
ANONYMIZED_TELEMETRY=false

要用到的密钥注册地址也给大家列出来: 阿里百炼:https://www.aliyun.com/product/bailian Tavily:https://tavily.com/

运行项目

在终端输上这命令:

bash
uv run main.py

然后就紧张地盯着屏幕,生怕又出啥幺蛾子。还好,最后出现了成功的界面,那一刻,感觉自己就像驯服了一头小野兽,有点小得意。

项目运行成功截图

三、前端项目:“简单”的折腾

LangManus还挺贴心,弄了个前端项目,地址:https://github.com/langmanus/langmanus-web

配置环境文件

复制.env.example并重命名为.env,这里面内容不用改,就留这么一条:

bat
NEXT_PUBLIC_API_URL=http://localhost:8000/api

编译并运行代码

bat
# 安装依赖
npm install

# 运行前端项目
npm run dev

前端项目运行截图1 然后还得在langmanus文件夹下运行后端项目:

bat
uv run server.py

前端项目运行截图2 看到这界面,心里的大石头才算是落了地,项目总算是跑起来了。

四、测试演练:希望与失望的“碰撞”

界面展示

打开http://localhost:3000/ ,看到界面的那一刻,我还心想,嘿,这颜值还挺高,有点“秀外慧中”那意思。

测试界面截图

功能测试

我就想试试它的本事,问了个经典问题:“统计豆瓣TOP10的电影名称” 。一开始它运行的样子,那动画效果,还挺酷炫。

测试过程动画截图

结果呢,看到答案我就傻眼了。LangManus给的结果,每次运行还都不一样,就好像它在跟我玩“猜谜语”,我都怀疑它是不是故意在逗我。

LangManus测试结果截图

再看看我自己查的结果,简直是天壤之别。

自行查询结果截图

鹅。。。,可能是我问的不够详细,统计维度不一样吧。不过说真的,这项目在模型兼容方面感觉确实有点问题,社区也没OpenManus那么热闹。只能说,希望它能加把劲,下一个版本能让我们眼前一亮。

关注我,了解更多AI黑科技