diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 3bd9840..61a1d83 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -11,14 +11,10 @@ "id": "c1c9b81829eaeb44", "type": "leaf", "state": { - "type": "markdown", - "state": { - "file": "docs/Obsidian笔记体系/Projects/claude code/claude-code启动.md", - "mode": "source", - "source": false - }, + "type": "empty", + "state": {}, "icon": "lucide-file", - "title": "claude-code启动" + "title": "新标签页" } } ] @@ -53,7 +49,7 @@ "state": { "type": "search", "state": { - "query": "path:\"docs/Obsidian笔记体系/Config/\" ", + "query": "腾讯云", "matchingCase": false, "explainSearch": false, "collapseAll": false, @@ -183,52 +179,52 @@ "command-palette:打开命令面板": false } }, - "active": "5b497a77c6d68c73", + "active": "c1c9b81829eaeb44", "lastOpenFiles": [ - "docs/龙虾openclaw/git同步与上传规范.md", - "docs/龙虾openclaw", - "docs/学习笔记/龙虾配置.md", - "docs/学习笔记/龙虾能力.md", - "docs/学习笔记/php/云服务器龙虾.md", - "docs/学习笔记/Android ANR 知识点总结.md", - "docs/Obsidian笔记体系/Projects/claude code/Claude 功能.md", - "docs/Obsidian笔记体系/Projects/claude code/claude-code启动.md", - "docs/Obsidian笔记体系/Projects/龙虾/腾讯云服务器龙虾使用文档.md", - "docs/Obsidian笔记体系/Projects/claude code", - "docs/cursor/cursor.md", - "docs/Obsidian笔记体系/Projects/陪诊/数据库配置.md", - "docs/Obsidian笔记体系/Projects/陪诊/后台管理系统访问和登录信息.md", - "docs/Obsidian笔记体系/Projects/saars开发/数据库配置.md", - "docs/Obsidian笔记体系/Projects/saars开发/服务器本地防火墙开放某个端口.md", - "docs/Obsidian笔记体系/Projects/未命名.md", - "docs/Obsidian笔记体系/Projects/女童生长激素项目/项目目录位置.md", - "docs/Obsidian笔记体系/Projects/龙虾", - "docs/Obsidian笔记体系/Projects/陪诊", "未命名 1.base", - "docs/Obsidian笔记体系/Daily/2026-01-13.md", - "docs/Obsidian笔记体系/Projects/知你-调测/知你--调测.md", - "docs/Obsidian笔记体系/Projects/知你-调测/数美文本风险拦截实施方案.md", - "docs/Obsidian笔记体系/Projects/知你-调测/知你包名信息.md", - "docs/# Android WindowManagerService (WMS) 架构深度解析(专家第一次提示词).md", - "docs/学习笔记/Android整机性能分析与问题定位实战指南.md", - "docs/学习笔记/Android游戏整机性能卡顿与丢帧根因分析与优化指南.md", - "docs/学习笔记/DevOps学习.md", - "docs/学习笔记/honor工作资料.md", - "docs/学习笔记/Java学习.md", - "docs/Obsidian笔记体系/Projects/聊天平台", - "docs/Obsidian笔记体系/Projects/aitsc", - "docs/Obsidian笔记体系/Projects/提示词大师", - "docs/学习笔记/产品经理", + "未命名.base", + "未命名 3.base", + "文档完善提示词模板.md", + "未命名 2.base", + "Pasted image 20260510081221.png", + "Pasted image 20260510095333.png", + "Pasted image 20260510091232.png", + "docs/cursor/cursor.md", + "docs/Obsidian笔记体系/Projects/claude code/temp.md", + "docs/cursor/cursor使用技巧.md", + "docs/Obsidian笔记体系/Projects/agent/项目价值评估.md", + "docs/Obsidian笔记体系/Projects/agent/新方向.md", + "docs/Obsidian笔记体系/Projects/claude code/自主agent改造计划方案.md", + "docs/Obsidian笔记体系/Projects/claude code/claude-code启动.md", + "docs/Obsidian笔记体系/Projects/agent/wk4.md", + "docs/Obsidian笔记体系/Projects/agent/wk3.md", + "docs/Obsidian笔记体系/Projects/agent/下一步计划0505.md", + "docs/Obsidian笔记体系/Projects/agent/我想创建一个类似openclaw的agent,和现在的平台有和区别呢.md", + "docs/Obsidian笔记体系/Projects/agent/未来规划.md", + "docs/Obsidian笔记体系/Projects/agent/天工智能体定位.md", + "docs/Obsidian笔记体系/Projects/agent/苏瑶记忆方案.md", + "docs/Obsidian笔记体系/Projects/agent/飞书机器人.md", + "docs/Obsidian笔记体系/Projects/agent/多agent协作.md", + "docs/Obsidian笔记体系/Projects/claude code/Claude 功能.md", + "docs/Obsidian笔记体系/Projects/claude code/取消claude code频繁确认权限提示.md", + "docs/Obsidian笔记体系/Projects/claude code/模型上下文限制问题.md", + "docs/Obsidian笔记体系/Projects/claude code/更换云服务器.md", + "docs/Obsidian笔记体系/Projects/agent/如果要制作一个可编程场景的工具,我这个系统可以吗,或者需要推翻.md", + "docs/Obsidian笔记体系/Projects/agent/新方向实现方案.md", + "docs/Obsidian笔记体系/Projects/aitsc/aitsc 是一个功能完整、架构清晰的 AI 提示词生成平台,具备以下优势:.md", + "Pasted image 20260510133924.png", + "Pasted image 20260510092432.png", + "Pasted image 20260510083609.png", + "2026-05-07.md", + "docs/Obsidian笔记体系/Projects/瑞来兹软件公司组织架构/产品经理", + "docs/Obsidian笔记体系/Projects/瑞来兹软件公司组织架构/测试", + "docs/Obsidian笔记体系/Projects/瑞来兹软件公司组织架构/新建文件夹", + "docs/Obsidian笔记体系/Projects/瑞来兹软件公司组织架构/开发", + "docs/Obsidian笔记体系/Projects/瑞来兹软件公司组织架构/架构师", + "docs/Obsidian笔记体系/Projects/瑞来兹软件公司组织架构/规划", "Pasted image 20260129111501.png", "Pasted image 20260129111451.png", "Pasted image 20260129111437.png", - "Pasted image 20260129111431.png", - "Pasted image 20260129111423.png", - "Pasted image 20260129111418.png", - "Pasted image 20260129111414.png", - "Pasted image 20260129111408.png", - "Pasted image 20260129111404.png", - "Pasted image 20260129111354.png", - "docs/产品经理" + "Pasted image 20260129111431.png" ] } \ No newline at end of file diff --git a/2026-05-07.md b/2026-05-07.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/Obsidian笔记体系/Projects/agent/wk3.md b/docs/Obsidian笔记体系/Projects/agent/wk3.md new file mode 100644 index 0000000..2f796df --- /dev/null +++ b/docs/Obsidian笔记体系/Projects/agent/wk3.md @@ -0,0 +1,43 @@ +会演进成一个 “可编排 + 可编程 + 可治理”的企业 Agent 平台,不是单纯聊天机器人,也不是完全黑盒自治体。你现在的基础已经在这条路上了。 + +## 你这套平台最可能的终局形态 + +- 上层:像“应用商店 + 主控台” + - Main Agent 负责理解需求、路由到场景模板 + - 场景 Agent(客服/研发/运维/数据)可复用、可版本化 +- 中层:工作流与多 Agent 编排引擎 + - 现在的节点流(LLM/Loop/Cache)继续保留 + - 补上真实 `invoke_agent` / subworkflow 执行后,就能形成“主 Agent 调子 Agent” +- 底层:工具与治理底座 + - 工具注册、权限隔离、审计日志、告警、预算控制、回滚策略 + +## 未来 3 个阶段(务实路线) + +- 阶段1:稳态自动化(你已接近) + + - 单 Agent 做稳定流程(客服、代码改造、日志分析) + - 强化模板、提示词、失败重试与可观测性 +- 阶段2:多 Agent 协作 + + - Main Agent 做任务分解与分派 + - 子 Agent 并行执行,结果汇总 + - 关键节点加人工确认(Human-in-the-loop) +- 阶段3:场景操作系统 + + - 模板市场(可复制、可参数化、可权限包) + - 统一 DSL(输入约束、产物规范、验收标准) + - 组织级治理:成本、合规、审计、SLA + +## 和“推翻重写”相比的策略 + +- 不推翻:保留你当前最值钱的三件事 + - 可视化流程 + - 权限体系 + - 执行日志与审计 +- 渐进增强:补执行内核能力(真实子 Agent 调用)和产品层能力(模板化创建、主入口路由)。 + +--- + +一句话: +它会从“工作流驱动的 Agent 平台”演进为“企业级场景自动化操作系统”——既有 OpenClaw 类的任务自治能力,又保留企业真正需要的可控和可审计。 +如果你愿意,我可以给你下一步的 90 天演进路线图(按你当前代码结构拆到文件级)。 \ No newline at end of file diff --git a/docs/Obsidian笔记体系/Projects/agent/wk4.md b/docs/Obsidian笔记体系/Projects/agent/wk4.md new file mode 100644 index 0000000..a12bcf3 --- /dev/null +++ b/docs/Obsidian笔记体系/Projects/agent/wk4.md @@ -0,0 +1,71 @@ +项目分析总结 + + D:\aaa\aiagent 是一个低代码智能体平台,支持可视化工作流设计和智能Agent配置。 + + 技术架构 + + - 前端: Vue 3 + TypeScript + Vite + Element Plus + Vue Flow(工作流可视化) + - 后端: Python FastAPI + MySQL(腾讯云) + Redis + Celery + LangChain + - 数据库: 腾讯云 MySQL(已配置) + - 消息队列: Redis + Celery + - AI集成: DeepSeek、OpenAI、Anthropic 多模型支持 + + 项目结构 + + aiagent/ + ├── frontend/ # 前端项目(端口:3001) + ├── backend/ # 后端项目(端口:8037) + ├── androidExampleDemo/ # Android示例 + ├── redis_temp/ # Redis临时数据 + ├── saars/ # 智能体资源 + ├── user_data/ # 用户数据 + └── 大量文档/ # 详细的技术文档和指南 + + 环境验证 ✅ + + - Python 3.12.7 ✓ + - Node.js 22.13.0 ✓ + - pnpm 10.33.0 ✓ + - Redis 运行在 6379 端口 ✓ + - 虚拟环境已存在 ✓ + - 前端依赖已安装 ✓ + + 服务启动状态 ✅ + + 后端服务 + + - 地址: http://localhost:8037 + - API文档: http://localhost:8037/docs + - 健康检查: {"status":"healthy"} ✓ + - Celery Worker: 已启动 ✓ + + 前端服务 + + - 地址: http://localhost:3001 + - 代理配置: 已正确指向后端 (8037端口) + - CORS配置: 已包含 localhost:3001 ✓ + + 数据库 + + - 腾讯云MySQL: 已连接 ✓ + - 数据库迁移: 已执行 ✓ + + Redis + + - 运行端口: 6379 ✓ + - 连接状态: 正常 ✓ + + 访问方式 + + 1. 前端界面: http://localhost:3001 + 2. 后端API: http://localhost:8037 + 3. API文档: http://localhost:8037/docs(Swagger UI) + + 使用说明 + + 4. 首次访问需注册新用户 + 5. 创建智能体和工作流进行测试 + 6. 所有服务已在后台运行,请勿关闭相关命令行窗口 + 7. 如需停止服务,可结束相关进程或使用脚本中的停止功能 + + ▎ 注意: 前端实际运行在 3001 端口(非脚本中显示的 3000),这是由于 vite.config.ts 的配置决定的。 \ No newline at end of file diff --git a/docs/Obsidian笔记体系/Projects/agent/下一步计划0505.md b/docs/Obsidian笔记体系/Projects/agent/下一步计划0505.md new file mode 100644 index 0000000..b7082b4 --- /dev/null +++ b/docs/Obsidian笔记体系/Projects/agent/下一步计划0505.md @@ -0,0 +1,175 @@ + --- + 当前进度 + + ┌─────────┬────────────────────────────────────────┬─────────────────────────────┐ + │ 阶段 │ 内容 │ 状态 │ + ├─────────┼────────────────────────────────────────┼─────────────────────────────┤ + │ Phase 1 │ 输出质量验证 + 节点级自动重试 │ ✅ 完成 │ + ├─────────┼────────────────────────────────────────┼─────────────────────────────┤ + │ Phase 2 │ Orchestrator 入工作流 + 工具级人工审批 │ ✅ 完成 │ + ├─────────┼────────────────────────────────────────┼─────────────────────────────┤ + │ Phase 3 │ 并行执行 + 进度上报 + 结果缓存 │ ✅ 完成 (含 Bug #1-#5 修复) │ + ├─────────┼────────────────────────────────────────┼─────────────────────────────┤ + │ Phase 4 │ 降级回退 + 知识共享 + 异步执行 │ 待开发 │ + └─────────┴────────────────────────────────────────┴─────────────────────────────┘ + + --- + 下一步:第四阶段 — 容错与共享 + + 根据 解决缺失能力计划.md,最后 3 项: + + 4.1 降级/回退链 + + - AgentLLMConfig 加 fallback_llm 字段 + - 主模型挂了自动切备用模型 + - Agent 失败自动切 fallback_agent + + 4.2 Agent 间知识共享 + + - 新增 GlobalKnowledge 表 + - Agent 执行完自动提取知识写入全局池 + - 其他 Agent 初始化时检索全局知识 + + 4.3 Agent 异步执行 + + - execute_agent_task 当前是空壳占位符 + - 实现真正的 Celery 异步 Agent 执行 + - 定时调度能真正运行 Agent + + --- + 要开始做 Phase 4 吗? + +✻ Churned for 41s + +❯ 当前系统,还能做些什么需求,进一步提升呢 + + Read 2 files, listed 1 directory (ctrl+o to expand) + +● 让我全面梳理一下,结合已有规划文档和架构师/测试/产品经理视角。 + + --- + 当前系统还能做的需求全景 + + 一、已规划的 Phase 4(来自 解决缺失能力计划.md) + + ┌─────┬──────────────────┬─────────────────────────────────────────────────────┐ + │ # │ 需求 │ 说明 │ + ├─────┼──────────────────┼─────────────────────────────────────────────────────┤ + │ 4.1 │ 降级/回退链 │ 模型挂了自动切备用模型,Agent 失败切 fallback_agent │ + ├─────┼──────────────────┼─────────────────────────────────────────────────────┤ + │ 4.2 │ Agent 间知识共享 │ 打破记忆隔离,Agent A 学到的东西 Agent B 也能用 │ + ├─────┼──────────────────┼─────────────────────────────────────────────────────┤ + │ 4.3 │ Agent 异步执行 │ execute_agent_task 是空壳,定时调度无法真正异步执行 │ + └─────┴──────────────────┴─────────────────────────────────────────────────────┘ + + ▎ 这是最直接的下一步,按计划走。 + + --- + 二、监控告警前端(后端已完成,前端缺失) + + 后端 API 全部就绪,前端一个页面都没写: + + - 系统监控面板 — CPU/内存/磁盘/执行统计图表 + - 告警规则管理 — 规则 CRUD + 启用/禁用 + - 告警日志查看 — 告警历史 + 通知配置 + + ▎ 平台可观测性的最后一公里。 + + --- + 三、生产就绪(DevOps / 运维) + + ┌──────────────────────┬────────────────────────────────────────────┐ + │ 需求 │ 说明 │ + ├──────────────────────┼────────────────────────────────────────────┤ + │ Docker 生产环境配置 │ 目前只有 dev compose,缺 prod 配置 │ + ├──────────────────────┼────────────────────────────────────────────┤ + │ Prometheus + Grafana │ 指标收集 + 仪表板(业务指标 + 系统指标) │ + ├──────────────────────┼────────────────────────────────────────────┤ + │ ELK 日志聚合 │ 日志集中查询分析,替代目前本地 backend.log │ + ├──────────────────────┼────────────────────────────────────────────┤ + │ CI/CD 流水线 │ GitHub Actions:自动测试 → 构建 → 部署 │ + ├──────────────────────┼────────────────────────────────────────────┤ + │ API 限流 │ 防止滥用,保护后端 │ + ├──────────────────────┼────────────────────────────────────────────┤ + │ 密钥管理 │ 敏感信息加密存储,不用明文 .env │ + └──────────────────────┴────────────────────────────────────────────┘ + + --- + 四、用户体验增强 + + ┌────────────────┬─────────────────────────────────────────┐ + │ 需求 │ 说明 │ + ├────────────────┼─────────────────────────────────────────┤ + │ 工作流自动布局 │ 节点一键对齐,美观排列 │ + ├────────────────┼─────────────────────────────────────────┤ + │ 节点搜索/筛选 │ 复杂工作流快速定位节点 │ + ├────────────────┼─────────────────────────────────────────┤ + │ Agent 快速测试 │ 在配置页直接测试 Agent,不用跳到对话页 │ + ├────────────────┼─────────────────────────────────────────┤ + │ Agent 使用统计 │ 每个 Agent 的调用次数、成功率、平均耗时 │ + ├────────────────┼─────────────────────────────────────────┤ + │ 移动端适配 │ 至少执行状态查看、Agent 对话 │ + └────────────────┴─────────────────────────────────────────┘ + + --- + 五、高级功能(差异化竞争) + + ┌─────────────────┬───────────────────────────────────────────────┐ + │ 需求 │ 说明 │ + ├─────────────────┼───────────────────────────────────────────────┤ + │ 主控台/应用商店 │ 选模板 → 填参数 → 执行 → 看结果,面向业务用户 │ + ├─────────────────┼───────────────────────────────────────────────┤ + │ 统一 DSL │ 不同模板复用统一输入契约,一套输入驱动多模板 │ + ├─────────────────┼───────────────────────────────────────────────┤ + │ 成本预算治理 │ 按 Agent 设置 token/调用预算,超限熔断 │ + ├─────────────────┼───────────────────────────────────────────────┤ + │ 插件系统 │ 第三方开发自定义节点,插件市场上架 │ + ├─────────────────┼───────────────────────────────────────────────┤ + │ 多租户支持 │ SaaS 化,数据隔离 + 资源配额 │ + └─────────────────┴───────────────────────────────────────────────┘ + + --- + 六、质量保障 + + ┌────────────────┬───────────────────────────────────┐ + │ 需求 │ 说明 │ + ├────────────────┼───────────────────────────────────┤ + │ 单元测试覆盖率 │ 当前有框架但覆盖率低,目标 80%+ │ + ├────────────────┼───────────────────────────────────┤ + │ E2E 测试 │ Playwright 覆盖核心用户流程 │ + ├────────────────┼───────────────────────────────────┤ + │ 性能压测 │ Locust/k6 压测 API,找瓶颈 │ + ├────────────────┼───────────────────────────────────┤ + │ 安全扫描 │ OWASP ZAP + SQLMap + 依赖漏洞检查 │ + └────────────────┴───────────────────────────────────┘ + + --- + 七、Agent 能力边界拓展 + + ┌──────────────────┬───────────────────────────────────────────────┐ + │ 需求 │ 说明 │ + ├──────────────────┼───────────────────────────────────────────────┤ + │ 多模态 Agent │ 支持图片识别、语音输入(tessdata 目录已存在) │ + ├──────────────────┼───────────────────────────────────────────────┤ + │ Agent 协作工作台 │ 可视化编排多 Agent 协作流程 │ + ├──────────────────┼───────────────────────────────────────────────┤ + │ Agent 技能商店 │ Agent 发布到公共市场,共享复用 │ + └──────────────────┴───────────────────────────────────────────────┘ + + --- + 建议优先级 + + 第一优先(生产就绪):Phase 4 + 监控告警前端 + Docker 生产配置 + 第二优先(体验提升):工作流自动布局 + Agent 快速测试 + 主控台 + 第三优先(竞争壁垒):插件系统 + 多租户 + 统一 DSL + 第四优先(质量保障):测试覆盖率 + E2E + 性能压测 + + 总共约 20+ 个可做需求,看你想先往哪个方向发力?是按计划继续做 Phase 4,还是先补监控告警前端,还是往生产就绪方向走? + + + + + +将这些需求登记到工单平台(Gitea) D:\aaa\aiagent\docs\平台资料.md + +可参考D:\aaa\aiagent\docs\创建工单总结.md \ No newline at end of file diff --git a/docs/Obsidian笔记体系/Projects/agent/多agent协作.md b/docs/Obsidian笔记体系/Projects/agent/多agent协作.md new file mode 100644 index 0000000..50e097c --- /dev/null +++ b/docs/Obsidian笔记体系/Projects/agent/多agent协作.md @@ -0,0 +1,45 @@ +当前系统多 Agent 协作能力 + + 一、四种协作模式(后端已实现,前端暂无 UI) + + 核心在 backend/app/agent_runtime/orchestrator.py,AgentOrchestrator 支持: + + ┌────────────┬────────────────┬─────────────────────────────────────────────────────────────────────────────┐ + │ 模式 │ 机制 │ 说明 │ + ├────────────┼────────────────┼─────────────────────────────────────────────────────────────────────────────┤ + │ route │ 路由分发 │ Router Agent 分析问题 → 挑选最合适的 Specialist Agent → 委托执行 → 返回结果 │ + ├────────────┼────────────────┼─────────────────────────────────────────────────────────────────────────────┤ + │ sequential │ 顺序流水线 │ Agent A → B → C 依次执行,上一轮的输出作为下一轮的输入 │ + ├────────────┼────────────────┼─────────────────────────────────────────────────────────────────────────────┤ + │ debate │ 并行辩论 │ 多个 Agent 同时回答同一问题,Aggregator Agent 综合各方观点输出最终答案 │ + ├────────────┼────────────────┼─────────────────────────────────────────────────────────────────────────────┤ + │ pipeline │ 规划-执行-审核 │ Planner 拆解任务 → Executor 逐步执行 → Reviewer 审核结果 │ + └────────────┴────────────────┴─────────────────────────────────────────────────────────────────────────────┘ + + API 端点:POST /api/v1/agent-chat/orchestrate + + 二、工作流 DAG 中的 Agent 协作 + + 在 backend/app/services/workflow_engine.py 中,工作流支持两种方式引入 Agent: + + - agent 节点:在工作流画布上拖入一个 Agent 节点,内部运行完整的 ReAct 循环(思考→调工具→再思考),输出传给下游节点 + - subworkflow / invoke_agent 节点:一个工作流/Agent 调用另一个工作流或 Agent + 作为子执行,支持父子执行记录追踪和深度限制(防止无限递归) + + 三、多用户协同编辑(Workflow 画布) + + backend/app/api/collaboration.py 支持多人在同一工作流画布上实时协作(类似 Figma),通过 WebSocket + 广播节点/连线的增删改操作。 + + 四、本质限制 + + - Agent 之间没有共享记忆,各自独立 + - Agent 之间没有直接消息传递,全靠 Orchestrator 或工作流 DAG 数据流中转 + - 没有"团队/swarm"概念,Agent 不能自组织 + - 没有 call_agent 工具,Agent 不能像调工具一样调用另一个 Agent + + --- + 你现在要用哪种协作模式? 比如: + - 用 route 模式做"路由 + 专业分工"(橙子助手路由到不同专业 Agent) + - 用 debate 模式做"多视角讨论" + - 在工作流画布上用 agent/subworkflow 节点串联多个 Agent \ No newline at end of file diff --git a/docs/Obsidian笔记体系/Projects/agent/天工智能体定位.md b/docs/Obsidian笔记体系/Projects/agent/天工智能体定位.md new file mode 100644 index 0000000..7782ac1 --- /dev/null +++ b/docs/Obsidian笔记体系/Projects/agent/天工智能体定位.md @@ -0,0 +1,37 @@ +搜索到 20+ 处使用"低代码智能体平台"的地方。在改之前,先确认下你想要什么风格的名字。以下是几个建议: + + ┌────────────────┬────────┬─────────────────────────────────────────────────────┐ + │ 名称 │ 风格 │ 含义 │ + ├────────────────┼────────┼─────────────────────────────────────────────────────┤ + │ 知行智能体平台 │ 哲学风 │ 知行合一,知(知识库/RAG)+ 行(工具调用/自主执行) │ + ├────────────────┼────────┼─────────────────────────────────────────────────────┤ + │ 自主智能体平台 │ 直白风 │ 直接体现从"低代码编排"到"自主 ReAct Agent"的进化 │ + ├────────────────┼────────┼─────────────────────────────────────────────────────┤ + │ 灵枢智能体平台 │ 禅意风 │ 灵(AI智能)+ 枢(中枢/编排),与"灵犀"呼应 │ + ├────────────────┼────────┼─────────────────────────────────────────────────────┤ + │ 元智智能体平台 │ 极客风 │ 元(Meta,多Agent协作)+ 智(AI) │ + ├────────────────┼────────┼─────────────────────────────────────────────────────┤ + │ 智行AI工坊 │ 务实风 │ 智(智能)+ 行(执行)+ 工坊(持续打磨) │ + └────────────────┴────────┴─────────────────────────────────────────────────────┘ + + 你倾向哪个方向?或者你有自己的想法? + +✻ Sautéed for 37s + +❯ 未来的方向包含上面所有,再想个名字吧 + +● 综合所有方向(自主、知行、多智能体、工坊、灵枢),体现"包罗万象、自主创造"的定位: + + ┌──────┬──────────────────────────────────────────────────────────────────────┐ + │ 名称 │ 出处/寓意 │ + ├──────┼──────────────────────────────────────────────────────────────────────┤ + │ 天工 │ 《天工开物》— 巧夺天工,万物皆可造。自然力+人工智能力=创造万物的工匠 │ + ├──────┼──────────────────────────────────────────────────────────────────────┤ + │ 元枢 │ 元(Meta/起源)+ 枢(中枢/编排)— 智能体的元起点与调度中枢 │ + ├──────┼──────────────────────────────────────────────────────────────────────┤ + │ 万象 │ 包罗万象 — 多模态、多Agent、多工具、多场景,无所不包 │ + ├──────┼──────────────────────────────────────────────────────────────────────┤ + │ 开物 │ 《天工开物》+ "开物成务" — 打通万物,成就事业 │ + ├──────┼──────────────────────────────────────────────────────────────────────┤ + │ 无极 │ 无极生太极 — 无限可能,无边界的自主智能 │ + └──────┴──────────────────────────────────────────────────────────────────────┘ \ No newline at end of file diff --git a/docs/Obsidian笔记体系/Projects/agent/我想创建一个类似openclaw的agent,和现在的平台有和区别呢.md b/docs/Obsidian笔记体系/Projects/agent/我想创建一个类似openclaw的agent,和现在的平台有和区别呢.md new file mode 100644 index 0000000..e0ee48d --- /dev/null +++ b/docs/Obsidian笔记体系/Projects/agent/我想创建一个类似openclaw的agent,和现在的平台有和区别呢.md @@ -0,0 +1,42 @@ +你这个问题很关键。先按你的意思把“类似 openclaw”理解为:一个通用主 Agent,能自主规划、拆任务、调工具、必要时再拉起子 Agent 持续执行。 +和你现在这套平台相比,核心区别在下面几块: + +## 主要区别 + +- 执行模型 + + - 现在平台:以工作流节点为中心(Start/LLM/Cache/Loop 等),流程可视化、可控。 + - openclaw 类:以**Agent循环(plan-act-observe)**为中心,动态决策更强,流程不一定预先画好。 +- 多 Agent 编排 + + - 现在平台:主流程里“调用另一个 Agent/子工作流”能力还偏弱(你代码里 `subworkflow` 还是占位)。 + - openclaw 类:通常把“委派给子 Agent”作为一等能力,任务分工更自然。 +- 动态创建 Agent + + - 现在平台:更适合“模板复制 + 配置更新”,不适合对话中从零生成完整 workflow JSON。 + - openclaw 类:更强调运行时动态角色切换/创建执行单元(但也要做好安全隔离)。 +- 工程治理与可控性 + + - 现在平台:审计、日志、节点级可观测性好,业务方容易托管。 + - openclaw 类:自主性强,但要额外补“边界控制”(权限、预算、回滚、人工确认)。 +- 适配场景 + + - 现在平台:固定业务流程、可配置客服/工具编排、可视化运维。 + - openclaw 类:复杂研发任务、探索式问题、需要“先想再干再反思”的长链任务。 + +## 你现在平台的优势(别丢) + +- 节点化可视化 + 权限体系 + 执行日志,这些是企业化落地很重要的。 +- 对“稳定复用场景”非常好(客服、固定流程自动化)。 + +## 如果你要“做成 openclaw 风格”,最小改造路线 + +- 先做一个 Main Agent(路由官):只负责意图识别 + 任务分解 + 选择模板 Agent。 +- 后端补一个真实的 `invoke_agent` 能力(而不是占位 `subworkflow`)。 +- 子 Agent 优先走“模板复制”而不是“从零造图”。 +- 加 4 个护栏:`max_steps`、超时、可用工具白名单、关键操作人工确认。 + +--- + +一句话:你现在平台更像“可编排的业务工作流系统”,openclaw 更像“高自治任务执行体”。 +你可以在不推翻现平台的前提下,先把“主 Agent + 子 Agent 调度”做出来,就已经很接近 openclaw 的体验了。 \ No newline at end of file diff --git a/docs/Obsidian笔记体系/Projects/agent/新方向.md b/docs/Obsidian笔记体系/Projects/agent/新方向.md new file mode 100644 index 0000000..90ea097 --- /dev/null +++ b/docs/Obsidian笔记体系/Projects/agent/新方向.md @@ -0,0 +1,170 @@ +❯ 当前项目,需要一个主manin agent作为入口吗,我想让这个平台能自主的干事情,比如我给他一个飞书账户,它可以在上面和人一样的使用 + +● 这是个很好的方向。你描述的本质上是一个自主智能体操作系统——天工平台作为大脑,飞书作为它的"手和眼睛"。 + + 是否需要 Main Agent? + + 需要,但不是传统意义上的"入口 Agent"。 更好的架构是一个 编排层(Orchestration Layer),它不是一个 Agent,而是平台的自主运行内核: + + ┌─────────────────────────────────────────────────┐ + │ 天工平台 │ + │ ┌───────────────────────────────────────────┐ │ + │ │ 编排内核 (Orchestrator) │ │ + │ │ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────────┐ │ │ + │ │ │目标 │ │任务 │ │记忆 │ │自主决策 │ │ │ + │ │ │解析 │ │编排 │ │系统 │ │引擎 │ │ │ + │ │ └─────┘ └─────┘ └─────┘ └─────────┘ │ │ + │ └───────────────────────────────────────────┘ │ + │ │ │ │ │ + │ ┌────┴────┐ ┌───┴───┐ ┌───┴────┐ │ + │ │ 橙子助手 │ │ 灵犀 │ │ 苏瑶 │ ... (36个) │ + │ └─────────┘ └───────┘ └────────┘ │ + │ │ │ │ │ + │ ┌────┴──────────┴──────────┴────┐ │ + │ │ 工具层 (40+ tools) │ │ + │ │ 飞书消息 | 邮件 | 搜索 | 文件 │ │ + │ └───────────────────────────────┘ │ + └─────────────────────────────────────────────────┘ + + 飞书作为"人机接口"要解决的核心问题 + + 给 Agent 一个飞书账号让它像人一样使用,需要三个能力: + + 1. 飞书消息的"读"能力(已有基础) + + 现在各机器人只能收 p2p 单聊消息。要像人一样,还需要: + + ┌────────────────┬──────┬──────────────────────────┐ + │ 能力 │ 现状 │ 需要 │ + ├────────────────┼──────┼──────────────────────────┤ + │ 接收单聊消息 │ 已有 │ — │ + ├────────────────┼──────┼──────────────────────────┤ + │ 接收群聊 @消息 │ 无 │ 监听群聊,被@时响应 │ + ├────────────────┼──────┼──────────────────────────┤ + │ 读取群聊历史 │ 无 │ 获取群聊上下文,理解讨论 │ + ├────────────────┼──────┼──────────────────────────┤ + │ 主动发消息到群 │ 无 │ 推送日报、告警、回复 │ + └────────────────┴──────┴──────────────────────────┘ + + 2. 飞书的"写"能力(部分已有) + + ┌───────────────┬──────┬──────────────────┐ + │ 能力 │ 现状 │ 需要 │ + ├───────────────┼──────┼──────────────────┤ + │ 发送文本/卡片 │ 已有 │ — │ + ├───────────────┼──────┼──────────────────┤ + │ 创建飞书文档 │ 无 │ 自动写报告、周报 │ + ├───────────────┼──────┼──────────────────┤ + │ 创建/管理日程 │ 无 │ 安排会议、提醒 │ + ├───────────────┼──────┼──────────────────┤ + │ 审批流操作 │ 无 │ 自动提交/审批 │ + └───────────────┴──────┴──────────────────┘ + + 3. 自主性的"脑"(核心缺口) + + 这才是关键——Agent 什么时候做什么事: + + 用户: "帮我关注公司群里的技术讨论,每天18:00总结" + + 编排内核: + 08:00 启动"群聊监听"任务,持续监听目标群 + 18:00 触发"每日总结"Agent,读取今日群聊记录 + 18:05 生成总结报告,发送到用户单聊 + 18:06 归档到知识库 + + 建议的演进路线 + + 第一阶段:飞书能力补全(1-2周) + - 群聊消息监听(接收+发送) + - 飞书文档 API(创建/编辑文档) + - 飞书日历 API(创建/管理日程) + + 第二阶段:编排内核(2-3周) + - 目标管理:用户用自然语言设定长期目标 + - 任务编排:自动拆解目标 → 子任务 → 分配给不同 Agent + - 自主触发:基于时间/事件/条件自动启动 Agent + + 第三阶段:自主学习(持续) + - 从交互中学习用户偏好 + - Agent 间知识共享和协作 + - 主动发现问题并提出建议 + + --- + 要开始从哪个阶段动手?我建议先把飞书的群聊和文档能力补上,这是 Agent "像人一样用飞书"的基础。 + + + + + + 三个真正有价值的方向 + + 方向一:数字员工工厂 + + 不是"一个飞书账号",而是一支 AI 团队。 + + 用户: "这个季度我们要把用户留存率从60%提到75%" + + 天工自动: + 1. 数据分析Agent → 拉数据,找留存漏斗瓶颈 + 2. 竞品调研Agent → 搜索竞品留存策略 + 3. 方案Agent → 基于分析结果,生成3个方案 + 4. A/B测试Agent → 设计方案、监控数据 + 5. 复盘Agent → 一周后自动复盘,给出结论 + + 用户看到的不是聊天记录,而是一个正在运作的迷你团队。 + + 核心能力:目标 → 自动拆解 → 多Agent并行执行 → 结果汇总。人只需要定方向和做决策。 + + --- + 方向二:个人数字分身 + + 让天工学你——不是学怎么回消息,而是学你怎么思考、怎么决策。 + + Day 1-30: 天工观察你的工作模式 + - 你怎么处理邮件 + - 你怎么审核代码 + - 你怎么写文档 + - 你怎么做决策 + + Day 30+: 开始代理执行 + - "这个PR你看下" → 自动审核,标注问题,建议合入 + - "这个合同审一下" → 对照历史合同,标记风险条款 + - "这个需求评估一下" → 拉历史数据,给工时预估 + + 你只需要对关键决策点头或摇头。 + + 核心能力:从观察到模仿 → 从模仿到代理 → 从代理到自主。这是真正的 AI 能力曲线。 + + 对比飞书路线:飞书是"给 AI 一只手",数字分身是"给 AI 一个角色"。 + + --- + 方向三:知识自进化系统 + + 这个方向最大胆——让天工成为一个会自己变聪明的平台。 + + 传统系统: 人类写规则 → 系统执行 + 天工: 系统观察 → 系统总结 → 系统改进 → 系统变强 + + 具体表现: + - Agent A 解决了一个棘手bug,自动沉淀为知识,所有Agent受益 + - 发现某个工作流经常卡在某节点,自动优化流程 + - 用户反馈"这个回答不好",自动调整策略,不再犯同样错误 + - 监控到新工具发布,自动学习并集成 + + --- + 我的判断 + + ┌──────────────┬──────┬──────┬───────────────────────┬──────────┐ + │ 方向 │ 价值 │ 难度 │ 差异化 │ 建议优先 │ + ├──────────────┼──────┼──────┼───────────────────────┼──────────┤ + │ 飞书增强 │ 中 │ 低 │ 低(钉钉/企微都能做) │ ❌ │ + ├──────────────┼──────┼──────┼───────────────────────┼──────────┤ + │ 数字员工工厂 │ 极高 │ 中 │ 极高 │ ✅ 首选 │ + ├──────────────┼──────┼──────┼───────────────────────┼──────────┤ + │ 个人数字分身 │ 极高 │ 高 │ 高 │ 中期 │ + ├──────────────┼──────┼──────┼───────────────────────┼──────────┤ + │ 知识自进化 │ 极高 │ 极高 │ 极高 │ 长期愿景 │ + └──────────────┴──────┴──────┴───────────────────────┴──────────┘ + + 数字员工工厂是三者中最适合现在就动手的——它基于现有的 Agent 编排能力、36个技能 + Agent、工作流引擎,不需要从零开始。而且它的产品形态非常清晰:给平台一个目标,它给你一支团队。 \ No newline at end of file diff --git a/docs/Obsidian笔记体系/Projects/agent/未来规划.md b/docs/Obsidian笔记体系/Projects/agent/未来规划.md new file mode 100644 index 0000000..fd7dacb --- /dev/null +++ b/docs/Obsidian笔记体系/Projects/agent/未来规划.md @@ -0,0 +1 @@ +如需再扩展:同一 Agent 多人协作、每人用自己 Key,需要改归属策略(例如按登录用户注入 `trusted_uid`),可以再说一下你的产品规则。 \ No newline at end of file diff --git a/docs/Obsidian笔记体系/Projects/agent/苏瑶记忆方案.md b/docs/Obsidian笔记体系/Projects/agent/苏瑶记忆方案.md new file mode 100644 index 0000000..b455245 --- /dev/null +++ b/docs/Obsidian笔记体系/Projects/agent/苏瑶记忆方案.md @@ -0,0 +1,124 @@ +> 这种记忆策略,优缺点,是否还有更好的记忆解决方案? + +● 聊记忆策略之前,先看你当前这套架构实际怎么跑的: + + --- + 当前记忆架构拆解 + + ┌─────────────────────────────────────────────┐ + │ 会话内消息 (20条) │ + │ 用户: 今天好累 ← 直接可引用 │ + │ 苏瑶: 怎么了呀,跟我说说 ← 20条满后FIFO │ + │ ...15条后... │ + │ 用户: 刚才说的那个方案 ← 第18条还在 │ + │ 苏瑶: (记得) │ + │ 用户: 上周聊的那个呢? ← 第22条已丢弃 │ + └─────────────────────────────────────────────┘ + ↓ LLM每2轮触发压缩 + ┌─────────────────────────────────────────────┐ + │ MySQL 长期记忆 (永久) │ + │ { │ + │ "user_profile": {"job": "程序员", ...}, │ + │ "key_facts": ["加班多","喜欢猫"], │ + │ "topics": ["工作压力","养猫"], │ + │ "summary": "用户最近工作压力大..." │ + │ } │ + └─────────────────────────────────────────────┘ + ↓ 每条对话 → embedding + ┌─────────────────────────────────────────────┐ + │ MySQL 向量记忆 (50条) │ + │ 新对话: "最近睡眠不好" │ + │ → embedding 匹配到之前聊的"失眠"相关 │ + │ → 注入 Top-5 相关性最高的历史片段 │ + └─────────────────────────────────────────────┘ + + --- + 优缺点分析 + + 短期记忆(20条滑动窗口) + + ┌───────────────────────┬───────────────────────────────────────────────┐ + │ 优点 │ 缺点 │ + ├───────────────────────┼───────────────────────────────────────────────┤ + │ 实现简单,无额外成本 │ 20条太少,苏瑶场景下一段深度倾诉就20轮以上 │ + ├───────────────────────┼───────────────────────────────────────────────┤ + │ 保证 LLM context 不爆 │ FIFO 简单裁剪,无重要性判断,可能丢了关键信息 │ + ├───────────────────────┼───────────────────────────────────────────────┤ + │ 延迟低 │ 无法区分"刚说的重点"和"闲聊寒暄" │ + └───────────────────────┴───────────────────────────────────────────────┘ + + 长期记忆(LLM 压缩 → MySQL) + + ┌───────────────────────┬─────────────────────────────────────────────────────────────────────────────────────────┐ + │ 优点 │ 缺点 │ + ├───────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────┤ + │ 永久存储,跨会话可用 │ 压缩是有损的,LLM 可能提取错误或遗漏关键信息 │ + ├───────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────┤ + │ 自动提取画像和事实 │ 每2轮就触发一次 LLM 调用→额外 token 消耗 │ + ├───────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────┤ + │ 启动时注入 system │ 压缩后的 JSON 很抽象:"user_profile": {"mood": "压力大"} — │ + │ prompt │ 苏瑶只知道"用户压力大",但忘了是为什么压力大、当时怎么安慰的 │ + └───────────────────────┴─────────────────────────────────────────────────────────────────────────────────────────┘ + + 向量记忆(Embedding + 语义搜索) + + ┌────────────────────────────┬───────────────────────────────────────────────────┐ + │ 优点 │ 缺点 │ + ├────────────────────────────┼───────────────────────────────────────────────────┤ + │ 语义匹配,能找到"相关"历史 │ 只搜最近 50条,时间久了旧记忆会被新对话挤出 │ + ├────────────────────────────┼───────────────────────────────────────────────────┤ + │ 不依赖关键词匹配 │ embedding 质量依赖 SiliconFlow 模型,中文效果一般 │ + ├────────────────────────────┼───────────────────────────────────────────────────┤ + │ 检索效率高 │ 只存不更新,重复信息越来越多 │ + └────────────────────────────┴───────────────────────────────────────────────────┘ + + --- + 核心问题 + + 三层记忆之间没有协同: + + 1. 短期记忆丢了的信息 → 长期记忆只有抽象画像,具体对话丢失 + 2. 向量记忆只存不删 → 累积后相似内容太多,检索质量下降 + 3. 缺少情感状态追踪 — 苏瑶是情感陪聊,但记忆系统完全没考虑情绪维度 + + --- + 更好的方案(分三档) + + 方案 A:低成本快改(今天就能做) + + 改动当前参数,针对苏瑶场景优化: + + - max_history 20→40(深度对话不至于丢上下文) + - 压缩触发从 2 轮→8 轮(减少 LLM 调用,提高压缩质量) + - 向量记忆检索范围 50→200(保留更久的历史) + + 方案 B:中等改造(记忆分层 + 情绪追踪) + + 在不改架构的前提下,加两个模块: + + 1. 记忆分级存储 + 核心记忆(永久): 用户名、职业、重要事件(生日、重大决策) + 情景记忆(30天): 具体对话场景、当时聊了什么 + 情感记忆(7天): 最近心情走向、什么话题触发情绪波动 + - 不同 TTL 的 Redis key,定期归档到 MySQL + - 苏瑶启动时按优先级加载 + + 2. 情绪时间线 + - 每次对话记录 {emotion: "低落", topic: "工作", time: "2026-05-02"} + - 苏瑶下次能说:"上次聊到工作你好像不太开心,最近好点了吗?" + + 方案 C:理想方案(外挂知识库 + RAG) + + 适合有规模要求的场景: + + - Milvus / Qdrant 替代 MySQL 存向量(检索速度提升 10x+) + - Mem0 / Memobase 开源记忆层,自动做实体抽取 + 关系图谱 + - GraphRAG 构建用户知识图谱:用户--[关系]-->关键事件--[关联]-->情绪 + + --- + 建议 + + 对苏瑶当前阶段,方案 A 是最务实的,改3个参数就能让体验明显提升。方案 B + 值得认真考虑,尤其情绪时间线对情感陪聊是质的飞跃。 + + 要我先把方案 A 的改动做了? \ No newline at end of file diff --git a/docs/Obsidian笔记体系/Projects/agent/项目价值评估.md b/docs/Obsidian笔记体系/Projects/agent/项目价值评估.md new file mode 100644 index 0000000..181541b --- /dev/null +++ b/docs/Obsidian笔记体系/Projects/agent/项目价值评估.md @@ -0,0 +1,250 @@ +● 天工智能体平台 — 项目价值评估报告 + + --- + 一、代码规模与技术投入 + + ┌──────────────────┬──────────────────────┐ + │ 维度 │ 数据 │ + ├──────────────────┼──────────────────────┤ + │ 后端 Python 文件 │ 273 个,约 69,000 行 │ + ├──────────────────┼──────────────────────┤ + │ 前端 Vue/TS 文件 │ 49 个,约 31,000 行 │ + ├──────────────────┼──────────────────────┤ + │ 数据库模型 │ 32 个 │ + ├──────────────────┼──────────────────────┤ + │ API 路由 │ 33 个 │ + ├──────────────────┼──────────────────────┤ + │ 页面/路由 │ 29 个 │ + ├──────────────────┼──────────────────────┤ + │ 内置工具函数 │ 79 个 │ + ├──────────────────┼──────────────────────┤ + │ 工作流引擎 │ 6,188 行 单体文件 │ + ├──────────────────┼──────────────────────┤ + │ 总代码量 │ ~10 万行 │ + └──────────────────┴──────────────────────┘ + + 评估: 这是一个单人/小团队项目中的大型全栈系统,投入约 6-12 人月工作量。 + + --- + 二、技术架构评分 + + ┌────────────┬───────┬──────────────────────────────────────────────────────────────────────────────┐ + │ 维度 │ 评分 │ 说明 │ + ├────────────┼───────┼──────────────────────────────────────────────────────────────────────────────┤ + │ 架构完整性 │ ★★★★☆ │ 前后端分离、异步任务(Celery)、WebSocket、SSE流式、RAG向量检索、工作流DAG引擎 │ + ├────────────┼───────┼──────────────────────────────────────────────────────────────────────────────┤ + │ 技术选型 │ ★★★★☆ │ Vue3+FastAPI+MySQL+Redis+Celery,成熟且适合中小团队 │ + ├────────────┼───────┼──────────────────────────────────────────────────────────────────────────────┤ + │ 代码质量 │ ★★★☆☆ │ 核心逻辑扎实(Agent ReAct循环、工作流引擎),但缺乏单元测试、存在安全漏洞 │ + ├────────────┼───────┼──────────────────────────────────────────────────────────────────────────────┤ + │ 可扩展性 │ ★★★★☆ │ 插件市场、工具注册表、模型配置分离、多租户用户体系 │ + ├────────────┼───────┼──────────────────────────────────────────────────────────────────────────────┤ + │ 文档完善度 │ ★★★★★ │ 8个文档文件,覆盖快速开始/架构/开发/部署/API/贡献 │ + └────────────┴───────┴──────────────────────────────────────────────────────────────────────────────┘ + + --- + 三、功能深度分析 + + 核心竞争力(差异化功能) + + ┌──────────────────────┬──────┬───────────────────────────────────────────────────────┐ + │ 功能 │ 深度 │ 价值 │ + ├──────────────────────┼──────┼───────────────────────────────────────────────────────┤ + │ Agent ReAct 自主循环 │ 深 │ 支持 LLM 工具调用 → 结果反馈 → 自我修正的完整闭环 │ + ├──────────────────────┼──────┼───────────────────────────────────────────────────────┤ + │ 可视化工作流 DAG │ 深 │ 6,188行引擎,支持条件分支/循环/审批/LLM/HTTP/代码节点 │ + ├──────────────────────┼──────┼───────────────────────────────────────────────────────┤ + │ 多 Agent 编排 │ 深 │ 5种模式(串行/辩论/路由/流水线/图),Agent间知识共享 │ + ├──────────────────────┼──────┼───────────────────────────────────────────────────────┤ + │ 飞书深度集成 │ 深 │ 4个独立飞书应用+WebSocket实时连接,支持6个Bot │ + ├──────────────────────┼──────┼───────────────────────────────────────────────────────┤ + │ 数字孪生/数字员工 │ 中 │ 概念新颖,有独立页面但实现较薄 │ + ├──────────────────────┼──────┼───────────────────────────────────────────────────────┤ + │ 知识进化系统 │ 中 │ RAG检索+学习模式提取+向量记忆,但刚刚完成基础架构 │ + ├──────────────────────┼──────┼───────────────────────────────────────────────────────┤ + │ 定时调度 │ 完整 │ Cron表达式+Agent自动执行+飞书推送 │ + ├──────────────────────┼──────┼───────────────────────────────────────────────────────┤ + │ 行为采集学习 │ 初 │ 用户行为记录,但反馈学习链路未闭合 │ + └──────────────────────┴──────┴───────────────────────────────────────────────────────┘ + + 通用功能覆盖 + + 工具市场、模板市场、数据源管理、模型配置、权限管理、监控仪表板、告警规则、审批流、执行历史——标准企业级平台功能齐全 + 。 + + --- + 四、商业化潜力评估 + + ┌────────────┬──────────────────────────────────────────────────┐ + │ 因素 │ 判断 │ + ├────────────┼──────────────────────────────────────────────────┤ + │ 目标用户 │ 企业/团队需要AI自动化工作流 + 定制Agent │ + ├────────────┼──────────────────────────────────────────────────┤ + │ 竞品对比 │ Coze/Dify 的轻量替代,优势在飞书集成和工作流深度 │ + ├────────────┼──────────────────────────────────────────────────┤ + │ 许可证 │ 无开源协议(私有项目) │ + ├────────────┼──────────────────────────────────────────────────┤ + │ 部署方案 │ Docker Compose 一键部署,生产配置就绪 │ + ├────────────┼──────────────────────────────────────────────────┤ + │ 安全成熟度 │ ⚠️ 刚修复35个安全/功能缺陷,仍需持续加固 │ + ├────────────┼──────────────────────────────────────────────────┤ + │ 测试覆盖 │ 仅 10 个测试文件,覆盖严重不足 │ + └────────────┴──────────────────────────────────────────────────┘ + + --- + 五、核心优势总结 + + 1. Agent 运行时成熟度高 — ReAct循环+工具调用+自审查+预算控制,超过多数开源方案 + 2. 飞书生态深度绑定 — 6个Bot独立运行,是中国企业场景的杀手级功能 + 3. 工作流引擎功能完整 — 节点类型丰富,模板变量+条件分支+审批回路 + 4. 全栈自研可控 — 无第三方低代码平台依赖,技术栈统一 + + 六、关键短板 + + 1. 测试几乎为零 — 10万行代码仅10个测试文件,生产风险高 + 2. 安全债务重 — 35个已修复缺陷表明此前安全实践薄弱 + 3. 单点故障风险 — 工作流引擎 6,188 行单体文件,维护成本高 + 4. 数字孪生/知识进化 — 概念超前但实现浅,需持续投入 + + --- + 七、总体估值 + + ┌──────────────┬──────────────────────────────────────────┐ + │ 维度 │ 等级 │ + ├──────────────┼──────────────────────────────────────────┤ + │ 技术成熟度 │ B+ (可运行但需加固) │ + ├──────────────┼──────────────────────────────────────────┤ + │ 商业就绪度 │ B (功能全但缺测试和合规) │ + ├──────────────┼──────────────────────────────────────────┤ + │ 创新性 │ A- (Agent编排+飞书集成有差异化) │ + ├──────────────┼──────────────────────────────────────────┤ + │ 代码资产价值 │ 50-80万人天 (按全栈工程师 2000元/天估算) │ + └──────────────┴──────────────────────────────────────────┘ + + 一句话: 这是一个有真实商业场景、架构设计合理、功能深度突出的 AI Agent + 平台,核心引擎价值高,但需要补齐测试、安全和监控才能进入生产级商业化阶段。 + +✻ Sautéed for 4m 28s · 2 background tasks still running + +● Agent "项目价值评估调研" completed + +● 后台调研完成,整合为最终评估报告。 + + --- + 天工智能体平台 — 项目价值评估报告 + + 一、规模概览 + + ┌────────────┬──────────────────────────────────┐ + │ 指标 │ 数值 │ + ├────────────┼──────────────────────────────────┤ + │ 后端代码 │ ~82,000 行 Python,273 个文件 │ + ├────────────┼──────────────────────────────────┤ + │ 前端代码 │ ~31,000 行 Vue/TS,49 个页面组件 │ + ├────────────┼──────────────────────────────────┤ + │ 数据库模型 │ 32 个 │ + ├────────────┼──────────────────────────────────┤ + │ API 端点 │ ~250 个(33 个路由文件) │ + ├────────────┼──────────────────────────────────┤ + │ 内置工具 │ 54 个 async 工具函数 │ + ├────────────┼──────────────────────────────────┤ + │ 工作流引擎 │ 6,188 行 单体核心 │ + ├────────────┼──────────────────────────────────┤ + │ 前端页面 │ 26 个(全部需认证) │ + ├────────────┼──────────────────────────────────┤ + │ 总代码量 │ ~11 万行 │ + └────────────┴──────────────────────────────────┘ + + --- + 二、技术栈 + + ┌──────────┬───────────────────────────────────────────────────────────────────────────────┐ + │ 层 │ 技术 │ + ├──────────┼───────────────────────────────────────────────────────────────────────────────┤ + │ 前端 │ Vue 3.4 + TypeScript + Vite + Pinia + Element Plus + Monaco Editor + Vue Flow │ + ├──────────┼───────────────────────────────────────────────────────────────────────────────┤ + │ 后端 │ FastAPI + SQLAlchemy + Celery + Redis + Pydantic │ + ├──────────┼───────────────────────────────────────────────────────────────────────────────┤ + │ AI │ LangChain + OpenAI / DeepSeek / SiliconFlow / Anthropic │ + ├──────────┼───────────────────────────────────────────────────────────────────────────────┤ + │ 基础设施 │ Docker Compose + Nginx + MySQL + Prometheus + Filebeat │ + ├──────────┼───────────────────────────────────────────────────────────────────────────────┤ + │ 集成 │ 飞书 6 套独立应用 + RabbitMQ + Kafka │ + └──────────┴───────────────────────────────────────────────────────────────────────────────┘ + + --- + 三、架构亮点(核心竞争力) + + ┌──────────────────────┬────────┬──────────────────────────────────────────────────┐ + │ 能力 │ 成熟度 │ 说明 │ + ├──────────────────────┼────────┼──────────────────────────────────────────────────┤ + │ Agent ReAct 自主循环 │ ★★★★★ │ 标准 LLM→工具→结果→反思 闭环,含预算熔断+自审查 │ + ├──────────────────────┼────────┼──────────────────────────────────────────────────┤ + │ 可视化工作流 DAG │ ★★★★☆ │ 6K行引擎,支持 LLM/代码/HTTP/审批/条件/循环节点 │ + ├──────────────────────┼────────┼──────────────────────────────────────────────────┤ + │ 多 Agent 编排 │ ★★★★☆ │ 串行/辩论/路由/流水线 4 种模式,Agent 间知识共享 │ + ├──────────────────────┼────────┼──────────────────────────────────────────────────┤ + │ 飞书深度集成 │ ★★★★★ │ 6 个独立 Bot + WebSocket 直连,国内场景杀手级 │ + ├──────────────────────┼────────┼──────────────────────────────────────────────────┤ + │ 知识体系 │ ★★★☆☆ │ RAG + 向量记忆 + 知识图谱 + 自动提取,刚完成基础 │ + ├──────────────────────┼────────┼──────────────────────────────────────────────────┤ + │ 数字孪生/影子执行 │ ★★☆☆☆ │ 概念创新,实现较薄 │ + ├──────────────────────┼────────┼──────────────────────────────────────────────────┤ + │ 行为采集+用户指纹 │ ★★★☆☆ │ 中间件+浏览器指纹,但反馈学习链路未闭合 │ + └──────────────────────┴────────┴──────────────────────────────────────────────────┘ + + --- + 四、功能矩阵 + + Agent管理 ████████████ 创建/配置/设计/对话/市场 + 工作流 ████████████ 可视化DAG/模板市场/执行历史 + 工具生态 ██████████ 54内置+插件市场+HTTP/代码段 + 多Agent编排 ██████████ 4种协作模式+编排模板 + 飞书集成 ████████████ 6Bot+消息/文档/审批/日历 + 调度告警 ██████████ Cron定时+告警规则+监控面板 + 知识管理 ████████ RAG检索+图谱+自动学习 + 数字员工 ██████ 数字孪生+员工工厂 + 安全权限 ██████ JWT+角色+审批(刚加固) + 测试运维 ████ Docker+Prometheus+10测试文件 + + --- + 五、商业化评估 + + ┌────────────┬─────────────────────────────────┐ + │ 因素 │ 判断 │ + ├────────────┼─────────────────────────────────┤ + │ 许可证 │ MIT 开源 │ + ├────────────┼─────────────────────────────────┤ + │ 目标市场 │ 企业 AI 自动化 + 飞书生态用户 │ + ├────────────┼─────────────────────────────────┤ + │ 竞品对标 │ Dify / Coze 的飞书特化替代方案 │ + ├────────────┼─────────────────────────────────┤ + │ 部署就绪度 │ Docker 一键部署,生产配置齐全 │ + ├────────────┼─────────────────────────────────┤ + │ 安全成熟度 │ ⚠️ 刚修复 35 个缺陷,需持续加固 │ + ├────────────┼─────────────────────────────────┤ + │ 测试覆盖 │ ⚠️ 仅 10 个测试文件,严重不足 │ + ├────────────┼─────────────────────────────────┤ + │ 文档完善度 │ ★★★★★ 8 篇文档 │ + └────────────┴─────────────────────────────────┘ + + --- + 六、总体评估 + + ┌──────────────┬────────────────────────────────┐ + │ 维度 │ 评级 │ + ├──────────────┼────────────────────────────────┤ + │ 技术创新性 │ A- │ + ├──────────────┼────────────────────────────────┤ + │ 架构完整性 │ B+ │ + ├──────────────┼────────────────────────────────┤ + │ 代码质量 │ B- │ + ├──────────────┼────────────────────────────────┤ + │ 商业就绪度 │ B │ + ├──────────────┼────────────────────────────────┤ + │ 代码资产估值 │ 50-80 万元(按全栈 2000元/天) │ + └──────────────┴────────────────────────────────┘ + + 结论: 这是一个有真实商业场景、架构合理、飞书集成深度突出的 AI Agent 平台。核心引擎(Agent Runtime + 工作流引擎 + + 多Agent编排)价值高,但需补齐测试、安全加固和监控才能进入生产级 SaaS 阶段。最突出的差异化优势是飞书 6 Bot + 深度集成,在国内企业协同场景有明确竞争力。 diff --git a/docs/Obsidian笔记体系/Projects/agent/飞书机器人.md b/docs/Obsidian笔记体系/Projects/agent/飞书机器人.md new file mode 100644 index 0000000..8a9fa5d --- /dev/null +++ b/docs/Obsidian笔记体系/Projects/agent/飞书机器人.md @@ -0,0 +1,12 @@ +苹果 +appid cli_a97f3e2ecaf81cba +Verification Token +6BtaWwXqQZh29syLvdxstcS8tIGMmI8U + +App Secret KtS5Df3qk9mLrZTJuU2NDgNyv1DFacsE + +橙子 +appid cli_a97f1271ec345cc6 +App Secret FrGxzzvZazeRbfpYvQbo5dZEiYXz84BF +Verification Token +FpLhWw4gmSHKO1Wx9AQcGc0YKFCP5qc1 \ No newline at end of file diff --git a/docs/Obsidian笔记体系/Projects/aitsc/aitsc 是一个功能完整、架构清晰的 AI 提示词生成平台,具备以下优势:.md b/docs/Obsidian笔记体系/Projects/aitsc/aitsc 是一个功能完整、架构清晰的 AI 提示词生成平台,具备以下优势:.md new file mode 100644 index 0000000..a66fa28 --- /dev/null +++ b/docs/Obsidian笔记体系/Projects/aitsc/aitsc 是一个功能完整、架构清晰的 AI 提示词生成平台,具备以下优势:.md @@ -0,0 +1,241 @@ + + aitsc 是一个功能完整、架构清晰的 AI 提示词生成平台,具备以下优势: + + 1. 产品定位准确:抓住 AI 提示词优化市场痛点 + 2. 技术栈合理:Python/Flask 生态成熟稳定 + 3. 功能覆盖全面:从核心提示词生成到多场景 AI 应用 + 4. 部署方案完备:支持从开发到生产的全链路部署 + + 主要风险集中在安全方面:硬编码的数据库密码和 API 密钥一旦泄露,可能导致数据泄露和 API + 滥用。建议优先解决此问题后再投入生产使用。 + + 项目具备良好的商业化潜力,只需进行适当的安全加固和架构优化,即可成为成熟的 AI 应用平台。 + + ---分析完成时间:2026-04-02 + 分析工具:Claude Code (Sonnet 4.6) + +● aitsc 项目分析报告 + + 项目概述 + + 项目名称:提示词大师 (aitsc / flask_prompt_master) + 项目定位:基于大语言模型(LLM)的智能提示词生成与多场景 AI 应用平台 + 技术栈:Python 3.12、Flask、Gunicorn、SQLAlchemy、MySQL、DeepSeek API(OpenAI 兼容)、Docker、Kubernetes + 目标用户:Web 用户、微信小程序用户、管理员 + 部署方式:本地开发、Docker 容器化、K8s 云部署、Windows 服务 + 访问端口:5002 + + 项目结构分析 + + 目录结构 + + aitsc/ + ├── src/flask_prompt_master/ # 主应用核心 + │ ├── __init__.py # 应用工厂函数 + │ ├── app.py # 模拟 API 服务(测试用) + │ ├── config.py # 应用配置 + │ ├── models/ # 数据模型 + │ │ ├── models.py # 核心数据模型 + │ │ ├── favorites.py # 收藏模型 + │ │ ├── history_models.py # 历史记录模型 + │ │ ├── optimization_history.py # 优化历史模型 + │ │ └── poetry_favorites.py # 古诗词收藏模型 + │ ├── routes/ # 业务路由(蓝图) + │ │ ├── routes.py # 主路由 + │ │ ├── auth.py # 认证路由 + │ │ ├── favorites.py # 收藏路由 + │ │ ├── meal_planning.py # 饭菜规划路由 + │ │ ├── poetry.py # 古诗词解析路由 + │ │ ├── history_routes.py # 历史记录路由 + │ │ ├── weekly_report.py # 智能周报路由 + │ │ ├── travel_planning.py # 旅行攻略路由 + │ │ ├── meeting_minutes.py # 会议纪要多路由 + │ │ ├── resume_optimization.py # 简历优化路由 + │ │ ├── prompt_optimization.py # 提示词优化路由 + │ │ ├── smart_prompt_optimization.py # 智能提示词优化路由 + │ │ ├── expert_generate_2.py # 专家提示词2号 + │ │ ├── expert_generate_3.py # 专家提示词3号 + │ │ ├── android_tools.py # Android 工程师工具 + │ │ └── placeholder_apps.py # 占位应用 + │ ├── services/ # 业务逻辑服务 + │ │ ├── auth_service.py # 认证服务 + │ │ ├── favorite_service.py # 收藏服务 + │ │ └── poetry_favorite_service.py # 古诗词收藏服务 + │ ├── forms/ # 表单类(待完善) + │ ├── templates/ # HTML 模板 + │ ├── static/ # 静态资源 + │ ├── utils/ # 工具函数 + │ ├── admin/ # 后台管理 + │ └── promptsTemplates.py # 提示词模板数据(144KB) + ├── config.py # 全局配置(含腾讯云数据库) + ├── docker-compose.yml # Docker Compose 配置 + ├── docker-compose.prod.yml # 生产环境配置 + ├── docker-compose.simple.yml # 简化配置 + ├── Dockerfile # 应用 Dockerfile + ├── Dockerfile.log-manager # 日志管理 Dockerfile + ├── Dockerfile.monitor # 监控 Dockerfile + ├── requirements.txt # Python 依赖 + ├── run_dev.py # 开发环境启动脚本 + ├── run_dev_fixed.py # 修复版启动脚本 + ├── run_production_public.py # 生产环境启动脚本 + ├── k8s/ # Kubernetes 配置 + ├── wechat-miniprogram/ # 微信小程序代码 + ├── exampleAiApp01/ # 示例 AI 应用 + ├── scripts/ # 部署和管理脚本 + ├── tests/ # 测试文件 + ├── migrations/ # 数据库迁移 + ├── logs/ # 日志目录 + ├── docs/ # 文档 + ├── backups/ # 备份文件 + └── 大量中文文档(功能设计、部署指南、优化报告等) + + 架构设计 + + - MVC 模式:清晰的数据模型(Model)、视图模板(View)、路由控制器(Controller) + - 蓝图模块化:功能按业务模块划分,便于维护和扩展 + - 服务层分离:业务逻辑集中在 services 目录,路由层保持简洁 + - 配置管理:支持多环境配置(开发、测试、生产) + - 数据库:MySQL + SQLAlchemy ORM,支持本地和腾讯云双数据库 + + 功能模块分析 + + 1. 核心 AI 功能 + + - 提示词生成:用户输入简短描述,基于模板调用 LLM 生成高质量提示词 + - 意图识别:分析用户输入,推荐模板类别(新闻获取、生成图片、网站开发等) + - 专家提示词:两阶段生成(意图分析 → 领域专家模板生成) + + 2. 多场景 AI 应用 + + - 智能饭菜规划:根据人数、餐型、家乡、预算等生成地区化饭菜清单 + - 古诗词解析:提供原文、译文、注释、解读(支持收藏功能) + - 智能周报/日报:根据工作要点生成结构化报告 + - 旅行攻略规划:基于目的地、天数、人数、预算生成详细攻略 + - 会议纪要整理:原始内容转写为结构化纪要 + - 简历/求职信优化:根据岗位描述针对性优化简历内容 + - Android 工程师工具:Crash 解读、依赖冲突分析等专业工具 + + 3. 用户系统 + + - Web 用户认证:注册、登录、个人资料、Session 管理 + - 微信小程序登录:code 换 openid/session_key,返回自定义 uid + - 权限控制:登录验证装饰器保护敏感接口 + + 4. 数据管理 + + - 收藏功能:通用收藏管理,支持增删改查、统计 + - 历史记录:提示词历史、优化历史的查看、标签、批量操作 + - 模板管理:内置行业模板(写作、故事、短视频、设计、营销等) + + 5. 管理功能 + + - Flask-Admin 后台:用户/内容/系统/数据分析管理 + - 监控服务:系统运行状态监控 + - 日志管理:集中式日志收集和分析 + + 代码质量分析 + + 优点 + + 1. 结构清晰:符合 Flask 最佳实践,模块划分合理 + 2. 文档完善:大量中文文档覆盖功能设计、部署指南、优化报告 + 3. 部署方案全面:支持 Docker、K8s、Windows 服务多种部署方式 + 4. 测试覆盖:包含大量测试文件,覆盖主要功能 + 5. 错误处理:全局 500 错误处理,记录完整堆栈信息 + + 安全问题 + + 硬编码敏感信息(高风险): + - 数据库密码:!Rjb12191(腾讯云数据库) + - DeepSeek API 密钥:sk-fdf7cc1c73504e628ec0119b7e11b8cc + - 微信小程序密钥:89aa97dda3c1347c6ae3d6ab4627f1f4 + - 位置:config.py 和 src/flask_prompt_master/config.py + 密码哈希安全性不足: + - 使用 MD5 加盐哈希,建议升级为 bcrypt 或 Argon2 + - 位置:auth_service.py 的 hash_password 方法 + CORS 配置过于宽松: + - CORS_ORIGINS = ['*'] 生产环境应限制具体域名 + + 代码规范问题 + + 6. 配置文件重复:根目录和 src/flask_prompt_master 下都有 config.py + 7. 大型数据文件:promptsTemplates.py 文件过大(144KB),应考虑数据库存储 + 8. 模拟数据与真实代码混合:app.py 包含模拟 API,可能与真实路由混淆 + 9. 中英混合命名:部分文件和变量使用中文,不利于国际化协作 + + 依赖管理 + + - 主要依赖:Flask、SQLAlchemy、OpenAI、PyMySQL、Redis 等 + - 版本管理:requirements.txt 指定版本范围,但缺少 lock 文件 + - Windows 特定依赖:pywin32 用于 Windows 服务部署 + + 部署与运维 + + 支持的部署方式 + + 1. 本地开发:Python 虚拟环境 + Flask 开发服务器 + 2. Docker 容器化:完整微服务栈(App + MySQL + Redis + Nginx) + 3. Kubernetes:生产级容器编排配置 + 4. Windows 服务:通过 pywin32 部署为系统服务 + 5. 腾讯云集成:支持腾讯云数据库直连 + + 监控与维护 + + - 日志管理:Docker 日志卷 + 独立日志管理服务 + - 系统监控:独立的监控服务和管理器 + - 数据库迁移:Flask-Migrate 支持数据库版本管理 + - 备份机制:定期备份目录和脚本 + + 改进建议 + + 高优先级 + + 修复安全漏洞: + - 移除硬编码的敏感信息,全部改为环境变量 + - 更新密码哈希算法为 bcrypt 或 Argon2 + - 生产环境限制 CORS 域名 + 配置文件优化: + - 统一配置管理,消除重复配置 + - 实现多环境配置自动切换 + + 中优先级 + + 代码重构: + - 将 promptsTemplates.py 大文件内容迁移到数据库 + - 清理测试和模拟代码,分离测试环境 + - 统一命名规范,减少中英混合 + 依赖管理: + - 添加 requirements.lock 文件确保依赖一致性 + - 考虑使用 Poetry 或 Pipenv 管理依赖 + API 设计: + - 统一 API 响应格式和错误码 + - 添加 API 版本控制(目前部分使用 /api/v1/,部分没有) + + 低优先级 + + 性能优化: + - 考虑添加 Redis 缓存层减少数据库压力 + - 优化大型查询的分页性能 + 文档完善: + - 添加 API 接口文档(OpenAPI/Swagger) + - 补充部署环境的详细配置说明 + 测试增强: + - 增加集成测试和端到端测试 + - 添加 CI/CD 流水线自动化测试 + + 总结 + + aitsc 项目是一个功能丰富、架构清晰的 AI 应用平台,具备以下特点: + + 优势: + - 功能全面,覆盖多场景 AI 应用需求 + - 架构设计合理,模块化程度高 + - 部署方案多样,适应不同环境需求 + - 文档完善,便于理解和维护 + + 风险: + - 安全漏洞较为严重(硬编码敏感信息) + - 部分代码需要重构优化 + - 生产环境配置需要加固 + + 建议:立即修复安全漏洞,然后进行代码重构和性能优化,可发展为成熟的企业级 AI 应用平台。 \ No newline at end of file diff --git a/docs/Obsidian笔记体系/Projects/aitsc/wk1.md b/docs/Obsidian笔记体系/Projects/aitsc/wk1.md new file mode 100644 index 0000000..1bedbb1 --- /dev/null +++ b/docs/Obsidian笔记体系/Projects/aitsc/wk1.md @@ -0,0 +1,126 @@ +● 高优先级安全改进状态分析 + + 基于对 aitsc 项目的检查,以下是高优先级安全改进的完成情况: + + ✅ 已完成的安全改进 + + 新的配置系统已实现 + - 创建了 config/ 目录,包含 base.py、development.py、production.py、testing.py + - 根目录和 src/flask_prompt_master/config.py 都添加了弃用警告 + - 新配置系统强制从环境变量读取敏感信息,否则抛出异常 + 密码哈希算法已升级 + - auth_service.py 中已使用 bcrypt 哈希算法 + - 支持向后兼容 MD5(用于现有用户) + - 新用户注册使用 bcrypt,安全性达标 + 生产环境 CORS 配置已加固 + - production.py 中强制要求设置 CORS_ORIGINS 环境变量 + - 生产环境不能使用 ['*'],必须指定具体域名 + + ⚠️ 仍需解决的安全问题 + + .env 文件中仍包含硬编码敏感信息 + - 数据库密码:!Rjb12191 + - DeepSeek API 密钥:sk-fdf7cc1c73504e628ec0119b7e11b8cc + - 微信小程序密钥:89aa97dda3c1347c6ae3d6ab4627f1f4 + 源代码中仍有多处硬编码 + - promptsTemplates.py 中硬编码数据库密码 + - 多个路由文件(如 android_tools.py)硬编码 API 密钥作为后备值 + - 多个部署脚本和文档文件包含敏感信息 + .env 文件管理问题 + - .env 文件不应提交到版本控制 + - 应使用 .env.example 作为模板,要求用户手动创建 .env + + 🔍 发现的具体文件 + + 通过搜索发现的硬编码敏感信息文件: + - .env 文件(包含完整的敏感信息) + - src/flask_prompt_master/promptsTemplates.py(第4098、4108行有数据库密码) + - 多个路由文件使用 os.environ.get('LLM_API_KEY') or 'sk-fdf7cc1c73504e628ec0119b7e11b8cc' 模式 + - 大量文档和部署脚本文件包含敏感信息 + + 📋 建议的下一步修复 + + 立即移除 .env 中的硬编码信息 + - 使用占位符替换真实密钥 + - 添加更详细的说明要求用户从控制台获取真实密钥 + 清理源代码中的硬编码后备值 + - 移除所有 or 'hardcoded-key' 模式的后备值 + - 如果环境变量未设置,应抛出自定义异常而非使用默认值 + 加强 .env 文件管理 + - 将 .env 添加到 .gitignore + - 完善 .env.example 说明文档 + + 虽然配置架构已改进,但只要源代码和 .env 文件中还存在硬编码敏感信息,安全风险就仍然存在。 + +● 根据分析,aitsc项目的高优先级安全改进已经部分完成。具体状态如下: + + ✅ 已解决的改进 + + 配置系统重构 + - 新的配置系统位于 config/ 目录,支持多环境配置 + - 根目录 config.py 和 src/flask_prompt_master/config.py 已添加弃用警告 + - 强制从环境变量读取敏感信息,未设置时会抛出 ValueError + 密码哈希安全性升级 + - auth_service.py 已实现 bcrypt 哈希算法 + - 支持向后兼容 MD5(旧用户) + - 新用户默认使用 bcrypt,盐值标识为 'bcrypt' + 生产环境 CORS 配置加固 + - config/production.py 中强制要求设置 CORS_ORIGINS 环境变量 + - 未设置或为空时会抛出异常 + + ⚠️ 仍需解决的严重问题 + + 1. 源代码中的硬编码敏感信息 + + 多个Python文件中仍存在硬编码的敏感信息: + + 数据库密码 (!Rjb12191): + - src/flask_prompt_master/promptsTemplates.py (4098行) + - 至少10个其他脚本文件(部署、初始化脚本) + DeepSeek API 密钥 (sk-fdf7cc1c73504e628ec0119b7e11b8cc): + - src/flask_prompt_master/routes/android_tools.py (17行) + - src/flask_prompt_master/routes/expert_generate_2.py + - src/flask_prompt_master/routes/expert_generate_3.py + - src/flask_prompt_master/routes/meal_planning.py (仍有硬编码) + - 多个其他路由文件 + 微信小程序密钥 (89aa97dda3c1347c6ae3d6ab4627f1f4): + - 在 .env 文件和其他文档中 + + 2. .env 文件中的硬编码 + + .env 文件仍然包含: + - DATABASE_URL 中的数据库密码 + - LLM_API_KEY (DeepSeek API密钥) + - WX_APPID 和 WX_SECRET (微信小程序凭据) + + 风险:.env 文件可能被意外提交到版本控制,导致敏感信息泄露。 + + 3. 配置文件重复问题 + + 虽然有了新的 config/ 系统,但两个旧配置文件的弃用警告仍不够彻底: + - config.py (根目录) + - src/flask_prompt_master/config.py + + 🔍 遗留的中优先级问题 + + 大型数据文件 promptsTemplates.py (144KB) + - 仍包含硬编码的数据库连接信息 + - 应考虑迁移到数据库存储 + API密钥使用不一致 + - 有些路由文件使用 os.environ.get('LLM_API_KEY') or '硬编码密钥' 模式 + - 应统一为强制从环境变量读取,去掉 fallback 硬编码 + + 📋 建议的后续行动 + + 立即行动(高优先级): + 1. 清理所有源代码中的硬编码敏感信息 + 2. 将 .env 中的真实凭据替换为占位符 + 3. 确保 .env 在 .gitignore 中,只提交 .env.example + 4. 更新所有路由文件,移除 API 密钥的硬编码 fallback + + 近期行动(中优先级): + 1. 将 promptsTemplates.py 的大数据迁移到数据库 + 2. 完全移除旧的配置文件或重定向到新系统 + 3. 统一 API 密钥获取逻辑 + + 总结:配置架构已改进,但代码层面仍有严重的安全漏洞需要立即修复,否则新的配置系统无法提供实际安全保护。 \ No newline at end of file diff --git a/docs/Obsidian笔记体系/Projects/aitsc/wk2.md b/docs/Obsidian笔记体系/Projects/aitsc/wk2.md new file mode 100644 index 0000000..37e3977 --- /dev/null +++ b/docs/Obsidian笔记体系/Projects/aitsc/wk2.md @@ -0,0 +1,227 @@ +● 根据分析,promptsTemplates.py 的数据迁移确实是一个重要的中优先级改进。以下是详细的迁移方案和实施步骤: + + 📊 当前问题分析 + + promptsTemplates.py 的主要问题: + + 1. 安全漏洞:包含硬编码数据库密码(腾讯云:!Rjb12191,本地:123456) + 2. 数据与代码混合:144KB 文件中约 4000 行是模板数据 + 3. 不规范的数据库连接:使用 pymysql 直接连接,而不是项目的 SQLAlchemy ORM + 4. 冗余功能:既是数据存储又是初始化脚本 + + ✅ 有利条件: + + - 应用已通过 PromptTemplate.query 从数据库获取模板 + - PromptTemplate 模型已在 models.py 中定义 + - 项目已有完整的数据库迁移系统 (migrations/ 目录) + - 新的配置系统已就位 + + 🎯 迁移实施计划 + + 阶段一:数据提取和备份(30分钟) + + 1. 提取模板数据到 JSON + # 创建数据目录 + mkdir -p /d/aaa/aitsc/data + + # 手动或编写脚本提取 templates 列表到 JSON + # 将生成:data/prompt_templates.json + + 2. 备份现有数据库中的模板数据 + # 创建备份脚本 + from src.flask_prompt_master import create_app, db + from src.flask_prompt_master.models.models import PromptTemplate + import json + + app = create_app() + with app.app_context(): + templates = PromptTemplate.query.all() + data = [{ + 'name': t.name, + 'description': t.description, + 'category': t.category, + 'industry': t.industry, + 'profession': t.profession, + 'sub_category': t.sub_category, + 'system_prompt': t.system_prompt, + 'is_default': t.is_default + } for t in templates] + + with open('data/existing_templates_backup.json', 'w', encoding='utf-8') as f: + json.dump(data, f, ensure_ascii=False, indent=2) + + 阶段二:创建安全初始化系统(45分钟) + + 1. 创建新的初始化脚本 + # scripts/init_prompt_templates.py + import json + import os + from dotenv import load_dotenv + from src.flask_prompt_master import create_app, db + from src.flask_prompt_master.models.models import PromptTemplate + + load_dotenv() + + def init_from_json(json_file='data/prompt_templates.json'): + """从JSON文件安全初始化模板数据""" + app = create_app() + with app.app_context(): + # 检查数据库连接 + if not db.session.bind: + raise ValueError("数据库连接未初始化") + + # 加载模板数据 + with open(json_file, 'r', encoding='utf-8') as f: + templates_data = json.load(f) + + added_count = 0 + skipped_count = 0 + + for template_data in templates_data: + # 检查是否已存在同名模板 + existing = PromptTemplate.query.filter_by( + name=template_data['name'] + ).first() + + if not existing: + template = PromptTemplate(**template_data) + db.session.add(template) + added_count += 1 + else: + skipped_count += 1 + + try: + db.session.commit() + print(f"✅ 初始化完成:新增 {added_count} 条,跳过 {skipped_count} 条") + return True + except Exception as e: + db.session.rollback() + print(f"❌ 初始化失败:{e}") + return False + + if __name__ == '__main__': + init_from_json() + + 2. 更新 promptsTemplates.py(保留向后兼容) + # 在 promptsTemplates.py 顶部添加 + import warnings + warnings.warn( + "promptsTemplates.py 已弃用,请使用 scripts/init_prompt_templates.py", + DeprecationWarning + ) + + # 修改 init_db 函数,移除硬编码密码,调用新的初始化脚本 + def init_db(database_type='local'): + """向后兼容的初始化函数(重定向到新系统)""" + print("⚠️ 此函数已弃用,请使用新的初始化系统") + print("💡 运行: python scripts/init_prompt_templates.py") + # 或者直接调用新脚本 + from scripts.init_prompt_templates import init_from_json + return init_from_json() + + 阶段三:环境配置和安全加固(30分钟) + + 1. 更新 .env.example 文件 + # 移除真实凭据,使用占位符 + DATABASE_URL=mysql+pymysql://username:password@host:port/database_name?charset=utf8mb4 + LLM_API_KEY=sk-your-api-key-here + WX_SECRET=your-wx-secret-here + + 2. 确保 .env 不被提交 + # 检查 .gitignore + echo ".env" >> /d/aaa/aitsc/.gitignore + echo ".env.*" >> /d/aaa/aitsc/.gitignore + echo "!*.example" >> /d/aaa/aitsc/.gitignore + + 3. 创建部署说明文档 + # 模板数据初始化说明 + + ## 新系统使用 + 4. 复制环境变量模板:`cp .env.example .env` + 5. 编辑 .env 文件,填入真实凭据 + 6. 初始化模板数据:`python scripts/init_prompt_templates.py` + + ## 旧系统兼容 + 旧命令 `python src/flask_prompt_master/promptsTemplates.py [local|tencent]` + 将自动重定向到新系统。 + + 阶段四:测试和验证(30分钟) + + 7. 测试脚本 + # tests/test_template_init.py + import pytest + from scripts.init_prompt_templates import init_from_json + from src.flask_prompt_master.models.models import PromptTemplate + + def test_template_count(): + """测试模板数量是否正确""" + init_from_json('tests/test_templates.json') + count = PromptTemplate.query.count() + assert count > 0 + + def test_no_duplicates(): + """测试不会创建重复模板""" + init_from_json('tests/test_templates.json') + count1 = PromptTemplate.query.count() + init_from_json('tests/test_templates.json') # 再次运行 + count2 = PromptTemplate.query.count() + assert count1 == count2 # 数量应不变 + + 📅 实施时间表 + + ┌──────┬────────────────┬──────────┬────────┐ + │ 阶段 │ 任务 │ 预计时间 │ 优先级 │ + ├──────┼────────────────┼──────────┼────────┤ + │ 1 │ 数据提取和备份 │ 30分钟 │ 高 │ + ├──────┼────────────────┼──────────┼────────┤ + │ 2 │ 安全初始化脚本 │ 45分钟 │ 高 │ + ├──────┼────────────────┼──────────┼────────┤ + │ 3 │ 环境配置加固 │ 30分钟 │ 高 │ + ├──────┼────────────────┼──────────┼────────┤ + │ 4 │ 测试验证 │ 30分钟 │ 中 │ + ├──────┼────────────────┼──────────┼────────┤ + │ 5 │ 文档更新 │ 15分钟 │ 中 │ + ├──────┼────────────────┼──────────┼────────┤ + │ 总计 │ │ 2.5小时 │ │ + └──────┴────────────────┴──────────┴────────┘ + + 🔧 迁移后的架构 + + aitsc/ + ├── data/ # 数据文件目录 + │ ├── prompt_templates.json # 模板数据(JSON格式) + │ └── existing_templates_backup.json + ├── scripts/ # 管理脚本 + │ ├── init_prompt_templates.py # 安全初始化脚本 + │ └── backup_templates.py + ├── src/flask_prompt_master/ + │ └── promptsTemplates.py # 已弃用(保留兼容) + └── .env.example # 环境变量模板 + + ⚠️ 风险和缓解措施 + + 风险: 生产数据库已有模板数据 + - 缓解: 初始化脚本检查重复,不会覆盖现有数据 + 风险: 依赖旧初始化流程的脚本 + - 缓解: 保留 promptsTemplates.py 的兼容性包装 + 风险: JSON 文件可能过大 + - 缓解: 可考虑分多个 JSON 文件或使用数据库种子 + + 📝 下一步建议 + + 立即行动: + 8. 先备份现有数据库中的模板数据 + 9. 提取当前 promptsTemplates.py 中的模板到 JSON + 10. 创建安全初始化脚本 + + 验证后: + 11. 在测试环境运行新系统 + 12. 更新部署文档 + 13. 全面替换旧系统 + + 您希望我: + 14. 立即开始实施这个迁移方案? + 15. 先处理更高优先级的硬编码安全问题? + 16. 还是您有其他特定的要求? + + 迁移完成后,项目的安全性、可维护性和部署便利性将显著提升。 \ No newline at end of file diff --git a/docs/Obsidian笔记体系/Projects/aitsc/wk3 Windows 运行.md b/docs/Obsidian笔记体系/Projects/aitsc/wk3 Windows 运行.md new file mode 100644 index 0000000..e4ad0cf --- /dev/null +++ b/docs/Obsidian笔记体系/Projects/aitsc/wk3 Windows 运行.md @@ -0,0 +1,151 @@ +✅ 完全支持 Windows 运行 + + aitsc 项目完全支持在 Windows 系统上运行,并且提供了多种运行方式,从开发环境到生产部署都有完整支持。 + + 🚀 支持的运行方式 + + 1. 开发环境运行(最简单) + + # 激活虚拟环境(推荐) + .venv\Scripts\Activate.bat + + # 启动开发服务器 + python run_dev.py + - 访问地址:http://localhost:5002 + - 调试模式开启,代码修改自动重载 + + 2. 生产环境运行 + + # 使用生产启动脚本 + start_production.bat + # 或 + python run_production_public.py + - 关闭调试模式,优化性能 + - 监听所有网络接口(支持外网访问) + - 多线程处理请求 + + 3. Windows 系统服务(推荐用于生产) + + # 以管理员身份运行安装脚本 + install_service.bat + + # 或手动安装服务 + python flask_prompt_master_service.py install + python flask_prompt_master_service.py start + - 支持开机自启动 + - 后台运行,无需保持命令行窗口 + - 作为系统服务管理(启动/停止/重启) + + 4. 简化版开机启动 + + # 使用任务计划程序实现开机启动 + python simple_windows_service.py install + - 基于 Windows 任务计划程序 + - 系统启动时自动运行 + - 不需要完整服务框架 + + 📋 Windows 运行前提条件 + + 1. Python 环境 + + - Python 3.12(推荐) + - 已安装 pip + + 2. 虚拟环境(推荐) + + # 创建虚拟环境 + python -m venv .venv + + # 激活虚拟环境 + .venv\Scripts\Activate.bat + + 3. 安装依赖 + + pip install -r requirements.txt + 关键 Windows 依赖: + - pywin32 - Windows API 接口(服务部署必需) + - waitress - WSGI 服务器 + - bcrypt - 密码哈希(已升级安全算法) + + 🔧 Windows 特定配置 + + 1. 环境变量配置 + + - 复制 .env.example 为 .env + - 编辑 .env 文件,配置数据库连接等参数 + - 注意:Windows 路径使用反斜杠或双反斜杠 + + 2. 端口配置 + + - 默认端口:5002(开发)/ 5000(服务) + - 如果端口冲突,可在 .env 中修改 PORT 变量 + + 3. 防火墙配置 + + # 允许端口通过防火墙 + New-NetFirewallRule -DisplayName "FlaskPromptMaster" -Direction Inbound -LocalPort 5000 -Protocol TCP + -Action Allow + + 📁 关键 Windows 文件 + + aitsc/ + ├── install_service.bat # 服务安装脚本(管理员运行) + ├── install_startup.bat # 开机启动安装脚本 + ├── service_manager.bat # 服务管理脚本(图形菜单) + ├── simple_service_manager.bat # 简化版服务管理 + ├── start_production.bat # 生产环境启动脚本 + ├── flask_prompt_master_service.py # 完整 Windows 服务脚本 + ├── simple_windows_service.py # 简化版服务脚本 + └── docs/development/ + └── Windows服务配置总结.md # 详细配置指南 + + ⚡ 快速开始指南 + + 方案一:开发测试 + # 1. 安装依赖 + pip install -r requirements.txt + + # 2. 配置环境变量 + copy .env.example .env + # 编辑 .env 文件(数据库、API密钥等) + + # 3. 启动开发服务器 + python run_dev.py + + 方案二:生产部署 + # 1. 安装依赖和服务组件 + pip install -r requirements.txt + + # 2. 安装 Windows 服务 + install_service.bat + # 或右键"以管理员身份运行" + + # 3. 服务会自动启动,开机自启动 + # 访问 http://localhost:5000 + + 🛠️ 故障排除 + + ┌──────────────────┬──────────────────────────────────────────┐ + │ 问题 │ 解决方案 │ + ├──────────────────┼──────────────────────────────────────────┤ + │ 权限不足 │ 右键脚本 → "以管理员身份运行" │ + ├──────────────────┼──────────────────────────────────────────┤ + │ 端口冲突 │ 修改 .env 中的 PORT 变量 │ + ├──────────────────┼──────────────────────────────────────────┤ + │ pywin32 安装失败 │ 使用预编译版本:pip install pywin32==306 │ + ├──────────────────┼──────────────────────────────────────────┤ + │ 虚拟环境激活失败 │ 确认 Python 路径正确:where python │ + ├──────────────────┼──────────────────────────────────────────┤ + │ 服务启动失败 │ 查看日志:logs\service.log │ + └──────────────────┴──────────────────────────────────────────┘ + + 🎯 推荐方案 + + 个人使用/开发 → 使用 run_dev.py(简单快捷) + + 小型部署 → 使用 simple_windows_service.py + 开机启动 + + 企业级部署 → 使用完整的 Windows 服务 (install_service.bat) + + 总结:aitsc 在 Windows 上的支持非常完善,既有简单的开发运行方式,也有专业的 Windows + 服务部署方案,完全可以满足从开发到生产的全链路需求。 diff --git a/docs/Obsidian笔记体系/Projects/aitsc/wk4 aitsc 项目添加版本号 v1.0.0.md b/docs/Obsidian笔记体系/Projects/aitsc/wk4 aitsc 项目添加版本号 v1.0.0.md new file mode 100644 index 0000000..3ea00a1 --- /dev/null +++ b/docs/Obsidian笔记体系/Projects/aitsc/wk4 aitsc 项目添加版本号 v1.0.0.md @@ -0,0 +1,56 @@ +● ✅ 已为 aitsc 项目添加版本号 v1.0.0 + + 📋 版本配置详情 + + 核心版本定义: + - src/flask_prompt_master/__init__.py:添加 __version__ = '1.0.0' 和 __version_info__ = (1, 0, 0) + - VERSION 文件:包含纯文本版本号 1.0.0 + + 启动日志增强: 所有环境配置现在都会显示版本信息 + - config/development.py:开发环境启动时显示版本 + - config/production.py:生产环境启动时显示版本 + - config/testing.py:测试环境启动时显示版本 + - config/local.py:本地环境启动时显示版本 + - config/base.py:基础配置启动时显示版本 + + 文档更新: + - README.md:在标题下方添加版本信息 **版本**: v1.0.0 + + 🔧 技术实现 + + 1. 版本导入机制:通过 from src.flask_prompt_master import __version__ 安全导入版本信息 + 2. 错误处理:导入失败时显示 "版本: 未知" 而不是崩溃 + 3. 日志输出:在现有启动日志中追加版本信息,格式为 开发环境启动 - 版本: 1.0.0 + + 🚀 验证结果 + + 服务器重启后,启动日志已显示版本信息: + [2026-04-02 17:51:04,431] INFO in development: ������������ - �汾: 1.0.0 + 2026-04-02 17:51:04,431 INFO: ������������ - �汾: 1.0.0 + + 📁 文件变更 + + aitsc/ + ├── src/flask_prompt_master/__init__.py # 添加版本变量 + ├── VERSION # 创建版本文件 + ├── README.md # 更新文档 + ├── config/ + │ ├── development.py # 开发环境版本日志 + │ ├── production.py # 生产环境版本日志 + │ ├── testing.py # 测试环境版本日志 + │ ├── local.py # 本地环境版本日志 + │ └── base.py # 基础配置版本日志 + + ⚡ 使用说明 + + - 查看版本:服务器启动时自动在日志中显示 + - 代码引用:在代码中可通过 from src.flask_prompt_master import __version__ 获取 + - 文件查看:直接读取 VERSION 文件或查看 README.md + + 🔄 后续建议 + + 1. 版本升级:修改 src/flask_prompt_master/__init__.py 和 VERSION 文件 + 2. Git 标签:建议配合版本号创建 git tag:git tag -a v1.0.0 -m "Release v1.0.0" + 3. API 端点:如需通过 API 获取版本,可添加 /api/version 端点 + + 版本号 v1.0.0 已成功集成到项目中,所有环境启动时都会明确显示当前版本。 \ No newline at end of file diff --git a/docs/Obsidian笔记体系/Projects/aitsc/wk5.md b/docs/Obsidian笔记体系/Projects/aitsc/wk5.md new file mode 100644 index 0000000..421f72a --- /dev/null +++ b/docs/Obsidian笔记体系/Projects/aitsc/wk5.md @@ -0,0 +1,296 @@ + Flask Prompt Master 项目重构方案 + + 上下文和目标 + + 项目概况:D:/aaa/aitsc 是一个 Flask 应用程序,提供多种 AI 驱动的功能(提示词模板、饭菜规划、旅行攻略、会议 + 纪要、简历优化等)。项目采用蓝图架构,但随着功能增加出现了代码质量问题。 + + 当前问题: + 1. 安全漏洞:多个路由文件中存在硬编码的 API 密钥和数据库密码 + 2. 代码结构:routes.py 文件过大(1300+ 行),职责不单一 + 3. API 设计不一致:多种响应格式和错误处理方式 + 4. 认证系统碎片化:同时使用会话、令牌和微信认证 + 5. 配置管理混乱:新旧配置系统并存 + 6. 代码重复:相似功能间存在重复代码 + + 重构目标: + 1. 消除安全漏洞,移除所有硬编码的敏感信息 + 2. 提高代码可维护性,优化项目结构 + 3. 标准化 API 设计和错误处理 + 4. 集中化认证和授权系统 + 5. 实现关注点分离(业务逻辑与表现层分离) + + 重构方案概述 + + 目标架构 + + flask_prompt_master/ + ├── app/ # 应用层(API/Web 路由) + ├── core/ # 核心业务逻辑(服务层) + ├── infrastructure/ # 基础设施(配置、数据库、外部服务) + ├── shared/ # 共享组件(工具类、数据模型、常量) + ├── tests/ # 测试套件 + └── docs/ # 文档 + + 核心改进 + + 6. 安全加固:环境变量管理,JWT 认证,安全头部 + 7. API 标准化:统一响应格式,版本控制,OpenAPI 文档 + 8. 代码重组:服务层提取,仓库模式,依赖注入 + 9. 质量提升:测试覆盖率,CI/CD,代码质量工具 + + 详细实施计划 + + 阶段 1:安全加固与基础建设(第 1-2 周) + + 任务 1.1:消除硬编码敏感信息 + + - 优先级:高 + - 文件: + - flask_prompt_master/routes.py:115 - 移除硬编码数据库密码 + - config.py - 移除已弃用的硬编码配置 + - 所有包含 sk-fdf7cc1c73504e628ec0119b7e11b8cc 的文件 + - 方法: + a. 创建 .env.template 文件,列出所有需要的环境变量 + b. 更新配置系统,从环境变量读取所有敏感信息 + c. 添加配置验证,确保关键配置在启动时已设置 + + 任务 1.2:实现统一认证中间件 + + - 优先级:高 + - 方法: + a. 创建 auth/middleware.py 实现 JWT 认证中间件 + b. 统一所有 API 的认证方式,逐步替换现有的多种认证系统 + c. 添加角色和权限管理系统 + d. 实现刷新令牌机制 + + 任务 1.3:添加安全头部和请求验证 + + - 优先级:中 + - 方法: + a. 实现安全中间件,添加 CSP、HSTS、XSS 防护等头部 + b. 使用 Pydantic 创建请求数据验证模型 + c. 实现全局请求验证中间件 + + 阶段 2:API 标准化与文档(第 3-4 周) + + 任务 2.1:创建标准 API 响应格式 + + - 优先级:高 + - 方法: + a. 创建 shared/api/responses.py 定义标准响应类 + b. 实现成功响应:{success: true, data: {...}, meta: {...}} + c. 实现错误响应:{success: false, error: {...}, error_code: string} + d. 创建响应工具函数,统一所有路由的响应格式 + + 任务 2.2:实现 API 版本控制 + + - 优先级:中 + - 方法: + a. 创建 /api/v1/ 命名空间,所有新 API 使用此版本 + b. 保留现有 /api/ 路由作为 v0 版本,逐步迁移 + c. 实现版本路由中间件,支持通过 URL 或头部指定版本 + d. 添加 API 弃用警告机制 + + 任务 2.3:添加 OpenAPI 文档 + + - 优先级:中 + - 方法: + a. 使用 Flask-Swagger 或 FastAPI-style 注解 + b. 自动生成 API 文档,支持在线测试 + c. 添加 API 使用示例和错误代码说明 + + 阶段 3:代码重组与服务层提取(第 5-6 周) + + 任务 3.1:分解大型路由文件 + + - 优先级:高 + - 文件:flask_prompt_master/routes.py(1300+ 行) + - 方法: + a. 按功能模块拆分: + - routes/prompt_routes.py - 提示词相关路由 + - routes/auth_routes.py - 认证相关路由 + - routes/history_routes.py - 历史记录路由 + - routes/feature_routes.py - 各 AI 功能路由 + b. 每个文件不超过 300 行,保持单一职责 + c. 使用蓝图组织相关路由 + + 任务 3.2:提取业务逻辑到服务层 + + - 优先级:高 + - 方法: + a. 创建 services/ 目录,按领域划分服务类 + b. 将路由中的业务逻辑移动到对应服务类 + c. 服务类负责:业务规则验证、外部 API 调用、复杂数据处理 + d. 路由只负责:请求解析、响应格式化、错误处理 + + 任务 3.3:实现仓库模式 + + - 优先级:中 + - 方法: + a. 创建 repositories/ 目录,按实体划分仓库类 + b. 仓库类封装数据库操作,提供高层抽象接口 + c. 路由和服务通过仓库访问数据,不直接使用 SQLAlchemy + d. 便于单元测试和数据库切换 + + 阶段 4:测试与质量提升(第 7-8 周) + + 任务 4.1:提升测试覆盖率 + + - 优先级:中 + - 方法: + a. 实现单元测试:服务层、仓库层、工具类 + b. 实现集成测试:API 端点测试 + c. 实现端到端测试:关键用户流程测试 + d. 目标:测试覆盖率从 ~40% 提升到 80%+ + + 任务 4.2:实现 CI/CD 流水线 + + - 优先级:中 + - 方法: + a. 设置 GitHub Actions 或 GitLab CI + b. 自动化:代码检查、测试、构建、部署 + c. 添加质量门禁:测试覆盖率、代码复杂度、安全扫描 + + 任务 4.3:代码质量工具集成 + + - 优先级:低 + - 方法: + a. 集成 black、isort、flake8 代码格式化 + b. 添加 mypy 类型检查 + c. 集成 pre-commit hooks 自动执行代码检查 + + 阶段 5:部署优化与文档(第 9-10 周) + + 任务 5.1:优化 Docker 部署 + + - 优先级:低 + - 方法: + a. 优化 Dockerfile,减少镜像大小 + b. 实现多阶段构建 + c. 添加健康检查端点 + d. 优化生产环境配置 + + 任务 5.2:实现监控和可观测性 + + - 优先级:中 + - 方法: + a. 添加 Prometheus 指标收集 + b. 实现结构化日志记录 + c. 添加错误追踪和告警 + d. 实现性能监控 + + 任务 5.3:完善文档 + + - 优先级:低 + - 方法: + a. 架构设计文档 + b. API 使用文档 + c. 部署和维护指南 + d. 开发环境设置指南 + + 风险缓解策略 + + 技术风险 + + 数据库迁移风险: + - 使用 Alembic 生成迁移脚本 + - 在测试环境充分验证 + - 准备回滚方案 + API 兼容性风险: + - 使用功能开关控制新功能 + - 保持向后兼容性至少一个版本周期 + - 提供详细的迁移指南 + 性能回归风险: + - 重构前后进行性能基准测试 + - 实施监控和告警 + - 准备快速回滚机制 + + 实施风险 + + 团队知识差距: + - 结对编程和代码审查 + - 详细的架构文档 + - 定期知识分享会议 + 时间安排风险: + - 采用敏捷方法,每两周评估进度 + - 优先处理高价值任务 + - 保持灵活性,根据进展调整计划 + + 关键文件路径 + + 需要立即处理的安全问题 + + 1. D:/aaa/aitsc/src/flask_prompt_master/routes/routes.py:115 - 硬编码数据库密码 + 2. D:/aaa/aitsc/config.py - 已弃用的硬编码配置 + 3. 所有包含硬编码 API 密钥的文件(搜索 sk-fdf7cc1c73504e628ec0119b7e11b8cc) + + 大型文件需要拆分 + + 4. D:/aaa/aitsc/src/flask_prompt_master/routes/routes.py(1300+ 行) + 5. D:/aaa/aitsc/src/flask_prompt_master/models/models.py(500+ 行) + + 新目录结构 + + 6. src/flask_prompt_master/services/ - 服务层 + 7. src/flask_prompt_master/repositories/ - 仓库层 + 8. src/flask_prompt_master/shared/ - 共享组件 + 9. src/flask_prompt_master/api/ - API 相关组件 + + 验证和测试策略 + + 验证步骤 + + 10. 安全验证:确保无硬编码敏感信息,所有配置通过环境变量管理 + 11. 功能验证:所有现有功能测试通过,API 响应格式一致 + 12. 性能验证:关键 API 端点响应时间无显著下降 + 13. 部署验证:生产环境部署成功,监控系统正常运行 + + 测试计划 + + 14. 单元测试:服务层、仓库层、工具类 + 15. 集成测试:API 端点、数据库操作 + 16. 端到端测试:关键用户流程(注册、登录、使用功能) + 17. 性能测试:负载测试、压力测试 + + 成功指标 + + 量化指标 + + 18. 零硬编码敏感信息 + 19. 测试覆盖率 80%+ + 20. 代码复杂度降低 30% + 21. API 平均响应时间改善 20% + 22. 缺陷修复时间减少 50% + + 质化指标 + + 23. 新开发者上手时间减少 50% + 24. 完整的架构和 API 文档 + 25. 开发者满意度提升 + 26. 部署信心增强 + + 资源需求 + + 团队配置 + + - 2-3 名高级开发工程师 + - 兼职 QA 工程师 + - 技术负责人(架构决策和代码审查) + + 时间安排 + + - 总时长:10 周(2.5 个月) + - 开发工作量:约 400-500 人时 + - 每周进度评审和调整 + + 工具和环境 + + - CI/CD 流水线 + - 测试环境(开发、测试、预生产) + - 监控和告警系统 + - 文档管理系统 + + --- + 注意:本重构计划采用渐进式方法,每个阶段都有明确的可交付成果和验证标准。建议从阶段 1 + 开始,确保安全基础稳固后再进行架构优化。 \ No newline at end of file diff --git a/docs/Obsidian笔记体系/Projects/aitsc/wk6.md b/docs/Obsidian笔记体系/Projects/aitsc/wk6.md new file mode 100644 index 0000000..549a6cc --- /dev/null +++ b/docs/Obsidian笔记体系/Projects/aitsc/wk6.md @@ -0,0 +1,134 @@ +● 基于对 http://127.0.0.1:5002/ 页面的分析,这是一个设计良好的AI提示词模板应用,采用深蓝色科技感主题,具备现 + 代化UI和响应式设计。从用户体验角度,以下是可以改进的地方: + + 当前优点 + + 1. 视觉设计优秀:深蓝色科技主题、CSS变量、渐变效果、阴影层次 + 2. 响应式完善:移动端适配良好,侧边栏在小屏幕下可切换 + 3. 功能丰富:筛选、收藏、复制、删除、使用统计一应俱全 + 4. 交互细节:悬停效果、平滑滚动、键盘导航支持 + 5. 性能考虑:图片懒加载、防抖搜索 + + 用户体验改进建议 + + 6. 首屏信息密度与引导 + + - 问题:页面加载后,用户不清楚主要操作是什么 + - 改进: + - 在模板网格上方添加简短引导语:"选择模板开始生成专业提示词" + - 为首次访问用户添加引导遮罩或提示泡泡 + - 在空白筛选区域增加"试试选择行业和职业来筛选模板" + + 2. 筛选系统优化 + + - 当前问题: + - 三个下拉筛选器(行业、职业、领域)选项过多(每个50+选项) + - 没有搜索筛选器功能 + - 筛选状态不直观 + - 改进: + - 为下拉筛选添加搜索框,支持输入筛选 + - 显示当前应用的筛选条件(如:"行业: 互联网 | 职业: 开发工程师") + - 添加"清除所有筛选"按钮 + - 考虑将部分筛选改为标签式选择(热门行业/职业) + + 3. 模板卡片信息展示 + + - 当前问题: + - 部分模板卡片行业/职业/领域信息为空 + - 使用统计(0次使用)对用户决策价值有限 + - 模板难度级别(初级)缺乏解释 + - 改进: + - 隐藏空的信息字段 + - 将"使用次数"改为"热度"或添加"推荐"标签 + - 为难度级别添加工具提示:"初级:适合初学者" + - 增加模板预览功能(鼠标悬停显示摘要) + + 4. 操作流程优化 + + - 当前问题: + - 需要先选择模板,然后输入文本,再生成提示词 + - 操作路径不够直观 + - 改进: + - 将输入区域放在更显眼位置(模板网格上方或左侧) + - 实现"选择即生成"模式:选择模板后自动生成示例提示词 + - 添加"快速开始"区域,推荐3-5个最常用模板 + + 5. 移动端体验提升 + + - 当前问题: + - 侧边栏筛选在小屏幕上操作不便 + - 模板卡片在手机上信息显示拥挤 + - 改进: + - 将筛选改为底部抽屉式,更方便单手操作 + - 简化移动端模板卡片,隐藏次要信息 + - 优化触控目标大小(按钮至少44×44px) + + 6. 搜索与发现 + + - 当前问题:页面似乎缺少全局搜索功能 + - 改进: + - 在导航栏添加搜索框,支持模板名称和内容搜索 + - 添加"最近使用"、"热门模板"、"新添加"等分类 + - 实现搜索建议和自动完成 + + 7. 反馈与确认 + + - 当前问题: + - 删除操作直接执行,没有确认对话框 + - 操作成功/失败反馈依赖alert() + - 改进: + - 重要操作(删除、清空)添加确认对话框 + - 用非模态提示(toast)替代alert(),减少干扰 + - 添加操作撤销功能(如误删除后5秒内可撤销) + + 8. 性能与加载体验 + + - 当前问题: + - 页面6178行,CSS和JS都在一个文件中 + - 初始加载可能较慢 + - 改进: + - 分离CSS和JS到外部文件,利用浏览器缓存 + - 实现骨架屏加载效果 + - 优先加载首屏内容,延迟加载非关键资源 + + 9. 可访问性增强 + + - 当前问题: + - 虽然支持键盘导航,但ARIA属性不完整 + - 颜色对比度可以进一步优化 + - 改进: + - 为所有交互元素添加完整的ARIA标签 + - 确保颜色对比度满足WCAG AA标准 + - 添加跳过导航链接,方便屏幕阅读器用户 + + 10. 新手引导与帮助 + + - 当前问题:缺乏使用指导和帮助文档 + - 改进: + - 添加"如何使用"页面或引导教程 + - 在复杂功能旁添加问号图标,点击显示简短说明 + - 创建视频教程或图文指南 + + 具体实施优先级 + + 高优先级(立即改进): + 1. 添加筛选状态显示和清除按钮 + 2. 为删除操作添加确认对话框 + 3. 优化移动端筛选交互 + + 中优先级(短期改进): + 4. 增加全局搜索功能 + 5. 优化模板卡片信息展示 + 6. 添加新手引导 + + 低优先级(长期优化): + 7. 分离资源文件,优化加载性能 + 8. 增强可访问性支持 + 9. 创建完整的帮助系统 + + 总结 + + 这个应用已经有了很好的基础,主要需要优化的是用户引导、操作效率和移动端体验。最关键的改进点是让用户更快理解 + 如何使用,并减少操作步骤的认知负担。 + + 建议先从添加筛选状态显示和优化移动端交互开始,这两项改进成本低但用户体验提升明显。 \ No newline at end of file diff --git a/docs/Obsidian笔记体系/Projects/aitsc/wk7.md b/docs/Obsidian笔记体系/Projects/aitsc/wk7.md new file mode 100644 index 0000000..a238d23 --- /dev/null +++ b/docs/Obsidian笔记体系/Projects/aitsc/wk7.md @@ -0,0 +1,145 @@ +当前设计的优点 + + - 现代科技感设计:深蓝色主题、渐变效果、卡片布局 + - 响应式布局:适配桌面、平板、手机 + - 功能完整:侧边栏筛选、模板卡片、搜索、用户系统 + - 交互反馈:悬停效果、过渡动画 + - 技术先进:CSS变量、Bootstrap 5、Font Awesome + + 美观方面可改进的地方 + + 1. 颜色对比度与可访问性 + + - 检查文字颜色(特别是 --text-light: #64748B)在浅色背景上的对比度,确保符合WCAG 2.1 AA标准 + - 焦点状态颜色需要更明显(当前 box-shadow: 0 0 0 2px rgba(33, 150, 243, 0.2) 对比度不足) + - 为色盲用户考虑,重要的状态指示(如成功/错误)应同时使用颜色和图标 + + 2. 视觉层次与间距 + + - 虽然定义了间距变量(--spacing-unit: 0.25rem),但实际使用中不够一致 + - 标题层级可以更清晰:主标题 h1 使用频率不足 + - 卡片内边距可以优化,避免内容过于拥挤 + + 3. 卡片设计优化 + + /* 建议改进 */ + .template-card { + border-radius: var(--border-radius-lg); /* 当前 12px,可统一为 16px */ + box-shadow: var(--shadow-md); /* 当前阴影较弱 */ + transition: transform 0.2s ease, box-shadow 0.2s ease; + } + .template-card:hover { + transform: translateY(-4px); /* 当前 -1px,效果不明显 */ + box-shadow: var(--shadow-lg); + } + + 4. 图标一致性 + + - 确保所有图标大小统一(当前导航图标 1rem,用户菜单图标 1.5rem) + - 考虑使用更一致的图标集(如全部使用 fas 或 far) + + 5. 加载与空状态 + + - 添加骨架屏加载动画 + - 设计友好的空状态界面(无搜索结果、无收藏等) + + 用户体验方面可改进的地方 + + 1. 筛选器体验 + + - 问题:领域下拉菜单有101个选项,难以查找 + - 改进:添加搜索框或分组显示,或改为标签云式多选 + + 2. 搜索功能 + + - 添加实时搜索反馈(显示匹配数量) + - 搜索历史记录/热门搜索建议 + - 搜索框添加清除按钮 + + 3. 键盘导航与可访问性 + + +