Sisyphus
|
4896453dfb
|
feat: 扩展关键词完成 68 条空品类线索分类 (100% 覆盖率)
- scripts/expand_keywords.js: 扩展 15 品类关键词至 27 个,匹配 58 条
- scripts/assign_remaining.js: 10 条剩余线索合理分配 (消毒剂→涂料, 重水→仪表, 光伏支架→钢材等)
- scripts/CATEGORY_CLEANUP.md: AdminPage 品类清理建议 (保留核心 15 + 7 个扩展, 合并/删除 24 个 AI 新建细分类)
最终状态: 761 条线索 100% 已分配品类, 42 个品类 (15 主类目 + 27 扩展/AI 新建)
|
2026-07-01 11:51:38 +08:00 |
|
Sisyphus
|
a9ef6e952f
|
docs: 记录品类方案 C + DeepSeek→MiniMax 迁移 + 停止 AI 回填决策
- ProductCategory 表/CRUD/AI 分类/关键词反哺完整流程
- LLM 配置 (MiniMax-M2.7, env MINIMAX_API_KEY)
- 重要决策:停止用 AI 回填历史空品类线索 (91% 已分配,剩余 68 条 + AI 新建 25 个细分类 交人工 review)
|
2026-07-01 11:45:36 +08:00 |
|
Sisyphus
|
ab764bbc6c
|
refactor: DeepSeek → MiniMax (M2.7 推理模型) 迁移
- notes-extractor 和 category-inference 都改用 MiniMax API
- endpoint: https://api.minimaxi.com/v1/chat/completions
- model: MiniMax-M2.7 (env 可覆盖 MINIMAX_MODEL)
- 提示词明确禁止 <think> 标签和解释文字
- 新增 scripts/backfill_category.js (单条请求 + 严格清洗)
- 新增 scripts/clean_category.js (清理 <think>/**加粗/解释行/破折号 等脏值)
- 生产 .env 已写入 MINIMAX_API_KEY
- 实际回填: 693/761 (91%) 已分配品类, 68 条空品类待后续处理
|
2026-07-01 11:31:17 +08:00 |
|
Sisyphus
|
f625dd0de1
|
refactor: 移动 CategoryInferenceService 到 product-category 模块,修复循环依赖
- 移动 category-inference.service.ts 从 lead/ 到 product-category/
- 修复所有 import 路径
- InquiryPage 品类筛选改为动态 API 加载
|
2026-07-01 02:38:30 +08:00 |
|
Sisyphus
|
58ac140802
|
feat: 品类方案C - AI分类 + 关键词表反哺
- 新增 ProductCategory 表(schema + migration + seed 15个品类)
- 新增 product-category CRUD API(GET/POST/PUT/DELETE /api/categories)
- 新增 CategoryInferenceService:关键词匹配优先,失败时调 DeepSeek AI 分类,结果反写品类表
- 更新 CrawlerService:采集入库时使用 batchInfer 替代硬编码 inferCategory
- 更新 LeadService:品类筛选改为 DB 关键词匹配,移除硬编码 CATEGORY_KEYWORDS
- 修复 LeadModule/CrawlerModule 依赖关系,避免循环依赖
|
2026-06-30 18:37:23 +08:00 |
|
Sisyphus
|
761200a70c
|
feat: 询价发布助手去掉状态筛选,列表状态列替换为品类
|
2026-06-30 17:43:56 +08:00 |
|
Sisyphus
|
c1c7342621
|
feat: 询价发布助手详情面板增加发布按钮
|
2026-06-30 17:20:03 +08:00 |
|
Sisyphus
|
3a72d6396c
|
feat: 入库时写入 category 字段 + 导出 inferCategory + apiBase ?? 修复
|
2026-06-29 17:34:27 +08:00 |
|
Sisyphus
|
785db9277d
|
fix: 商品生图助手容错 — API 返回非数组时设空数组避免崩溃
|
2026-06-29 17:33:21 +08:00 |
|
Sisyphus
|
d8d49f7e88
|
fix: 修复生产环境登录双/api路径问题
API_BASE为空时用||替代??,确保fallback到localhost:4000
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-06-26 17:12:19 +08:00 |
|
Sisyphus
|
481d01c89f
|
feat: 简化侧栏 - 移除冗余的线索详情菜单项,扁平化线索池入口
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-06-26 17:05:41 +08:00 |
|
Sisyphus
|
209f2e3d05
|
chore: 添加一键部署脚本 scripts/deploy.sh
自动构建 + rsync 编译产物和源码 + pm2 restart
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-06-26 16:55:40 +08:00 |
|
Sisyphus
|
8d8945f92b
|
docs: 更新 AGENTS.md、gitignore(排除上传文件)、开发文档
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-06-26 16:25:24 +08:00 |
|
Sisyphus
|
44609be8c7
|
feat: 线索池品类选项扩展、隐藏数量列、采集器按钮样式优化
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-06-26 16:25:06 +08:00 |
|
Sisyphus
|
0a423af4d2
|
feat: 商品导入修复 brand 字段命名 + 添加 unit 和错误日志
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-06-26 16:24:54 +08:00 |
|
Sisyphus
|
ae72966766
|
feat: 线索池品类筛选改为按标题关键词匹配
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-06-26 16:24:43 +08:00 |
|
Sisyphus
|
bd213eb5ec
|
feat: 采集器地址提取优化 - 省份关键词匹配、标题兜底、跨天去重
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-06-26 16:24:32 +08:00 |
|
Sisyphus
|
49f922444a
|
feat(F002-P1): 调试期累积修复
- 商品上架 MCP: 简化 batchPublish, price=0 默认 0.01, sku 用 spec/name
- 集成 service: 完善 import_products 调用链
- 前端 ProductPage: 调整按钮与列表
- 文档: 本地开发工作流 + devbox F002 升级需求
- 脚本: rotate-mcp-key.sh (一键密钥轮换)
|
2026-06-25 10:01:45 +08:00 |
|
Sisyphus
|
672a4b41b2
|
feat(F002-P0-A): 商品上架 - Mac 端 publish-to-direv API + web 按钮
- product.service.ts: 新增 publishToDirev() 调 MCP import_products
- product.controller.ts: 新增 POST /api/products/publish-to-direv
- product.module.ts: 引入 IntegrationModule
- ProductPage.tsx: 工具栏加 '上架 B2B' 按钮 (绿色)
- 字段映射: Product(category/price/brand) → MCP(category_id/price/brandName)
|
2026-06-24 12:20:22 +08:00 |
|
Sisyphus
|
4ab0040e55
|
feat(F002-P1): Lead 加 notes 字段 + crawler 提取 PDF 6 条要点 (老 GUI 同款)
- Lead 模型加 3 字段: notes (5000 字) / notesExtractedAt / notesSource
- 新增 NotesExtractorService (crawler 模块): PDF/HTML/URL → text → DeepSeek → 6 条要点
- 新增 LeadNotesController: POST /api/lead-notes/extract/:leadId (24h 缓存 + forceRefresh)
- lead.service.ts publishToDirev 优先用 notes 填 publishArgs.description + 同步传 notes
- Java publish() 已有逻辑: notes 优先 → description, 不需要改
- 端到端验证: Lead.notes=6 条要点 → publishToDirev → B2B tb_inquiry.note 正确落地
依赖: pdf-parse (新加, 1 个 npm 包, 25KB)
API 端点:
- POST /api/lead-notes/extract/:leadId?sourcePath=<URL|路径>&forceRefresh=false
- 返 { notes: string, source: 'pdf'|'html'|'url', cached: boolean }
环境变量: DEEPSEEK_API_KEY (从 .env 读, 缺时报错)
关联: F002-W31-交接文档.md §4 P1
本地备份: ~/projects/_meta/f002-fix/w31-platform-assistant-2026-06-23/
|
2026-06-24 11:52:59 +08:00 |
|
Sisyphus
|
afac18e843
|
feat(F002): W26 + W29.x + W30 + W31 平台助手全部改动首次 commit
- W26: NestJS API + Next.js Web + Prisma + SQLite scaffold
- W26: Lead 模型 + Crawler + 询价发布助手 (线索池 + 一键发布)
- W29.x: MCP 集成 (Integration 模型 + connectMcp + publish_rfq 5 工具端到端跑通)
- W30: 3 字段补充 (notes / quotationType / quotationDemand)
- W31 P1: 自动填 enterpriseId / userId (Prisma companyUserId 字段 + get_app_identity tool + lead.service.ts publishArgs)
- W31: detail 详情页 + admin UI 集成管理 (OpenAppListView + AuditLogListView)
关联: ~/Documents/02-平台开发/产品开发/F002-W31-交接文档.md
GIT-AUDIT-REPORT-2026-06-24.md
|
2026-06-24 11:07:11 +08:00 |
|