删除冗余的README文件
This commit is contained in:
parent
fc2c962d75
commit
146107f82c
168
README.md
168
README.md
@ -1,173 +1,11 @@
|
||||
# Jingrow Local - 本地版 Jingrow 框架
|
||||
# Jingrow - 一站式通用AI Agent全栈开发框架
|
||||
|
||||
## 🎯 **项目简介**
|
||||
|
||||
Jingrow Local 是基于 FastAPI + Vue 3 开发的本地版 Jingrow 框架,提供与 SaaS 版完全一致的开发体验。开发者可以在本地开发 PageType 和 App,然后直接打包发布到 SaaS 版应用市场。
|
||||
Jingrow 是基于 Python + Vue 3 的一站式通用AI Agent全栈开发框架。
|
||||
|
||||
## 🏗️ **目录结构**
|
||||
|
||||
```
|
||||
jingrow_local/
|
||||
├── backend/
|
||||
│ ├── apps/ # 应用目录(平级结构)
|
||||
│ │ └── jingrow/ # Jingrow 核心应用
|
||||
│ │ ├── jingrow/ # 核心模块
|
||||
│ │ │ ├── __init__.py # SDK 入口
|
||||
│ │ │ ├── model/ # 数据模型
|
||||
│ │ │ │ ├── document.py
|
||||
│ │ │ │ ├── meta.py
|
||||
│ │ │ │ └── db_query.py
|
||||
│ │ │ ├── adapters/ # 适配器
|
||||
│ │ │ │ ├── hybrid_adapter.py
|
||||
│ │ │ │ ├── saas_adapter.py
|
||||
│ │ │ │ └── local_adapter.py
|
||||
│ │ │ ├── utils/ # 工具函数
|
||||
│ │ │ ├── core/ # 核心功能
|
||||
│ │ │ │ └── pagetype/
|
||||
│ │ │ │ └── customer/
|
||||
│ │ │ │ └── customer.py
|
||||
│ │ │ ├── ai/ # AI 功能
|
||||
│ │ │ │ └── pagetype/
|
||||
│ │ │ │ └── local_ai_agent/
|
||||
│ │ │ │ └── local_ai_agent.py
|
||||
│ │ │ └── exceptions.py # 异常定义
|
||||
│ │ ├── hooks.py # 应用钩子
|
||||
│ │ └── setup.py # 应用配置
|
||||
│ ├── app/ # FastAPI 应用
|
||||
│ │ ├── main.py
|
||||
│ │ └── routes/ # API 路由
|
||||
│ │ └── dynamic_router.py # 动态路由处理
|
||||
│ └── requirements.txt
|
||||
└── frontend/ # Vue 3 前端
|
||||
├── src/
|
||||
└── package.json
|
||||
```
|
||||
|
||||
## 🚀 **核心特性**
|
||||
|
||||
### **1. 完全兼容的 API 接口**
|
||||
```python
|
||||
# 与 SaaS 版完全一致的开发方式
|
||||
import jingrow
|
||||
from jingrow.model.page import Page
|
||||
|
||||
class Customer(Page):
|
||||
def validate(self):
|
||||
if not self.customer_name:
|
||||
jingrow.throw("验证错误", "客户名称不能为空")
|
||||
|
||||
def on_update(self):
|
||||
# 更新时的业务逻辑
|
||||
pass
|
||||
```
|
||||
|
||||
### **2. 双模式支持**
|
||||
- **API 模式**: 通过 API 操作 Jingrow SaaS 版数据
|
||||
- **本地模式**: 直接操作本地安装的 MariaDB/PostgreSQL 数据库
|
||||
- **灵活切换**: 可以根据需要切换不同的数据源
|
||||
|
||||
### **3. Jingrow 风格路由**
|
||||
```
|
||||
/api/action/jingrow.core.pagetype.system_settings.system_settings.load
|
||||
```
|
||||
|
||||
### **3. 应用市场兼容**
|
||||
- ✅ 本地开发的 App 和 PageType 可以直接打包发布到 SaaS 版应用市场
|
||||
- ✅ 目录结构完全一致
|
||||
- ✅ 代码实现完全一致
|
||||
|
||||
## 📦 **安装和使用**
|
||||
|
||||
### **1. 安装依赖**
|
||||
```bash
|
||||
cd backend
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
### **3. 配置环境**
|
||||
```bash
|
||||
# 复制环境配置文件
|
||||
cp env.example .env
|
||||
|
||||
# 编辑数据库配置
|
||||
vim .env
|
||||
```
|
||||
|
||||
### **4. 启动服务**
|
||||
```bash
|
||||
# 启动后端
|
||||
cd backend
|
||||
python -m uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
|
||||
|
||||
# 启动前端
|
||||
cd frontend
|
||||
npm install
|
||||
npm run dev
|
||||
```
|
||||
|
||||
## 🔧 **开发指南**
|
||||
|
||||
### **1. 创建自定义 PageType**
|
||||
```python
|
||||
# backend/apps/jingrow/jingrow/core/pagetype/my_pagetype/my_pagetype.py
|
||||
import jingrow
|
||||
from jingrow.model.page import Page
|
||||
|
||||
class MyPageType(Page):
|
||||
def validate(self):
|
||||
# 验证逻辑
|
||||
pass
|
||||
|
||||
def on_update(self):
|
||||
# 更新逻辑
|
||||
pass
|
||||
```
|
||||
|
||||
### **2. 创建自定义应用**
|
||||
```python
|
||||
# backend/apps/my_app/my_app/pagetype/my_pagetype/my_pagetype.py
|
||||
import jingrow
|
||||
from jingrow.model.page import Page
|
||||
|
||||
class MyPageType(Page):
|
||||
def validate(self):
|
||||
# 验证逻辑
|
||||
pass
|
||||
```
|
||||
|
||||
### **3. 配置适配器**
|
||||
```python
|
||||
# 在应用启动时配置
|
||||
import jingrow
|
||||
|
||||
# API 模式(通过 API 操作 SaaS 版数据)
|
||||
jingrow.configure(mode="api",
|
||||
api_url="https://api.jingrow.com",
|
||||
api_key="your_api_key",
|
||||
api_secret="your_api_secret")
|
||||
|
||||
# 本地模式(直接操作本地数据库)
|
||||
jingrow.configure(mode="local",
|
||||
db_host="localhost",
|
||||
db_port="3306",
|
||||
db_name="jingrow_local",
|
||||
db_user="root",
|
||||
db_password="your_password")
|
||||
```
|
||||
|
||||
## 🎯 **与 SaaS 版的兼容性**
|
||||
|
||||
### **完全一致的开发体验**
|
||||
- ✅ 相同的 `import jingrow` 方式
|
||||
- ✅ 相同的 `from jingrow.model.page import Page` 方式
|
||||
- ✅ 相同的 PageType 开发模式
|
||||
- ✅ 相同的应用目录结构
|
||||
- ✅ 相同的钩子函数
|
||||
|
||||
### **直接发布到应用市场**
|
||||
本地开发的 App 和 PageType 可以直接打包发布到 SaaS 版应用市场,无需任何修改。
|
||||
|
||||
## 📝 **许可证**
|
||||
|
||||
Copyright (c) 2025, JINGROW and contributors
|
||||
Copyright (c) 2025, JINGROW
|
||||
For license information, please see license.txt
|
||||
@ -1,162 +0,0 @@
|
||||
# Jingrow Local Backend README
|
||||
|
||||
## 项目结构
|
||||
|
||||
```
|
||||
jingrow/
|
||||
├── frontend/ # Vue 3 前端
|
||||
├── backend/ # FastAPI 后端
|
||||
│ ├── app/
|
||||
│ │ ├── __init__.py
|
||||
│ │ ├── main.py # FastAPI 应用入口
|
||||
│ │ ├── routes/
|
||||
│ │ │ ├── __init__.py
|
||||
│ │ │ └── nodes.py # 节点执行路由
|
||||
│ │ ├── services/
|
||||
│ │ │ ├── __init__.py
|
||||
│ │ │ └── executor.py # 节点执行器
|
||||
│ │ ├── models/
|
||||
│ │ │ └── __init__.py
|
||||
│ │ └── utils/
|
||||
│ │ └── __init__.py
|
||||
│ ├── nodes/ # 节点实现目录
|
||||
│ │ ├── language_python/
|
||||
│ │ │ ├── language_python.py
|
||||
│ │ │ └── language_python.json
|
||||
│ │ ├── language_go/
|
||||
│ │ │ ├── language_go.go
|
||||
│ │ │ └── language_go.json
|
||||
│ │ ├── language_rust/
|
||||
│ │ │ ├── language_rust.rs
|
||||
│ │ │ └── language_rust.json
|
||||
│ │ └── data_processing/
|
||||
│ │ ├── data_processing.py
|
||||
│ │ └── data_processing.json
|
||||
│ ├── config.py # 配置文件
|
||||
│ ├── requirements.txt
|
||||
│ └── run.py # 启动脚本
|
||||
└── README.md
|
||||
```
|
||||
|
||||
## 核心特性
|
||||
|
||||
### 1. 统一执行路径
|
||||
所有节点都使用统一的执行路径:
|
||||
```
|
||||
POST /nodes.{node_type}.{node_type}.execute
|
||||
```
|
||||
|
||||
### 2. 多语言支持
|
||||
- **Python节点**:直接导入执行
|
||||
- **Go节点**:编译后执行
|
||||
- **Rust节点**:编译后执行
|
||||
|
||||
### 3. 异步执行
|
||||
使用FastAPI的异步特性,支持并发执行多个节点。
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 1. 安装依赖
|
||||
```bash
|
||||
cd backend
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
### 2. 启动服务
|
||||
```bash
|
||||
python run.py
|
||||
```
|
||||
|
||||
### 3. 访问API文档
|
||||
打开浏览器访问:http://localhost:8000/docs
|
||||
|
||||
## API使用示例
|
||||
|
||||
### 执行Python节点
|
||||
```bash
|
||||
curl -X POST "http://localhost:8000/nodes.language_python.language_python.execute" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"context": {"timestamp": "2024-01-01"},
|
||||
"inputs": {},
|
||||
"config": {
|
||||
"code": "print(\"Hello from Python!\")\noutput = \"Python执行成功\""
|
||||
}
|
||||
}'
|
||||
```
|
||||
|
||||
### 执行Go节点
|
||||
```bash
|
||||
curl -X POST "http://localhost:8000/nodes.language_go.language_go.execute" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"context": {"timestamp": "2024-01-01"},
|
||||
"inputs": {},
|
||||
"config": {
|
||||
"code": "package main\nimport \"fmt\"\nfunc main() { fmt.Println(\"Hello from Go!\") }"
|
||||
}
|
||||
}'
|
||||
```
|
||||
|
||||
### 执行Rust节点
|
||||
```bash
|
||||
curl -X POST "http://localhost:8000/nodes.language_rust.language_rust.execute" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"context": {"timestamp": "2024-01-01"},
|
||||
"inputs": {},
|
||||
"config": {
|
||||
"code": "fn main() { println!(\"Hello from Rust!\"); }"
|
||||
}
|
||||
}'
|
||||
```
|
||||
|
||||
## 开发新节点
|
||||
|
||||
### 1. 创建节点目录
|
||||
```bash
|
||||
mkdir -p nodes/my_new_node
|
||||
```
|
||||
|
||||
### 2. 实现节点逻辑
|
||||
创建 `my_new_node.py`(或其他语言文件):
|
||||
```python
|
||||
def execute(context=None, inputs=None, config=None):
|
||||
# 节点执行逻辑
|
||||
return {
|
||||
"success": True,
|
||||
"result": "节点执行成功"
|
||||
}
|
||||
```
|
||||
|
||||
### 3. 创建节点配置
|
||||
创建 `my_new_node.json`:
|
||||
```json
|
||||
{
|
||||
"name": "我的新节点",
|
||||
"description": "节点描述",
|
||||
"version": "1.0.0",
|
||||
"category": "custom"
|
||||
}
|
||||
```
|
||||
|
||||
### 4. 测试节点
|
||||
```bash
|
||||
curl -X POST "http://localhost:8000/nodes.my_new_node.my_new_node.execute" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"context": {}, "inputs": {}, "config": {}}'
|
||||
```
|
||||
|
||||
## 环境要求
|
||||
|
||||
- Python 3.8+
|
||||
- Go 1.19+ (用于Go节点)
|
||||
- Rust 1.70+ (用于Rust节点)
|
||||
|
||||
## 配置说明
|
||||
|
||||
在 `config.py` 中可以配置:
|
||||
- 节点超时时间
|
||||
- 内存限制
|
||||
- CORS设置
|
||||
- 日志级别
|
||||
@ -1,158 +0,0 @@
|
||||
# Jingrow Local 前端应用
|
||||
|
||||
基于Vue 3 + Naive UI的现代化AI Agent工作流平台前端应用。
|
||||
|
||||
## 功能特性
|
||||
|
||||
- 🔐 **用户认证**: 集成Jingrow SaaS登录
|
||||
- 🤖 **AI智能体管理**: 创建、编辑、执行智能体
|
||||
- 🔧 **节点管理**: 管理工作流节点组件
|
||||
- 📊 **仪表板**: 系统概览和统计信息
|
||||
- ⚙️ **设置管理**: 个人和系统配置
|
||||
|
||||
## 技术栈
|
||||
|
||||
- **Vue 3** - 渐进式前端框架
|
||||
- **TypeScript** - 类型安全的JavaScript
|
||||
- **Naive UI** - 现代化UI组件库
|
||||
- **Pinia** - 轻量级状态管理
|
||||
- **Vue Router** - 路由管理
|
||||
- **Axios** - HTTP客户端
|
||||
- **Vite** - 快速构建工具
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 1. 安装依赖
|
||||
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
### 2. 启动开发服务器
|
||||
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
|
||||
### 3. 访问应用
|
||||
|
||||
打开浏览器访问: http://localhost:3000
|
||||
|
||||
## 项目结构
|
||||
|
||||
```
|
||||
src/
|
||||
├── main.ts # 应用入口
|
||||
├── App.vue # 根组件
|
||||
├── router/ # 路由配置
|
||||
│ └── index.ts
|
||||
├── stores/ # 状态管理
|
||||
│ ├── auth.ts # 认证状态
|
||||
│ ├── agent.ts # 智能体状态
|
||||
│ └── node.ts # 节点状态
|
||||
├── api/ # API客户端
|
||||
│ ├── index.ts # Axios配置
|
||||
│ ├── auth.ts # 认证API
|
||||
│ ├── agents.ts # 智能体API
|
||||
│ └── nodes.ts # 节点API
|
||||
├── components/ # 通用组件
|
||||
│ └── layout/ # 布局组件
|
||||
│ ├── AppLayout.vue
|
||||
│ ├── AppHeader.vue
|
||||
│ └── AppSidebar.vue
|
||||
├── views/ # 页面视图
|
||||
│ ├── auth/ # 认证页面
|
||||
│ │ └── Login.vue
|
||||
│ ├── agents/ # 智能体页面
|
||||
│ │ └── AgentList.vue
|
||||
│ ├── nodes/ # 节点页面
|
||||
│ │ └── NodeList.vue
|
||||
│ ├── flows/ # 流程页面
|
||||
│ │ └── FlowBuilder.vue
|
||||
│ ├── Dashboard.vue # 仪表板
|
||||
│ └── Settings.vue # 设置页面
|
||||
└── assets/ # 静态资源
|
||||
└── styles/
|
||||
└── main.css # 全局样式
|
||||
```
|
||||
|
||||
## 开发指南
|
||||
|
||||
### 添加新页面
|
||||
|
||||
1. 在 `src/views/` 下创建页面组件
|
||||
2. 在 `src/router/index.ts` 中添加路由
|
||||
3. 在 `src/components/layout/AppSidebar.vue` 中添加菜单项
|
||||
|
||||
### 添加新API
|
||||
|
||||
1. 在 `src/api/` 下创建API文件
|
||||
2. 在对应的store中添加状态管理
|
||||
3. 在组件中调用API
|
||||
|
||||
### 样式规范
|
||||
|
||||
- 使用Naive UI组件库
|
||||
- 遵循Vue 3 Composition API
|
||||
- 使用TypeScript类型定义
|
||||
- 响应式设计,支持移动端
|
||||
|
||||
## 构建部署
|
||||
|
||||
### 开发环境
|
||||
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
|
||||
### 生产构建
|
||||
|
||||
```bash
|
||||
npm run build
|
||||
```
|
||||
|
||||
### 预览构建结果
|
||||
|
||||
```bash
|
||||
npm run preview
|
||||
```
|
||||
|
||||
## 环境配置
|
||||
|
||||
复制环境变量示例文件并配置:
|
||||
|
||||
```bash
|
||||
cp env.example .env.local
|
||||
```
|
||||
|
||||
编辑 `.env.local` 文件:
|
||||
|
||||
```env
|
||||
# Jingrow SaaS配置
|
||||
VITE_JINGROW_API_URL=https://cloud.jingrow.com
|
||||
|
||||
# 本地API配置
|
||||
VITE_LOCAL_API_URL=http://localhost:8000
|
||||
|
||||
# 应用配置
|
||||
VITE_APP_NAME=Jingrow Local
|
||||
VITE_APP_VERSION=1.0.0
|
||||
```
|
||||
|
||||
### 环境变量说明
|
||||
|
||||
- `VITE_JINGROW_API_URL`: Jingrow SaaS API地址,默认为 https://cloud.jingrow.com
|
||||
- `VITE_LOCAL_API_URL`: 本地API服务地址,默认为 http://localhost:8000
|
||||
- `VITE_APP_NAME`: 应用名称
|
||||
- `VITE_APP_VERSION`: 应用版本
|
||||
|
||||
## 浏览器支持
|
||||
|
||||
- Chrome >= 87
|
||||
- Firefox >= 78
|
||||
- Safari >= 14
|
||||
- Edge >= 88
|
||||
|
||||
## 许可证
|
||||
|
||||
MIT License
|
||||
Loading…
x
Reference in New Issue
Block a user