Skip to content

Releases: chefroger/smart-trade-ai

v0.6.1

11 Jun 01:08

Choose a tag to compare

安全加固

  • session 级公司绑定:首次请求自动绑定,跨公司操作返回 403,显式切换通过 POST /companies/{id}/switch
  • CDN SRI 完整性校验(marked.js + DOMPurify)
  • SSRF 内网防护(tech_stack.py 拒绝 RFC1918/loopback/保留 IP)
  • PID 三层校验(cmdline + exe 路径比对 + chmod 0600)
  • system 端点加 session token 认证
  • 删除公司要求 X-Confirm-Delete header

并发安全

  • _ACTIVE_COMPANY dict 加 threading.Lock
  • prompts.py _FILE_CACHE 和 skill_router.py _INJECTION_CACHE 加锁

多租户 & 数据保护

  • License 端点支持 company_id 多租户隔离
  • list_companies 脱敏:仅返回 id/name/slug/is_active
  • chat 限流按 company_id 隔离

边界条件修复

  • WHOIS 不支持 TLD 优雅降级
  • DNS MX 响应 TC 截断标志检测
  • order.py LIKE 通配符转义
  • email_intel json.loads 后类型检查
  • 公司创建 rollback 仅清理新创建的目录

跨平台

  • .hermes/.trade 路径在 Windows 上统一走 LOCALAPPDATA
  • bootstrap 启动时自动注入 HERMES_HOME 环境变量

文档

  • README 新增故障排除章节(三平台手动升级步骤)
  • CHANGELOG 补充完整修复记录
  • SECURITY 支持版本更新至 0.6.x

v0.6.0 — 拖拽上传、版本检测、三平台自启动、四轮安全审计

10 Jun 06:29

Choose a tag to compare

Added

  • 拖拽/粘贴文件上传:拖入文件或目录到聊天框 → 选择工作子目录 → 自动导入,Agent 递归读取分析;图片文件提示用 vision 或 Tesseract OCR 识别
  • 版本更新检测:页面每 30 分钟自动对比 GitHub 最新版本,顶部横幅提醒升级
  • Windows 开机自启动:Task Scheduler 用户登录后自动后台启动 Trade
  • Linux 开机自启动:systemd user unit
  • macOS 桌面入口:tradewin.py PyWebView 独立桌面应用

Changed

  • CLAUDE.md 补充 tradewin 桌面应用、test_license.py
  • README 顶端加科学上网提示 + LLM 免责声明、Windows 长路径支持
  • prompt.py 新增 AI 免责块,禁止输出法律建议和编造数据

Fixed

  • P0 安全修复:update_skills 下载限制、license 写入失败检测、限流持久化、公司名路径穿越
  • P1 安全修复:PID 校验用 psutil、拖拽上传 100MB 上限
  • 四轮代码审计修复:prompt 注入防护、customer 扩展字段、TOCTOU 竞争、大目录文件丢失等 20+ 项

更新方式:在 Trade 聊天页面点击「⬆️ 系统更新」,或终端执行 trade-update

v0.5.0 — Desktop App + License 升级 + 安全加固

04 Jun 07:50

Choose a tag to compare

新功能

  • TradeWin 桌面应用 — 独立 .exe,内嵌 WebView,无需浏览器
  • b2b-skill-generator — 用自然语言描述需求,自动生成新 skill
  • License Ed25519 非对称签名 — 激活码不可伪造,公钥内置、私钥离线
  • License 机器码绑定 — 激活码绑定本机硬件,一码一机
  • 申请码机制 — 到期后自动生成申请码,点击可复制
  • 公司软删除 — 删除改为停用,数据保留 30 天
  • 审计日志 — 公司操作记录写入 ~/.trade/audit/
  • trade-restore — 从备份 tar.gz 一键还原

改进

  • server.py 拆分为 bootstrap.py + app.py — 可测试性大幅提升
  • License 测试覆盖 31 用例 — 补全编解码/状态机/限流/跨机验证
  • Windows 部署简化 — 只装 Python,Hermes 自动处理 Node+Git
  • Windows 路径适配 — %LOCALAPPDATA% 支持
  • guidance bar 改为正常文档流 — 不再遮挡聊天内容
  • 定时任务列表实时更新 — 只显示已激活的任务
  • cron 输出在所有聊天视图展示 — 不限于每日简报
  • 客户管理 company_id 改必填 — 消除跨公司数据泄露隐患
  • library root_path 路径穿越防护 — 拒绝 .. 和敏感目录

修复

  • License 编解码 base64 roundtrip bug
  • _SECRET 遗留引用清除
  • CI 添加 cryptography 依赖
  • 多项 ruff lint 修复
  • 启动日志优化
  • PID 文件安全校验

v0.4.4 — 更名为 Smart Trade AI + README 重构 + cron 输出展示

21 May 04:14

Choose a tag to compare

Changes

  • 仓库重命名foreign-trade-assistantsmart-trade-ai
  • README 重构:痛点导向首页 + 2 张截图 + 场景化功能分类

Fixes

  • 今日简报 cron 输出不展示:进入今日简报时,已完成任务的输出自动作为 AI 对话消息显示
  • 系统更新按钮全链路修复:install_skills + update_skills + 模板同步 + 自动重启(跨平台 Windows/macOS/Linux)
  • /system/update 端点 401:移到不受 session token 保护的独立路由组
  • update_skills 网络超时:增加 3 次重试 + 递增退避

Install

curl -fsSL https://raw.githubusercontent.com/chefroger/smart-trade-ai/main/scripts/install.sh | bash

