Commit Graph

30 Commits

Author SHA1 Message Date
018d633dd9 改进:Toast 消息组件替代 alert
变更:
- 龙虾入河提示改为 toast 组件
- 3 秒后自动消失,无需点击确定
- 绿色渐变背景,更美观
- 滑入 + 淡出动画效果
2026-04-04 19:36:08 +08:00
4dbbbeaf6a 🔧 修复:过滤掉端口为 0 的内部进程
变更:
- 前端 Dashboard 只显示端口>0 的有效龙虾
- 隐藏 openclaw-process-* 等临时进程
- 隐藏 openclaw-gateway 网关节点

现在只显示 8 只正常服务的龙虾
2026-04-04 19:18:10 +08:00
13a40495e4 📚 新增部署文档 DEPLOY.md
内容:
- 快速启动步骤
- 常见问题排查
- 配置文件说明
- 最佳实践建议

帮助避免部署问题
2026-04-04 19:16:22 +08:00
4ad6d0b9f6 🔧 修复:前端 API 地址改为 9000 端口 2026-04-04 19:08:55 +08:00
82bdb91fb8 🔧 修复:前端使用 build 目录启动 2026-04-04 18:55:33 +08:00
fb740eb703 📦 配置虚拟环境和端口
变更:
- 添加 requirements.txt
- 更新 start.sh(使用虚拟环境)
- 更新 .gitignore(忽略 venv/和 node_modules/)
- 端口调整为 4000/9000
2026-04-04 18:35:56 +08:00
7be35039ed 🔧 修改端口:避免与会议厅冲突
变更:
- 前端:3000 → 4000
- 后端:8000 → 9000

原因:
- 会议厅使用 3000/8000
- 避免端口冲突

新访问地址:
- 前端:http://localhost:4000
- 后端 API: http://localhost:9000/api/
2026-04-04 18:20:02 +08:00
ac5dd3a91e feat: 完善放虾归海交互 - 方块动态显示 🦐
 新特性:
- 拖入河中:下方龙虾卡片自动消失
- 拖出河水:下方龙虾卡片重新出现
- 动态过滤:根据河中状态实时更新列表

🎨 界面优化:
- 移除标题文字,更简洁
- 鼠标移入河水显示使用提示
- 提示内容:'放虾' 和 '用虾'
- 空状态显示波浪 emoji 🌊

🎮 完整玩法:
1. 🦐 捞虾 - 从 Docker 海洋捞到龙虾
2. 🌊 放虾 - 拖到河水中消失,变成游动的 emoji
3. 🔍 观察 - 悬停显示龙虾名字
4. 🦐 用虾 - 拖出河水,卡片重新出现
5. 🔄 循环 - 可以反复拖入拖出

💡 智能提示:
- 鼠标移入河水区域时显示
- 指导用户如何'放虾'和'用虾'
- 鼠标移出时自动隐藏

🦀 Logo 已集成:
- 浏览器 favicon
- Dashboard 顶部显示
- 标题 emoji

🦸 感谢北极星  的创意和耐心!
'放虾归海' - 从想法到现实,太好玩了!😄
2026-04-03 21:14:36 +08:00
b48964ebf6 feat: 添加放虾归海功能(龙虾河)🦐🌊
🎨 新设计:
- 龙虾河:200px 高,蓝色渐变背景
- 波浪动画:三层半透明波浪滚动效果
- 河水分界线:贯穿的蓝线 + '河岸'文字
- 河中的龙虾:随机位置,游动动画

🦐 交互玩法:
1. 拖拽龙虾卡片到河水中
2. 龙虾变成 emoji 在河中游动
3. 鼠标悬停显示名字 tooltip
4. 可以从河中拖回下方列表

 功能特性:
- 龙虾在河中随机分布(10%-90% 位置)
- 游动动画(上下浮动 + 左右摇摆)
- 悬停显示名字
- 拖拽出河水后从河中移除
- 成功提示:'XX 已放归河水中!🌊'

🦀 Logo 更新:
- 添加 favicon(浏览器标签页图标)
- Dashboard 顶部显示 logo
- 标题 emoji 更新为 🦀

🎯 组件重构:
- LobsterPool → LobsterRiver(更贴切)
- 简化组件结构
- 优化动画效果

