Appearance
跨项目复用
@flowporr/* 的定位:三个独立仓库共用的代码,源码家在 flowporr-packages,通过私有 Verdaccio 发布,各项目平等消费。
消费方
| 项目 | 消费的包 | 场景 |
|---|---|---|
| one-tools-box(admin / mobile) | ai-core / ai-chat-vue / x-markdown-vue | AI 聊天页、Markdown 笔记预览 |
| one-tools-box(server) | ai-server | 服务端 AI 客户端(能力注册表 + OpenAI SDK) |
| flowporr(server) | ai-server | AI 图片编辑(背景消除 / 增强 / 放大) |
共享机制
flowporr-packages(源码家,pnpm workspace)
└── pnpm publish ──→ npm.flowporr.com(Verdaccio)
└── 各项目 .npmrc: @flowporr:registry=...
└── pnpm add @flowporr/xxx- 共享库与任一消费方仓库解耦,版本 / 发布独立
- 消费方只装需要的包(按包粒度),不引入不用的依赖
消费方注意
- ai-chat-vue / x-markdown-vue:依赖 Element Plus(ai-chat 的 peer)与
--js-*设计 token;需在项目里提供 - ai-server:环境变量
DASHSCOPE_API_KEY/DEEPSEEK_API_KEY/DASHSCOPE_BASE_URL(缺省 = 默认 MaaS 端点)/AI_IMAGE_MODEL;错误为框架无关的AiClientError,由消费方在边界映射(如 FastifyAppError/ h3createError) - 移动端(uni-app):ai-chat-vue / x-markdown-vue 依赖 DOM,仅 H5 可用;App 端用降级页