Full Changelog: https://github.com/chefroger/smart-trade-ai/blob/main/CHANGELOG.md

v0.4.2 — 代码质量 + 文档完善

19 May 05:12

Choose a tag to compare

  • 多项代码质量修复(3轮审计:json.load→json.loads / CJK token覆盖 / parse函数统一 / count_files性能等)
  • SECURITY.md 增加法律合规声明与许可证兼容性表
  • README 添加微信联系方式
  • 清理过期分析文档,架构图入库
  • Roger Lau → Roger Lococo

Full Changelog: v0.4.1...v0.4.2

v0.4.1 — 文档补全 + 边界修复

19 May 03:06

Choose a tag to compare

v0.4.1 (2026-05-19)

Changed

  • backup_trade 无数据时以非零退出码退出,不再返回空字符串
  • README 测试数、项目结构、开发命令更新
  • SECURITY.md 支持版本更新到 0.4.x

Full Changelog: v0.4.0...v0.4.1

v0.4.0 — Hermes v0.14 适配 + 客户价值导向营销 + 20+ Bug 修复

19 May 03:00

Choose a tag to compare

v0.4.0 (2026-05-19)

New

  • Hermes v0.14 适配:config.model 从嵌套 dict 变为扁平字符串,Trade 自动兼容两种格式
  • 启动时自动从 GitHub 拉取最新 B2B skills,确保 skills 始终与仓库同步
  • macOS 开机自启动(launchd,后台静默无终端窗口),安装脚本自动配置;trade update 后自动重启服务
  • 定时任务使用说明书:页面上方嵌入零基础 cron 表达式教程,含速查表、符号说明和常见问题
  • trade update / backup / skills-update 子命令正确路由,无需启动服务器即可更新
  • 输出语言规则:LinkedIn/lead-generation/social-media 三个 skill 均按目标客户语言输出,默认英语
  • LinkedIn/lead-generation/social-media 三个 skill 全面转向客户价值导向:内容以客户痛点+解决方案为中心
  • TRADE_HOME 环境变量支持:测试和开发环境下工作目录不会污染桌面

Changed

  • hermes-agent 从 chefroger fork 迁移到上游 NousResearch/hermes-agent v0.14
  • 版本约束从 >=0.12.0,<0.14.0 提升到 >=0.13.0,<0.15.0
  • OSINT 背调使用精简 system prompt,不再把文档生成指南带入调查场景
  • OSINT 背调时禁止注入历史对话,防止上一轮背调话题污染当前查询

Fixed

  • SQLite busy_timeout=30000,防止并发写入 database is locked
  • SSE QueueFull 防护:工具事件过于频繁时静默丢弃而非崩溃
  • API 异常信息脱敏:异常详情只写日志,前端返回通用错误消息
  • customer.update 越权修复:extra 字段更新时缺少 company_id 校验
  • api_key 跨 provider 兜底可能导致拿错 key,改为精确匹配
  • DELETE /companies/{id} 缺少鉴权:已认证用户可越权删除其他公司数据
  • post_install.py 中 urllib.error 未 import 导致 HTTP 错误时 NameError 崩溃
  • email_intel.py trio/asyncio event loop 混合崩溃:async 路径改为子进程运行 holehe
  • linkedin_verify.py 中 {domain_clean} 占位符未被 f-string 替换
  • orchestrator.py LinkedIn 搜索时把 email 当公司名
  • 测试中 /tmp 硬编码路径在 Windows 上崩溃
  • memory.py 中 import fcntl 在 Windows 上崩溃
  • 6 处 ~/.hermes/ / ~/.trade/ 硬编码路径改为平台感知的默认路径
  • Windows install.ps1 中 trade.cmd HERMES_HOME 赋值错误 + 未加 PATH
  • cron/jobs API 适配 Hermes 实际 jobs.json 数据结构
  • 全项目 100+ 函数 docstring 英→中转换 + 150+ if-branch 中文注释补全

Full Changelog: v0.3.0...v0.4.0

v0.3.0 — First Public Release

14 May 03:27

Choose a tag to compare

Foreign Trade Assistant v0.3.0

First public release of the B2B trade AI sales assistant.

Features

  • 14 B2B Skills: Customer development, platform diagnosis, social media, LinkedIn marketing, customs data, OSINT due diligence, document generation, daily automation, and more
  • 6-layer OSINT: WHOIS + email verification + sanctions screening + tech stack detection + LinkedIn (via Hermes browser) + email registration check
  • Customer Management: A/B/C tier system, detail panel, document library linking
  • Desktop Work Directory: Auto-created on company setup with 8 categorized folders (quotes, contracts, invoices, specs, etc.)
  • SSE Streaming Chat: Real-time tool progress display with keepalive heartbeat
  • Session Token Auth: All API endpoints protected
  • Multi-company Isolation: Per-company data separation via X-Company-ID
  • Cross-platform: macOS / Linux / WSL2 / Windows (native)
  • One-click Install: curl | bash and PowerShell scripts
  • PyInstaller Build: Standalone .app (macOS) and .exe (Windows)

Tests

  • 126 tests covering database, business logic, API, OSINT, and smoke tests
  • GitHub Actions CI on Python 3.11 / 3.12 / 3.13

Install

curl -fsSL https://raw.githubusercontent.com/chefroger/foreign-trade-assistant/main/scripts/install.sh | bash

Full Changelog: https://github.com/chefroger/foreign-trade-assistant/commits/v0.3.0