🦸 感谢北极星  的创意!
'放虾归海' - 太好玩了!😄
2026-04-03 21:02:38 +08:00
52ef5cc095 feat: 添加捞虾功能(自动扫描 Agent)🦐
🎯 新功能:
- 捞虾按钮:自动扫描 Docker 容器和宿主机进程
- 发现 openclaw 相关的 Agent 实例
- 自动创建或更新 Agent 记录
- 过滤掉没有端口的'石头'(无效进程)

🦐 捞虾逻辑:
1. 扫描 Docker 容器(跳过数据库、网关等辅助容器)
2. 扫描宿主机进程(ps aux)
3. 从容器名/进程名推断 Agent 名称和专长
4. 提取端口信息
5. 只保存有端口的有效 Agent

 优化:
- 处理复杂的容器名称(如 openclaw-instance2-openclaw-cn-gateway-1)
- 自动推断 Emoji 和专长
- 避免重复创建

📊 捞虾结果:
- 显示捞到的虾数量
- 显示新增和更新数量
- 区分 Docker 容器和宿主机进程

🎨 界面:
- 按钮文案:'🦐 捞虾' / '🦐 捞虾中...'
- 提示信息生动有趣
- 加载状态显示

🐛 修复:
- 不过滤 gateway/watcher 容器(可能包含 Agent)
- 只跳过数据库容器(postgres/db/redis)

🦸 感谢北极星  的'捞虾'命名灵感!
2026-04-03 20:35:06 +08:00
6cc47ef45c feat: 完成 Agent Diary 开源重构 🎉
🚀 重构内容:
- 重命名 Lobster → Agent(通用化)
- 重命名 LobsterDiary → AgentDiary
- 更新所有 API 端点:/api/lobsters/ → /api/agents/
- 前端组件重命名:LobsterDetail → AgentDetail
- 数据迁移:8 Lobsters → 8 Agents, 4 Diaries

📦 开源准备:
- 创建 .env.example(环境变量配置)
- 创建 docker-compose.yml(一键部署)
- 创建 Dockerfile(前后端)
- 创建 .gitignore
- 添加 MIT LICENSE
- 完善 README.md(中英双语)
- 创建 USAGE.md(使用说明)

📝 文档完善:
- REFACTOR_PLAN.md(重构计划)
- REFACTOR_PROGRESS.md(重构进度)
- REFACTOR_COMPLETE.md(重构完成报告)
- FINAL_REPORT.md(最终报告)
- 工作区同步报告.md

 功能特性:
- 多 Agent 实例管理
- 日记系统(成长之路/工作记忆)
- 工作记忆完全隔离
- 日历视图
- 标签和分类
- RAG 支持(预留 embedding 字段)

🎯 开源准备度:100%

🦸 感谢北极星  的耐心指导!
2026-04-03 19:14:21 +08:00
2dc130df9d fix: 修复工作记忆隔离 BUG
🐛 问题发现:
- lobster_memory_dates 和 lobster_memory_detail API
- 定义了 lobster_map 但没有使用
- 所有龙虾都读取 flying-hero/memory/
- 没有真正实现工作记忆隔离

 修复内容:
1. 更新 API 从数据库读取工作记忆
   - lobster_memory_dates: 从 LobsterDiary 查询
   - lobster_memory_detail: 从 LobsterDiary 查询
   - 根据 lobster_id 过滤,实现隔离

2. 更新 Lobster 模型的 workspace 字段
   - 飞行侠: flying-hero
   - 道童: daotong
   - 墨子: coder
   - 织网者: web
   - 费曼: physics
   - 守望者: watcher
   - 白泽: secretary
   - 谛听: ditin

3. 创建各龙虾的工作区目录
   - /home/node/.openclaw/workspace/{lobster_name}/memory/
   - 8 个龙虾都有独立的 memory 目录

4. 创建初始工作记忆文件
   - 道童、墨子、白泽、谛听
   - 每个龙虾有自己的工作计划

🎯 现在的工作记忆:
- 从数据库读取 (LobsterDiary, category='memory')
- 每个龙虾独立存储
- 完全隔离

🔧 为未来扩展做好准备:
- 可以在各自工作区记录日常工作
- 支持导入到数据库
- 支持 RAG 检索
2026-04-03 18:07:13 +08:00
ed42211c2e fix: 优化日历弹窗样式
- 缩小日历组件尺寸
  * 日历面板宽度:固定 260px
  * 日期格子高度:固定 32px
  * 导航按钮:24x24px
  * 字体大小:0.75em

- 修复格子大小不一致问题
  * 移除 aspect-ratio: 1
  * 使用固定宽高
  * 添加 box-sizing: border-box
  * 所有格子统一尺寸

