feat: 添加AGENTS文档,概述项目模块和功能

This commit is contained in:
2026-02-22 03:22:29 +08:00
parent 6b5164e845
commit 4b8f47cea8
2 changed files with 73 additions and 5 deletions

66
AGENTS.md Normal file
View File

@@ -0,0 +1,66 @@
# Agents
## src/aura
AI语音识别相关模块包含ASR功能、配置和库文件
## src/auth
认证授权模块包含drizzle ORM集成、数据模型和OAuth认证
## src/db
数据库核心模块包含drizzle配置和数据库schema定义
## src/models
数据模型定义,包含组织和用户相关模型
## src/modules
核心功能模块集合:
- auth.ts: 认证模块
- config.ts: 配置管理
- db.ts: 数据库连接
- domain.ts: 域管理
- fm-manager/: 文件管理器
- html/: HTML处理
- jwks/: JWT密钥集
- logger.ts: 日志记录
- off/: 离线功能
- redis.ts: Redis缓存
- s3.ts: S3存储
- self-restart.ts: 自重启
- user-app/: 用户应用
- v1-ws-proxy/: V1 WebSocket代理
- v3/: V3版本功能
## src/realtime
实时通信模块包含flowme实时功能
## src/routes
API路由集合按功能分类
- ai/: AI相关路由
- app-manager/: 应用管理
- config/: 配置管理
- file/: 文件操作
- file-listener/: 文件监听
- flowme/: Flowme功能
- light-code/: 轻量级代码
- mark/: 标记功能
- micro-app/: 微应用
- prompts/: 提示词
- query-views/: 查询视图
- user/: 用户管理
- views/: 视图管理
## src/routes-simple
简化路由模块,包含页面代理和路由器
## src/scripts
实用脚本集合包含数据库操作、用户管理、S3统计、密钥管理等维护脚本
## src/test
测试相关文件
## src/utils
通用工具函数:
- filter.ts: 过滤工具
- get-content-type.ts: 内容类型获取
- get-engine.ts: 引擎获取
- sleep.ts: 延迟工具

View File

@@ -1,8 +1,8 @@
import { App, AppList, AppData, AppHelper } from './module/app-drizzle.ts'; import { App, AppData, AppHelper } from './module/app-drizzle.ts';
import { app, db, schema } from '@/app.ts'; import { app, db, schema } from '@/app.ts';
import { setExpire } from './revoke.ts'; import { setExpire } from './revoke.ts';
import { deleteFileByPrefix } from '../file/index.ts'; import { deleteFileByPrefix } from '../file/index.ts';
import { eq, and, desc } from 'drizzle-orm'; import { eq, and, desc, sql } from 'drizzle-orm';
import z from 'zod'; import z from 'zod';
app app
@@ -11,6 +11,9 @@ app
key: 'list', key: 'list',
middleware: ['auth'], middleware: ['auth'],
description: '获取用户应用列表', description: '获取用户应用列表',
metadata: {
args: {}
}
}) })
.define(async (ctx) => { .define(async (ctx) => {
const tokenUser = ctx.state.tokenUser; const tokenUser = ctx.state.tokenUser;
@@ -22,17 +25,16 @@ app
key: schema.kvApp.key, key: schema.kvApp.key,
uid: schema.kvApp.uid, uid: schema.kvApp.uid,
pid: schema.kvApp.pid, pid: schema.kvApp.pid,
proxy: schema.kvApp.proxy,
user: schema.kvApp.user, user: schema.kvApp.user,
status: schema.kvApp.status, status: schema.kvApp.status,
createdAt: schema.kvApp.createdAt, createdAt: schema.kvApp.createdAt,
updatedAt: schema.kvApp.updatedAt, updatedAt: schema.kvApp.updatedAt,
deletedAt: schema.kvApp.deletedAt, permission: sql<AppData['permission']>`${schema.kvApp.data}->'permission'`
}) })
.from(schema.kvApp) .from(schema.kvApp)
.where(eq(schema.kvApp.uid, tokenUser.id)) .where(eq(schema.kvApp.uid, tokenUser.id))
.orderBy(desc(schema.kvApp.updatedAt)); .orderBy(desc(schema.kvApp.updatedAt));
ctx.body = list; ctx.body = { list };
return ctx; return ctx;
}) })
.addTo(app); .addTo(app);