项目结构
OpenYida 采用模块化架构设计,代码组织清晰,便于维护和扩展。目录概览
核心模块说明
src/commands/
存放所有 CLI 命令的实现,每个文件对应一个子命令:| 文件 | 功能 |
|---|---|
create-app.ts | 创建宜搭应用 |
create-form.ts | 创建表单页面 |
create-page.ts | 创建自定义页面 |
publish.ts | 发布应用 |
share.ts | 分享应用 |
data.ts | 数据管理操作 |
connector.ts | 连接器管理 |
report.ts | 报表操作 |
doctor.ts | 诊断工具 |
login.ts | 登录认证 |
src/core/
核心业务逻辑模块:- yida-api.ts: 封装宜搭开放平台 API,提供统一的接口调用
- ai-service.ts: 集成多种 AI 服务(OpenAI、Claude、通义千问等)
- config.ts: 管理本地配置文件(~/.openyida/config.json)
- auth.ts: 处理登录态、Token 刷新、多组织切换
src/utils/
通用工具函数:- logger.ts: 日志输出,支持分级和颜色
- file.ts: 文件操作辅助函数
- validator.ts: 输入验证和校验
src/types/
TypeScript 类型定义,确保代码类型安全:- yida.ts: 宜搭 API 相关类型
- ai.ts: AI 服务相关类型
- index.ts: 通用类型导出
Skill 系统
配置管理
本地配置
存储位置:~/.openyida/config.json
项目配置
项目根目录可创建.openyidarc.json:
扩展机制
添加新命令
- 在
src/commands/创建新文件 - 实现命令处理函数
- 在
src/index.ts注册命令
添加新 Skill
- 在
skills/custom/创建 Skill 目录 - 实现
skill.json和主逻辑 - 使用
openyida skill load加载
开发规范
- 所有新功能需包含类型定义
- 命令实现需包含
--help文档 - 核心功能需有单元测试覆盖
- 遵循 ESLint 和 Prettier 配置