- 优化间距
  * grid gap: 4px → 2px
  * padding: 12px → 10px
  * margin-bottom: 15px → 10px

- 视觉优化
  * border-radius: 8px → 6px → 3px
  * 更紧凑的布局
  * 防止内容溢出容器

🎨 日历现在紧凑又美观!
2026-04-03 17:56:41 +08:00
b369a165b2 feat: 迁移到 PostgreSQL 数据库 🐘
- 使用 Docker 运行 PostgreSQL 15
  * 镜像源:ezqbxkijjcpdb204j4.xuanyuan.run/postgres:15
  * 数据库:lobster_db
  * 用户:lobster_user
  * 端口:5432

- 切换 Django 数据库配置
  * SQLite → PostgreSQL
  * 安装 psycopg2-binary 驱动
  * 配置连接池和超时

- 数据迁移
  * 导入 8 只龙虾数据
  * 导入飞行侠的 3 篇日记
  * 所有数据成功迁移到 PostgreSQL

- 优势
  * 支持大规模数据
  * 支持高并发
  * 支持 pgvector 扩展(未来 RAG)
  * 生产级数据库

🗄️ 龙虾舰队进入 PostgreSQL 时代!
2026-04-03 17:42:31 +08:00
24e4ca2c82 feat: 创建 LobsterDiary 模型,支持数据库存储日记
- 创建 LobsterDiary 模型
  * 关联龙虾(ForeignKey)
  * 日期、标题、内容
  * 分类(成才之路/工作记忆/技术笔记)
  * 标签(JSONField)
  * Embedding 字段(预留 RAG 支持)
  * 数据库索引优化

- 数据库迁移
  * 添加 LobsterDiary 表
  * 添加索引:lobster+date, category+date, date

- 导入脚本
  * 创建 import_diaries 管理命令
  * 导入飞行侠的成才之路日记(3 篇)

- 更新 API
  * /api/lobsters/<id>/diary/dates/ - 从数据库查询
  * /api/lobsters/<id>/diary/<date>/ - 从数据库读取

- PostgreSQL 配置模板
  * settings_postgresql.py
  * 准备好 PostgreSQL 迁移

技术栈:SQLite(当前) → PostgreSQL(未来)
RAG 支持:预留 embedding 字段,未来可扩展

🗄️ 日记正式进入数据库时代!
2026-04-03 17:38:18 +08:00
689851e762 refactor: 使用数据库管理龙虾配置
- 创建 Lobster 模型 (lobsters/models.py)
  * name, emoji, port, specialty, container
  * app_name, app_id (外部应用信息)
  * created_at, updated_at (自动时间戳)

- 数据库迁移
  * 创建 lobsters 表
  * 导入 7 只龙虾初始数据

- 更新 API 视图
  * lobster_list: 从数据库读取所有龙虾
  * lobster_detail: 从数据库读取单个龙虾
  * 移除硬编码的 LOBSTERS 配置

- 注册 lobsters 应用到 settings.py

优势:
 添加龙虾不需要改代码
 可通过 Django Admin 管理
 支持动态增删改查
 符合 Django 最佳实践

🦄 白泽成为第 7 只数据库龙虾!
2026-04-02 19:16:45 +08:00
1f61aff26e feat: 添加秘书龙虾白泽 🦄
- 新增第 7 只龙虾:白泽
  * 名字:白泽(中国古代神兽,通晓万物)
  * Emoji: 🦄
  * 专长:秘书/助理
  * 端口:18389
  * 容器:openclaw-secretary

- 白泽的寓意:
  * 传说中能言人语,通晓万物
  * 适合作为秘书和助理角色
  * 帮助北极星处理日常事务

🦄 白泽加入龙虾舰队!
2026-04-02 19:14:51 +08:00
b852186920 feat: 添加外部应用卡片和可复制优化
- 新增'📱 外部应用'卡片,显示飞书应用信息
  * 应用名称和图标
  * 应用 ID(等宽字体显示)
  * 一键复制按钮
  * 未配置应用显示友好提示

- 优化工作区路径显示
  * 代码样式(等宽字体 + 背景色)
  * 添加'📋 复制'按钮
  * 复制成功有提示消息

- 后端添加龙虾应用配置
  * 飞行侠:IT 项目推广运营平台 (cli_a92413cfb0791bce)
  * 道童:道德经新解 (cli_a9439b614f38dbd2)
  * 其他龙虾:未配置

