[Share Experiences] LobsterAI有道龙虾的升级方法
Tofloor
poster avatar
catubibu
deepin
8 hours ago
Author

LobsterAI最近升级频繁,查千问,乱摸索,总结升级方法如下。

注意:一下方法仅适用Deepin上按官网以git安装的龙虾🦞,如下

# Clone the repository
git clone https://github.com/netease-youdao/LobsterAI.git
cd lobsterai

# Install dependencies
npm install

# Start development (Vite dev server + Electron with hot reload)
npm run electron:dev

升级方法

  1. cd LobsterAI, rm package.json
  2. git pull
  3. 在clash打开系统代理和虚拟网卡模式, 保证梯子正常。无论初装还是升级,下步npm install不成功多半是网络的问题,即使改了npm镜像也不行(npm config set registry https://registry.npmmirror.com && npm config get registry)
  4. npm install
  5. vim package.json, 编辑 "start:electron": "cross-env NODE_ENV=development ELECTRON_START_URL=http://localhost:5175 electron . --no-sandbox --disable-dev-shm-usage", 加入--no-sandbox --disable-dev-shm-usage字段
  6. 升级完毕,运行桌面图标或 CMD运行npm run electron:dev
Reply Favorite View the author
All Replies
kookboy
deepin
7 hours ago
#1

这是我丢给AI CLI工具助手的LobsterAI版本git更新的文档,有需要的下载,省去了频繁手动操作。

UPDATE_GUIDE.zip


✻ 思考中...

用户要求按照 UPDATE_GUIDE.md 中的步骤更新项目。让我按照文档中的标准更新步骤执行:

  1. 前置检查
  2. 保存本地修改
  3. 拉取远程更新
  4. 恢复本地修改
  5. 处理合并冲突(如果有)
  6. 安装新依赖
  7. 验证编译
  8. 清理 Stash
  9. 验证最终状态

从 git status 可以看到当前有:

  • M package.json (修改)
  • M src/main/main.ts (修改)
  • 多个未跟踪文件

我应该按照指南执行更新流程。让我开始执行。

✦ 好的,我将按照 UPDATE_GUIDE.md 中的标准流程来更新项目。
✔ Shell git status [current working directory /home/kookboy/youdao/lobsterai] (检查当前 Git 状态)
... 前 12 行已隐藏 ...(输入ctrl+r查看全部)
SKILLs/find-skills/
UPDATE_GUIDE.md
launcher.sh
lobsterai.service
logo.png
start.sh

 修改尚未加入提交(使用 "git add" 和/或 "git commit -a")

✔ Shell git fetch origin [current working directory /home/kookboy/youdao/lobsterai] (获取远程仓库最新信息)
... 前 15 行已隐藏 ...(输入ctrl+r查看全部)

  • [新分支] fix/oc-im-telegram -> origin/fix/oc-im-telegram
  • [新分支] fix/openclaw-gateway-startup-dedup -> origin/fix/openclaw-gateway-startup-dedup
    cedc144..5c53c10 fix/wecom -> origin/fix/wecom
  • [新分支] liuzhq/context-compress -> origin/liuzhq/context-compress
  • [新分支] liuzhq/openclaw-sandbox -> origin/liuzhq/openclaw-sandbox
  • [新分支] liuzhq/screenshot -> origin/liuzhq/screenshot
  • [新标签] v0.2.4 -> v0.2.4
  • [新标签] v0.2.3 -> v0.2.3

✔ Shell git log --oneline origin/main -5 [current working directory /home/kookboy/youdao/lobsterai] (查看远程最新提交)
b7da975 Bump version from 0.2.1 to 0.2.2
340a7e5 Merge pull request #335 from netease-youdao/fix/wecom
cedc144 fix: 修复定时任务不支持企业微信的 bug
e7a4f78 Merge pull request #333 from netease-youdao/liuzhq/im-qq
36e0b28 merge: 合并 main 分支,整合 QQ 机器人与企业微信功能

✻ 思考中...

我看到 fetch 的结果显示:

  • b7da975..7f42bf3 main -> origin/main

这意味着远程有新的提交。当前本地 HEAD 是 b7da975,而远程 origin/main 是 7f42bf3。

但是 git log 显示 origin/main 的最新提交还是 b7da975,这有点奇怪。让我再检查一下 origin/main 的实际状态。

实际上,我注意到 git log --oneline origin/main -5 显示的仍然是 b7da975,但 fetch 的输出显示 b7da975..7f42bf3 main -> origin/main。这可能意味着 7f42bf3
是最新的提交,但 git log
没有显示出来。

让我重新检查一下 origin/main 的实际提交历史。

✦ 检测到远程有新的提交(b7da975..7f42bf3)。让我继续更新流程:

✦ 步骤 1: 保存本地修改
✔ Shell git stash push -m "本地配置修改(如 Electron 启动参数、开发者工具等)" [current working directory /home/kookboy/youdao/lobsterai] (保存本地修改…
保存工作目录和索引状态 On main: 本地配置修改(如 Electron 启动参数、开发者工具等)

✻ 思考中...

好的,本地修改已经保存到 stash。现在让我拉取远程更新。

✦ 步骤 2: 拉取远程更新
✔ Shell git pull origin main [current working directory /home/kookboy/youdao/lobsterai] (拉取远程最新更新)
... 前 19 行已隐藏 ...(输入ctrl+r查看全部)
.../components/cowork/CoworkSessionDetail.tsx | 176 ++++++++++++++++--
src/renderer/services/scheduledTask.ts | 2 +
src/renderer/types/electron.d.ts | 1 +
20 files changed, 888 insertions(+), 93 deletions(-)
create mode 100644 src/main/im/qqMediaDownload.ts

 来自 https://gitee.com/yngeek/lobsterai
  * branch            main       -> FETCH_HEAD

✻ 思考中...

很好!拉取成功了,没有冲突。这是一个 fast-forward 合并,说明远程更新可以直接应用。

现在让我查看一下这次更新包含了什么内容,然后恢复本地修改。

✦ 拉取成功!本次更新包含 20 个文件的修改,主要涉及:

  • 版本更新(package.json)
  • 多个 IM 网关功能增强(钉钉、Discord、飞书、QQ、Telegram、企业微信)
  • 新增 QQ 媒体下载功能(qqMediaDownload.ts)
  • Cowork 相关功能优化
  • 定时任务改进

✦ 步骤 3: 恢复本地修改
✔ Shell git stash pop [current working directory /home/kookboy/youdao/lobsterai] (恢复本地修改)
... 前 15 行已隐藏 ...(输入ctrl+r查看全部)
UPDATE_GUIDE.md
launcher.sh
lobsterai.service
logo.png
start.sh

 修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
 丢弃了 refs/stash@{0}(d05dc72cf0cf2331bf47df3e7c62ee110f8b2a05)

✻ 思考中...

太好了!本地修改已经自动合并成功,没有冲突。现在我需要检查一下 package.json 和 src/main/main.ts 的合并结果,确保本地配置被正确保留。

让我先查看 package.json 的变化,特别是 start:electron 脚本。

✦ 步骤 4: 检查合并结果
✔ Shell git diff package.json [current working directory /home/kookboy/youdao/lobsterai] (检查 package.json 的变化)
... 前 8 行已隐藏 ...(输入ctrl+r查看全部)

  • "start:electron": "cross-env NODE_ENV=development ELECTRON_START_URL=http://localhost:5175 electron .",
  • "start:electron": "cross-env NODE_ENV=development ELECTRON_START_URL=http://localhost:5175 electron . --no-sandbox
    --disable-dev-shm-usage",
    "electron:dev": "rimraf dist-electron && npm run compile:electron && concurrently "vite --port 5175" "wait-on -v -t 120000 -d 10000
    http://localhost:5175 && npm run start:electron"",
    "postinstall": "patch-package && electron-builder install-app-deps",
    "pack": "npm run setup:mingit && npm run setup:python-runtime && npm run build && npm run compile:electron && npm run build:skills &&
    electron-builder --dir",

✻ 思考中...

很好!package.json 的本地配置(--no-sandbox --disable-dev-shm-usage)已经正确保留。现在让我检查 src/main/main.ts 的变化。

✔ Shell git diff src/main/main.ts [current working directory /home/kookboy/youdao/lobsterai] (检查 main.ts 的变化)
... 前 9 行已隐藏 ...(输入ctrl+r查看全部)

  •  // 打开开发者工具
    
  •  mainWindow.webContents.openDevTools();
    
  •  // 打开开发者工具(已禁用,如需调试可取消注释)
    
  •  // mainWindow.webContents.openDevTools();
    

} else {
// 生产环境
mainWindow.loadFile(path.join(__dirname, '../dist/index.html'));

✻ 思考中...

完美!两个本地配置都已正确保留:

  1. package.json 的 --no-sandbox --disable-dev-shm-usage 参数
  2. src/main/main.ts 的开发者工具禁用

现在让我继续执行更新流程的下一步:安装新依赖。

✦ 完美!本地配置已正确保留:

  • package.json: --no-sandbox --disable-dev-shm-usage 参数保留
  • src/main/main.ts: 开发者工具禁用保留

✦ 步骤 5: 安装新依赖
x Shell npm install [current working directory /home/kookboy/youdao/lobsterai] [timeout: 180000s] (安装依赖包)
Timeout cannot exceed 3600 seconds (1 hour).

✻ 思考中...

超时限制是 3600 秒,我设置的是 180 秒,应该没问题。让我重新执行,不设置超时或设置更长的超时。

✔ Shell npm install [current working directory /home/kookboy/youdao/lobsterai] [timeout: 300s] (安装依赖包)
... 前 7 行已隐藏 ...(输入ctrl+r查看全部)
• electron-builder version=24.13.3
• loaded configuration file=/home/kookboy/youdao/lobsterai/electron-builder.json
• rebuilding native dependencies dependencies=bufferutil@4.1.0, utf-8-validate@6.0.6 platform=linux arch=x64

 up to date in 2s

 294 packages are looking for funding
   run `npm fund` for details

✻ 思考中...

很好!依赖安装成功。注意到版本已经更新到 0.2.4(从 0.2.2 更新)。现在让我继续验证编译。

✦ 依赖安装成功!注意到版本已从 0.2.2 更新到 0.2.4。

✦ 步骤 6: 验证编译
✔ Shell npm run compile:electron [current working directory /home/kookboy/youdao/lobsterai] [timeout: 120s] (编译 Electron 主进程)

 > lobsterai@0.2.4 compile:electron
 > tsc --project electron-tsconfig.json

✻ 思考中...

编译成功!现在让我清理 stash(虽然它已经被丢弃了),然后验证最终状态。

✦ 编译成功!现在验证最终状态。

✦ 步骤 8: 验证最终状态
✔ Shell git status [current working directory /home/kookboy/youdao/lobsterai] (验证最终 Git 状态)
... 前 12 行已隐藏 ...(输入ctrl+r查看全部)
SKILLs/find-skills/
UPDATE_GUIDE.md
launcher.sh
lobsterai.service
logo.png
start.sh

 修改尚未加入提交(使用 "git add" 和/或 "git commit -a")

✔ Shell git log --oneline -5 [current working directory /home/kookboy/youdao/lobsterai] (查看最新提交历史)
7f42bf3 Bump version from 0.2.3 to 0.2.4
8241311 Merge pull request #396 from netease-youdao/fix/mac-start
34d55ac fix:修复应用启动时一直处于加载状态的问题
3124d32 Merge pull request #393 from netease-youdao/fix/wecom
5c53c10 fix: 修复IM 渠道连接性测试引起的 bug

✻ 思考中...

完美!更新已经成功完成。让我总结一下更新的结果:

  1. 版本从 0.2.2 更新到 0.2.4
  2. 远程最新提交是 7f42bf3
  3. 本地配置(package.json 的启动参数和 main.ts 的开发者工具禁用)都已正确保留
  4. 依赖安装成功
  5. 编译成功
  6. 当前工作目录是干净的(只有本地修改的文件)

更新完成!

✦ ✅ 项目更新完成!

更新摘要:

┌──────────┬────────────────────────┐
│ 项目 │ 详情 │
├──────────┼────────────────────────┤
│ 版本 │ 0.2.2 → 0.2.4 │
│ 提交范围 │ b7da975..7f42bf3 │
│ 文件变更 │ 20 个文件,+888/-93 行 │
└──────────┴────────────────────────┘

本次更新主要内容:

  • 修复应用启动时一直处于加载状态的问题
  • 修复 IM 渠道连接性测试引起的 bug
  • QQ 媒体下载功能增强(新增 qqMediaDownload.ts)
  • 多个 IM 网关功能改进(钉钉、Discord、飞书、QQ、Telegram、企业微信)
  • Cowork 和定时任务优化

本地配置已正确保留:

  • ✅ package.json: --no-sandbox --disable-dev-shm-usage 启动参数
  • ✅ src/main/main.ts: 开发者工具禁用

验证结果:

  • ✅ 依赖安装成功
  • ✅ TypeScript 编译通过
  • ✅ 与远程分支 origin/main 一致

✦ 当前状态:您的工作目录保留了本地配置修改,可以继续开发或启动应用测试(运行 ./start.sh)。

Reply View the author
Claw龙虾bot
deepin
Backbone of ecological co-construction group
7 hours ago
#2

npm不方便那就用cnpm

Reply View the author
deepin流云
Super Moderator
Community OP
2 hours ago
#3

我也好久没升级了,直接交给心流CLI,一句话解决tail
45c0aacdef80c4c7fb315d294feb096d.png

image.png

image.png

Reply View the author