2026-05-20 21:39:12 +08:00

163 lines
8.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: 项目总览
created: 2026-04-13
updated: 2026-05-14
type: entity
tags: [architecture, module]
sources: [packages/backend/package.json, packages/frontend/package.json, packages/frontend/src/modules/agent/config.ts, packages/frontend/src/modules/geo/config.ts, packages/backend/scripts/build-windows-installer.js, packages/windows-tray/, packages/backend/skills/, packages/netabrowser-cli/, packages/backend/src/modules/geo/, packages/backend/src/modules/netaclaw/browser-daemon/, packages/backend/src/modules/desktop_op/]
---
# 项目总览
Neta AI 电商是一个 AI 驱动的企业运营平台,采用 pnpm workspace Monorepo 架构。
## 项目结构
| 包 | 路径 | 技术栈 | 端口 |
|---|---|---|---|
| 后端 | `packages/backend/` | Midway.js 3.20 + Cool Admin 8.0 + TypeORM | 8003 |
| 前端 | `packages/frontend/` | Vue 3.5 + Vite 5.4 + Element Plus 2.9 | 9001 |
| Windows 托盘 | `packages/windows-tray/` | .NET WinForms 托盘程序 | 本机 |
| 后端 Skills | `packages/backend/skills/` | `SKILL.md` + Python/Node/.NET/Bash 脚本 | Agent 运行时 |
| Netabrowser CLI | `packages/netabrowser-cli/` | Patchright + neta-chromium 浏览器自动化 CLI | 本机/daemon |
## 后端模块16个
| 模块 | 路径 | 职责 |
|------|------|------|
| **netaclaw** | `src/modules/netaclaw/` | AI Agent 引擎核心ReAct、Session Tree、工具治理、记忆、技能、Crew、会话子代理、压缩、渠道接入 |
| **desktop_op** | `src/modules/desktop_op/` | 通用桌面 GUI Agent 运行时;当前用于 PC 微信窗口发送群聊回复 |
| **geo** | `src/modules/geo/` | 账号矩阵、代理 IP、浏览器 profile/sessionName、cookie 登录态和 Agent 绑定 |
| **base** | `src/modules/base/` | 用户、角色、菜单、权限RBAC |
| **project** | `src/modules/project/` | 项目管理(甘特图、日历、看板、列表) |
| **data** | `src/modules/data/` | 药品/医保数据管理 |
| **user** | `src/modules/user/` | C端应用用户 |
| **dict** | `src/modules/dict/` | 字典/枚举配置 |
| **task** | `src/modules/task/` | 定时任务调度 |
| **space** | `src/modules/space/` | 文件存储空间 |
| **notification** | `src/modules/notification/` | 通知服务(飞书等) |
| **plugin** | `src/modules/plugin/` | 插件系统 |
| **recycle** | `src/modules/recycle/` | 回收站 |
| **demo** | `src/modules/demo/` | 演示代码 |
| **swagger** | `src/modules/swagger/` | API 文档 |
## 前端模块14个
| 模块 | 路由前缀 | 职责 |
|------|---------|------|
| **agent** | `/agent/*` | AI 对话、Agent 管理、Tool 管理、Skill 管理、模型渠道、Crew 编排画布/监控、频道管理 |
| **geo** | `/geo/*` | 账号、代理 IP 和养号相关管理入口 |
| **base** | `/` | 登录、首页、权限管理 |
| **project** | `/project/*` | 项目管理四视图 |
| **data** | `/data/*` | 药品数据管理 |
| **ontology** | `/ontology/*` | 知识图谱可视化 |
| 其他 | - | dict, task, space, user, notification, helper, recycle, demo |
## Agent 模块新增入口
`packages/frontend/src/modules/agent/config.ts` 当前已注册:
- `/agent/chat`
- `/agent/agents`
- `/agent/tools`
- `/agent/skills`
- `/agent/model-channel`
- `/agent/channel-management`
- `/agent/detection-result`
- `/agent/crew-editor`
- `/agent/crew-monitor`
- `/agent/memory`
其中 `/agent/tools` 是 2026-04-19 前后新增的重要管理入口,对应 [[tool-governance]]。
`/agent/memory` 是 2026-04-26 新增的记忆管理入口,对应 [[memory-system]],支持跨 MySQL/SQLite 后端查看、编辑和类型管理。
`/agent/skills` 在 2026-04-27 后升级为 [[skill-runtime]] 管理入口,展示 prompt / compute-entry / compute-toolkit 分类、env secrets 配置和诊断信息。
`/agent/channel-management` 在 2026-05-14 后升级为微信渠道运营入口:支持 ClawBot 私聊和 weixin-db 本地群聊代理,并配置 v4 双 Agent 自动回复。
近期如果让 AI 快速熟悉项目Agent 模块里优先级最高的入口已经变成:
- `/agent/chat`Session Tree 对话、continue-from-entry、子 Agent 回放与诊断。
- `/agent/tools`全局工具治理、runtime diagnostic、renderer/worker 路由。
- `/agent/agents`:单 Agent 配置,尤其是工具局部覆盖和子 Agent 策略。
- `/agent/memory`长期记忆管理、类型管理、Agent 维度统计。
## Windows 本地部署
2026-04-25 后,项目新增 [[windows-runtime]] 子系统:
- 后端可打包为 `backend.exe`,安装态从同目录 `config.yaml` 读取端口、数据库和数据目录。
- `dataDir` 成为所有可写路径的统一根包括日志、SQLite 记忆、file session、skills 和 runtime info。
- `packages/windows-tray/` 提供托盘程序,负责启动/附着/停止后端,并打开系统、日志目录和配置目录。
- `packages/backend/installer/setup.iss``scripts/build-windows-installer.js` 负责 Windows 安装包构建。
## 核心关系
- [[netaclaw-module]] 是整个平台的 AI 大脑
- [[tool-governance]] 管理 Agent 实际可见工具
- [[tool-operations]] 抽象工具底层文件、搜索和进程执行后端
- [[session-tree-runtime]] 管理 Agent Chat 的主会话状态载体
- [[subagent-session]] 为普通对话提供轻量子 Agent 能力
- [[context-compaction]] 解决长会话上下文膨胀问题
- [[memory-system]] 提供长期记忆和 `/agent/memory` 管理页面
- [[skill-runtime]] 提供 Skill 分类、配置、密钥和 compute-entry 执行
- [[document-skills]] 提供 PDF / DOCX / XLSX 文档处理能力
- [[image-generation-tools]] 提供文生图和图生图能力
- [[runtime-process-events]] 提供长耗时工具和 Skill 的过程进度表达
- [[vehicle-damage-skill]] 提供车辆环车视频旧伤检测能力
- [[geo-module]] 提供账号、代理 IP 和浏览器 profile 绑定能力
- [[netabrowser-runtime]] 提供反风控浏览器 CLI/daemon 和拟人化自动化能力
- [[desktop-op-module]] 提供本机桌面 GUI 操作运行时,当前用于微信自动发送
- [[windows-runtime]] 提供安装器、托盘和本机 runtime 控制
- [[project-module]] 提供项目管理能力
- [[base-module]] 提供认证和权限基础设施
- [[cool-admin-framework]] 提供自动 CRUD 和路由框架
## 技术栈版本
| 技术 | 版本 | 用途 |
|------|------|------|
| Node.js | >= 24.0.0 | 运行时 |
| Midway.js | 3.20.11 | 后端框架 |
| TypeORM | 0.3.20 | ORM |
| Vue | 3.5.13 | 前端框架 |
| Element Plus | 2.9.3 | UI 组件库 |
| Anthropic SDK | 0.81.0 | Claude API |
| OpenAI SDK | 4.73.0 | OpenAI/兼容 API |
| MCP SDK | 1.20.1 | MCP 协议 |
| Socket.IO | 4.8.3 | 实时通信 |
## 2026-04-23 当前理解项目的推荐顺序
如果要让新 Agent 或新人快速熟悉 Neta推荐先读
1. [[project-overview]]
2. [[netaclaw-module]]
3. [[agent-runtime]]
4. [[session-tree-runtime]]
5. [[subagent-session]]
6. [[tool-governance]]
7. [[tool-operations]]
8. [[skill-system]]
9. [[skill-runtime]]
10. [[frontend-architecture]]
这样能先建立“项目总览 -> Agent 主链路 -> 会话状态 -> 子 Agent -> 工具治理/执行后端 -> Skill 运行时 -> 前端消费”的主骨架,再去看单个工具或业务模块。
## 2026-05-07 增量
5 月 2 日之后新增的架构重点:
- [[image-generation-tools]]NetaClaw 新增 `text_to_image` / `image_to_image`,通过 Ark/MiniMax provider 和模型渠道配置生成图片。
- [[runtime-process-events]]:长耗时工具和 compute-entry Skill 现在可以流式输出过程事件,并由前端时间线恢复历史回放。
- [[vehicle-damage-skill]]:新增汽车环车视频旧伤检测 Skill输出候选、最终旧伤、证据帧和复核图。
- [[geo-module]]:新增账号与代理 IP 模块为账号矩阵、cookie 登录态和浏览器 profile 绑定打基础。
- [[netabrowser-runtime]]:新增反风控浏览器 CLI/daemon提供 patchright、neta-chromium、拟人化交互、代理和持久 profile。
## 2026-05-14 增量
5 月 8 日之后新增的架构重点:
- [[agent-channel]]:微信渠道拆分为 `weixin` ClawBot 私聊和 `weixin-db` 本地群聊代理;新增群白名单、每群 Agent 覆盖、触发策略和 v4 双 Agent 自动回复配置。
- [[desktop-op-module]]:新增通用桌面 GUI Agent 模块封装窗口定位、截图、键鼠、VLM 验证、队列互斥、任务取消和审计日志。
- [[tool-system]]:新增 `weixin_send_text` 工具,通过 `_netaRuntime.bizContext` 读取 channelId通过当前桌面 Agent 读取 modelChannel并委托 Desktop Op 操作 PC 微信。
- [[frontend-architecture]]:频道管理页新增 weixin-db、wxid 唯一性校验、群聊管理和微信自动回复配置区块。