- 样式优化
  * 绿色渐变复制按钮
  * 悬停动画效果
  * 响应式布局

📱 让重要信息一键可复制
2026-04-02 18:44:20 +08:00
f5ac1e85bf feat: 优化日新功能交互流程
- 移除首页的'日新'按钮,每个龙虾卡片只保留'详情'按钮
- 日新功能整合到 LobsterDetail 组件内(弹窗形式)
- 删除 MemoryPage 路由组件(不再需要独立路由)
- 简化 App.js 路由配置,只保留两条路由:
  * / - Dashboard 首页
  * /lobster/:id - LobsterDetail 详情页

交互流程:
1. 首页点击'详情' → 进入龙虾详情页
2. 详情页点击'日新' → 打开 MemoryModal 弹窗
3. 弹窗内切换标签:成才之路 / 工作记忆
4. 关闭弹窗 → 返回详情页

优点:
- 首页更简洁,一个卡片一个按钮
- 所有龙虾共用弹窗组件,无需 n 个路由
- 功能整合,逻辑更清晰
- 更符合 React 组件化设计

📖 苟日新,日日新,又日新
2026-04-02 14:15:46 +08:00
4b4cd73a77 fix: 添加 MemoryPage 路由组件
- 创建 MemoryPage 页面组件
- 在 App.js 中添加 /lobster/:id/memory 路由
- 修复 MemoryModal 导入路径
- 关闭弹窗时返回龙虾详情页

📖 日新模块现在可以正常访问了
2026-04-02 13:33:17 +08:00
6a2a5bc469 feat: 添加日记(成才之路)功能
- 前端 MemoryModal 添加标签切换(成才之路/工作记忆)
- Dashboard 按钮更名为'日新'(📖)
- 后端添加日记 API:
  * /api/lobsters/<id>/diary/dates/ - 获取日记日期
  * /api/lobsters/<id>/diary/<date>/ - 获取日记内容
- 日记优先显示故事版,其次技术版
- 日历显示本月日记统计
- 优化 UI 样式和加载状态

📖 苟日新,日日新,又日新
2026-04-02 13:27:48 +08:00
c39a912456 feat: 添加龙虾详情页面功能
- 新建 LobsterDetail 组件,显示龙虾详细信息
- 添加 React Router 路由配置 (/lobster/:id)
- Dashboard 添加详情按钮,支持跳转到详情页
- 详情页功能:
  * 基本信息展示(名称、专长、端口、容器、工作区)
  * 运行状态指示器(带脉冲动画)
  * 快速操作(查看记忆、访问服务、复制地址)
  * 运行统计卡片
- 修复 index.html 缺少 root 挂载点问题
- 添加一键重启脚本 restart.sh
- 更新任务跟踪文档

🦸 北极星指引方向,飞行侠展翅飞翔
2026-04-02 13:15:41 +08:00
57fa27c616 feat: 添加记忆功能 - 日记查看器和日历组件
- 后端 API: 获取日记日期列表和详情
- 前端组件:记忆弹窗、日历组件
- 点击记忆按钮查看龙虾工作日记
- 日历高亮显示有日记的日期
2026-04-01 22:36:06 +08:00
0c0466e378 Add WSGI config and ignore database file 2026-04-01 21:48:14 +08:00
acf01bdd59 Update start.sh with virtual environment support 2026-04-01 20:58:42 +08:00
8d0a2ccb0b Final update: Complete README and project structure
- Comprehensive README with badges and documentation
- API endpoint documentation
- Project structure overview
- Development log
2026-04-01 20:52:24 +08:00
4be901b1b0 Complete backend API and deployment guide
- Django REST API with lobster endpoints
- API views: list, detail, memory, tools
- Deployment guide with instructions
- Startup script for easy launch
- Requirements.txt for dependencies
- API URL routing
2026-04-01 20:52:03 +08:00
5386db423a Add complete frontend UI and update README
- Complete HTML/CSS dashboard with lobster cards
- Auto-refresh every 5 seconds
- Statistics overview (total, healthy, error)
- Updated README with project info
2026-04-01 20:48:44 +08:00
1cbbf11fcf Add React frontend and Django backend code
- React components: Dashboard, MemoryCalendar, SearchBox, ToolList
- Django backend structure
- Package configuration files
2026-04-01 20:43:25 +08:00
d80dc01bca Initial commit: 龙虾舰队监控中心 2026-04-01 20:40:32 +08:00