linshen
e69086f075
build(deps): refresh workspace dependency baselines
...
- refresh direct dependency baselines across workspace packages
- require Node 22 consistently in docs, Docker, and package engines
- update lint/build tooling configs to match the new workspace baseline
- keep package manifests and lockfile aligned after the dependency refresh
2026-03-27 20:41:18 +08:00
linshen
0d1ae2010f
fix(docker): 增强配置生成脚本的调试和错误处理能力
...
- 在 generate-config.sh 中添加详细的调试日志输出
- 添加目标目录存在性检查和自动创建
- 显示所有 VITE_* 环境变量用于调试
- 验证配置文件生成结果并输出预览
- 修复字符串拼接问题,避免 \n 显示异常
- 在 start-services.sh 中添加脚本可执行性检查
- 添加 config.js 生成验证和手动重试机制
- 改进错误提示和日志输出格式
关联: #186
2025-10-12 23:07:35 +08:00
linshen
1ad32ca217
refactor: 完全移除 Vercel/Docker 代理功能以修复 SSRF 安全漏洞
...
修复 #179
## 变更内容
### 核心代码清理 (-2473行)
- 删除 api/proxy.js、api/stream.js、api/vercel-status.js 端点
- 删除 node-proxy/ 服务器实现
- 移除 environment.ts 中的代理检测逻辑
- 简化所有图像适配器和 LLM 服务,直接使用 baseURL
- 移除模型配置中的 useVercelProxy/useDockerProxy 字段
### 基础设施更新
- 更新 Dockerfile 移除 node-proxy 构建
- 更新 nginx.conf 移除代理路由
- 更新 supervisord.conf 移除 node-proxy 进程
### UI 优化
- 移除模型管理界面中的代理选项
- 清理国际化文件中的代理相关翻译
- 删除备份文件 ModelManager.bak.vue
### 文档同步
- 更新技术开发指南,说明功能移除原因
- 更新 Vercel 部署文档,移除代理相关说明
- 更新图像模式文档
## 安全说明
由于内置代理存在 SSRF (服务端请求伪造) 安全风险,完全移除相关功能。
推荐用户使用:
1. 桌面版应用 (无跨域限制)
2. 自建反向代理 (完全控制)
3. LLM 提供商的 CORS 友好端点
## 向后兼容性
历史数据中的 useVercelProxy/useDockerProxy 字段为可选,不会导致破坏性变更。
2025-09-30 22:08:00 +08:00
linshen
b5eba3dfb7
fix(docker): MCP路由绕过Basic认证以支持MCP Inspector连接
...
修复问题:
- Docker部署启用ACCESS_PASSWORD后,/mcp路由继承了Basic认证配置
- 导致MCP Inspector连接时返回401错误
技术方案:
- 在nginx.conf的/mcp location中添加auth_basic off指令
- MCP协议本身不支持HTTP Basic认证,需要明确禁用
- Web应用路由的访问控制保持不变
文档更新:
- 在MCP服务器用户文档中添加故障排除说明
- 包含中英文文档和mkdocs文档
关联issue: #169
2025-09-29 23:56:47 +08:00
linshen
ba63eff9ad
feat: 重构图像模型管理架构并优化用户界面
...
## 核心改进
### 🏗️ 架构重构
- 实现ImageModelManager组件分离设计,关注点明确分离
- 重构ModelManager.vue为统一模型管理入口,支持文本/图像双模式
- 采用组件复用和扩展性设计,易于添加新模型类型
### 🎨 界面优化
- 摒弃5步导航式编辑,改为一体化界面设计
- 优化ImageModelEditModal为单页滚动布局,提升操作效率
- 统一文本和图像模型管理的交互体验和视觉风格
### 🔌 适配器扩展
- 新增OpenRouter和SiliconFlow图像适配器支持
- 完善AbstractImageProviderAdapter抽象基类设计
- 优化适配器注册表和动态模型发现机制
### 💻 类型系统
- 完善ImageModelConfig和相关类型定义
- 增强TypeScript类型安全和智能提示
- 优化服务层接口设计和依赖注入架构
### 🧪 测试覆盖
- 新增图像适配器单元测试和集成测试
- 添加E2E验收测试保证功能完整性
- 增强连接测试和参数验证测试覆盖
### 📚 文档完善
- 新增图像模型管理架构设计文档
- 添加一体化界面改进方案文档
- 更新项目结构和开发指南
## 技术特点
- **SOLID原则**:清晰的单一职责和开闭扩展设计
- **组合模式**:ImageModelManager + ModelManager.vue 组合架构
- **响应式设计**:基于Vue 3 Composition API的状态管理
- **依赖注入**:松耦合的服务架构和组件通信
这次重构显著提升了图像模型管理的用户体验和代码可维护性,
为后续音频、视频等多模态功能扩展奠定了坚实基础。
2025-09-21 20:17:03 +08:00
linshen
80977ec8a1
feat(proxy): 优化 Docker 代理功能并完善错误处理 (develop)
...
本次提交主要对 Docker 代理功能进行了优化,并完善了相关的错误处理逻辑。具体内容包括:
- 精确匹配 API 代理路径,使用 `location =` 确保 Nginx 配置中的代理路径精确匹配,避免被其他正则匹配拦截。
- 添加对本地主机 URL 的自动转换支持,在 Docker 容器内部访问宿主机时,自动将 `localhost`、`127.0.0.1` 等地址转换为 `host.docker.internal`。
- 优化 ModelManager 组件,将 `useDockerProxy` 选项添加到模型配置中,调整 API URL 和 API Key 的输入位置,增强用户体验。
- 完善错误处理逻辑,为 Node Proxy 服务增加更详细的错误处理,并提供统一的 JSON 错误响应格式。
- 在开发环境的 `docker-compose.dev.yml` 文件中添加 `host.docker.internal` 映射,允许容器访问宿主机。
- 更新了相关文档,包括架构对比、实施计划和设计文档,详细描述了 Docker 代理功能的实现原理和使用方法。
- 调整了文档的分类和归档方式,将经验记录归档到 archives 目录。
2025-08-17 10:37:12 +08:00
linshen
8ac9665781
feat(core): 添加 Docker API 代理支持
...
- 新增 Node.js代理服务实现 API 请求和流式响应的代理
- 修改 nginx配置,增加 API 代理路径
- 更新前端 ModelManager 组件,集成 Docker 代理选项
- 优化错误处理和日志记录,确保生产就绪
- 添加详细的文档和测试报告
2025-08-16 20:55:37 +08:00
linshen
e329acc123
feat(core): 添加多自定义模型支持
...
- 实现了无限数量自定义模型的支持
- 添加了环境变量自动发现和注册功能- 优化了模型配置生成逻辑
- 增加了严格的配置验证和错误处理
- 改进了性能和内存使用
- 完善了相关文档和测试
2025-08-02 20:22:48 +08:00
linshen
3600b4c139
build: 修改docker服务启动配置
...
- 修改 nginx 服务的 autorestart 为 false
- 设置 nginx服务的 startretries 为0
- 设置 mcp-server服务的 startretries 为0
2025-07-28 21:13:09 +08:00
linshen
d01330ca5f
:置以优化日志处理和自动 Supervisord 配 修改重启设置
...
- 禁用inf自动重启功能,改为手动控制- 将日志输出重定向到标准错误和输出流
- 移除日志文件大小限制,确保日志记录不受限制
2025-07-28 16:25:46 +08:00
linshen
1a55a5e719
feat(server): 集成 MCP 服务器
...
本次提交主要集成了 MCP 服务器,为系统增加了用户提示词优化工具,并通过优化部署流程,提升了整体易用性。
具体变更内容包括:
* **功能增强:**
* 集成 MCP 服务器,提供用户和系统提示词优化工具,支持 stdio 和 HTTP 两种传输方式,并集成了 Claude Desktop。
* 实现基于会话的 HTTP 传输,允许多客户端连接,并为每个会话创建独立的 MCP 服务器实例,确保会话间的隔离性。
* **部署优化:**
* 将 MCP 服务器端口变更为与 Web 界面共享 80 端口,通过路径区分,简化了 Docker 部署配置,降低了部署复杂度。
* 优化 Docker 部署流程,使用 Supervisor 进行进程管理,并改进模板参数(使用枚举类型 + 默认值),同时提供了包含 MCP 服务器使用说明的 Docker 部署文档。
* **代码优化与重构:**
* 优化模型选择逻辑,提高模型选择的准确性。
* 优化日志记录功能,支持更灵活的日志级别设置,并添加了详细的错误提示和调试信息,方便问题排查。
* 重构代码,分离构建和启动入口,优化环境变量加载和模型初始化逻辑,提高了代码的可维护性和可扩展性,并解决了构建副作用问题。
* **文档更新:**
* 更新工具描述和使用说明,提供了用户和系统提示词工具的具体示例,并补充了迭代提示词工具的改进需求描述和使用场景。
* 更新 Docker 部署方案,包含了 `docker-compose.yml`、`Dockerfile` 和 `env.local.example` 配置示例,并更新了 README 文档以明确连接方式。
* 更新 `nginx.conf`,使用环境变量 `NGINX_PORT`,修改 `start-services.sh`,增加 nginx 配置处理,更新 `supervisord.conf`,调整 MCP 服务器启动方式,优化 `Dockerfile`,安装额外依赖并调整工作目录,调整环境变量加载机制,使用 `preload-env.cjs`。
* **其他:**
* 提供快速开始指南、环境变量配置和问题排除等文档,更新了相关文档链接和获取帮助指引,并完成了基础测试用例和开发/设计文档。
本次更新旨在提升用户在提示词优化方面的能力,并简化部署流程,提高系统的整体可用性和可维护性。
2025-07-27 00:31:23 +08:00
linshen
d849024cb1
feat(docker): 添加基本认证功能和环境变量配置
...
- 在 Dockerfile 中添加 htpasswd 工具和 dos2unix
- 更新 docker-compose.yml 文件以支持 ACCESS_USERNAME 和 ACCESS_PASSWORD 环境变量
- 修改 dev.md 和 README 文件,增加访问密码配置说明
- 更新 Nginx 配置以引入基本认证
- 将版本号更新至 1.0.6
2025-05-28 23:18:23 +08:00
linshen
ecfdfae413
feat: 添加docker本地构建测试及运行时配置支持
...
- 在dev.md中添加docker本地构建测试步骤
- 在Dockerfile中复制启动脚本并赋予执行权限
- 更新获取环境变量的逻辑,支持运行时配置
- 在index.html中添加运行时配置的脚本加载
2025-03-16 14:35:22 +08:00
linshen
544a225163
🔧 优化项目配置和部署文档
...
- 更新 `.dockerignore` 文件,完善忽略规则和文件分类
- 在 `.env.example` 中新增 SiliconFlow API 配置
- 重构 Dockerfile,优化构建和部署步骤
- 更新 `package.json` 版本号至 1.0.0
- 重写 README.md,简化安装和部署说明
- 新增 Docker 部署和 API 密钥配置指南
2025-03-01 11:25:43 +08:00