trueai

trueai

Recommend and inspect AI SaaS apps from the TrueAI catalog (1,600+ apps) by need, name or URL.

Category
Visit Server

README

真选AI (TrueAI) — 新一代 AI 导航,懂你

Live MCP Skill StructAIWeb License: MIT

我来帮你省钱,我来帮你省时间。 数据实时、人工评测、无广告。 没有最好的,只有最适合你的。

TrueAI 是一个面向 AI 工具的 智能体推荐 + 人工评测 + 对话式导航 平台 MVP。 用户可以:

  • 浏览按类目组织的 AI 工具卡片墙(带吊绳轻摆动效)
  • 用对话的方式让 "懂你" 助手反问并推荐(流式 SSE)
  • 查看多维排行榜,支持"用自然语言生成专属排名"
  • 把最多 3 个工具加入对比抽屉,做并排多维对比
  • 阅读 / 提交工具评测(审核通过后可获得现金奖励;MVP 仅保留表结构)

🤖 接入你的 AI Agent(MCP / Skill)

TrueAI 1600+ 应用目录已封装成 MCP Server单文件 Skill,让你的 agent 直接获得"挑 AI 工具"的能力。完整文档:skills/trueai/SKILL.md

一行接入 MCP(Claude Desktop / Cursor / Cline / Continue / Windsurf)

{ "mcpServers": { "trueai": { "url": "https://www.shiflowai.cloud/mcp" } } }

接入后 agent 立即获得 4 个工具:

工具 用途
recommend_ai_tools(description, top_k) 用户自然语言需求 → 推荐合适应用
get_ai_tool(name_or_url, include_reviews) 名称 / slug / 官网 URL → 应用完整信息
list_ai_tools(category, free_only, ...) 按分类 / 形态 / 是否免费 浏览目录
list_categories() 列出全部分类

无 MCP 也能用——drop-in skill 文件

skills/trueai/SKILL.md 复制到任意 agent 的 skills 目录, agent 就会按文档里 curl 示例直接调 https://www.shiflowai.cloud/api/*

数据 schema

每个 AI 应用 34 个结构化字段(评分 / 价格 / 形态 / 评论 / 链接 …), 完整 JSON Schema:docs/ai_tool_schema.json

🕷️ 数据从哪里来:StructAIWeb(核心采集智能体)

TrueAI 网站里 1600+ 应用的结构化字段——名称、Logo、Slogan、定价、子功能列表、 易用性 / 效果 / 性价比评分等——不是人工录入的,而是由我们另一个开源项目 StructAIWeb 自动跑出来的。 它是 TrueAI 数据管线的 核心 AI 智能体

维度 说明
仓库 https://github.com/chenyujing1234-netizen/StructAIWeb
形态 Windows 桌面 GUI + CLI(Python + Playwright)
浏览器 通过 CDP 接管你本地已登录的 Chrome,天然复用 Cookie / 扩展,规避大多数风控
探索 启发式按「价格 → 功能 → 关于 → 文档」遍历站点,自动点 CTA 进入主功能区
试用 主动输入提示词、点 "生成 / 提交",永远避开 "购买 / 充值 / 订阅" 按钮
视觉 可选启用多模态视觉模型(Qwen-VL / GPT-4o / GLM-4V)识别"该点哪个按钮"
登录墙 自动检测并暂停,等你完成登录后继续
整合 把所有页面快照交给 LLM 输出结构化 JSON + 三项主观评分(usability / effect / price)
输出字段 docs/ai_tool_schema.json 完全对齐
License MIT

简言之:

StructAIWeb 负责"看懂一个 AI 网站",TrueAI 负责"把上千个看懂的结果织成一个懂你的导航站"。

想自己跑数据 / 扩展更多 AI 工具?fork StructAIWeb,跑完把 output/*.json 喂进 TrueAI 的 backend/scripts/sync_*.py 入库脚本即可。

技术栈

选型
后端 Python 3.10+ / FastAPI 0.115 / SQLAlchemy 2 / Alembic / PyMySQL
前端 Next.js 14 (App Router, 纯 JavaScript) / Tailwind CSS / Framer Motion / Zustand
数据库 MySQL 8 (114.55.254.123:3306/trueai)
LLM 阿里云 DashScope (qwen-plus),未配置 Key 时自动回退 Mock 文案
鉴权 JWT (python-jose) + bcrypt

目录结构

TrueAI/
├── backend/              # FastAPI 服务
│   ├── app/
│   │   ├── core/         # 配置 / DB / 安全
│   │   ├── models/       # ORM 模型
│   │   ├── schemas/      # Pydantic
│   │   ├── api/routers/  # auth / categories / tools / reviews / rankings / stats / search
│   │   ├── services/llm/ # Qwen 与 Mock 两种 Provider
│   │   ├── services/recommend.py  # 意图抽取 + MySQL 候选召回
│   │   └── seeds/seed_tools.py
│   ├── alembic/
│   └── requirements.txt
└── frontend/             # Next.js 14
    ├── app/              # layout / page / category / tool / search / rankings / compare / earn
    ├── components/       # NavBar / HeroTypewriter / Sidebar / ToolCard / CompareBar / ChatSearch ...
    ├── lib/              # api.js / compareStore.js / labels.js
    └── tailwind.config.js

快速开始

前提:已安装 Python 3.10+、Node 20+、能访问 MySQL 114.55.254.123:3306

1. 后端

cd backend
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env    # 按需改 JWT_SECRET / DASHSCOPE_API_KEY

# 首次:执行数据库迁移 + 种子数据
alembic upgrade head
python -m app.seeds.seed_tools

uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
# http://localhost:8000/docs 查看 OpenAPI

2. 前端

cd frontend
npm install
cp .env.local.example .env.local   # 默认指向 http://127.0.0.1:8000
npm run dev
# 打开 http://localhost:3000

环境变量

backend/.env

变量 说明
DATABASE_URL 形如 mysql+pymysql://user:pass@host:3306/trueai,密码中特殊字符需 URL 编码(@%40
JWT_SECRET JWT 签名密钥,生产请替换为长随机串
JWT_EXPIRES_MINUTES token 过期分钟数,默认 7 天
LLM_PROVIDER qwen(默认)。为空或 Key 缺失时自动回退 Mock
DASHSCOPE_API_KEY 通义千问 Key,在 DashScope 控制台 创建
QWEN_MODEL 默认 qwen-plus,可换成 qwen-turbo / qwen-max
CORS_ORIGINS 允许的前端 origin,逗号分隔

frontend/.env.local

变量 说明
NEXT_PUBLIC_API_BASE 后端 Base URL,开发默认 http://127.0.0.1:8000

前端所有 /api/* 请求在 Next.js 端通过 rewrites 代理到后端,避免浏览器 CORS 问题。

核心 API

接口 说明
GET /api/health 健康检查
GET /api/stats 首页横幅用:工具数 / 分类数 / 评测数 / 价值观文案
GET /api/categories 全部分类 + 每类工具数
GET /api/tools 列表 + 多维筛选 + 排序 + 分页
GET /api/tools/{id 或 slug} 智能体详情
POST /api/tools/compare 对比(body 为 id 列表)
GET /api/rankings?dimension=&category=&top= 排行榜
POST /api/reviews 提交评测(需 Bearer token)
GET /api/reviews?tool_id=&status_filter=approved 评测列表
POST /api/search/chat 对话搜索,SSE 流:event: meta + 多个 event: delta + event: done
GET /api/search/chat?q=... 非流式兜底:直接给候选和外部导航
POST /api/auth/register / /login / GET /api/auth/me 注册 / 登录 / 查询当前用户

种子数据自带一个管理员账号:admin / admin123456(生产请删除或改密)。

"懂你"对话搜索的工作方式

  1. 客户端把当前会话(含历史)POST/api/search/chat
  2. 后端根据最新 user 消息,用关键词字典抽取 类目 / 人群 / 免费 / 国内直连 等意图。
  3. 先从 MySQL 召回 ≤ 6 个候选,立即通过 event: meta 推送给前端(前端马上渲染卡片)。
  4. 接着把系统 Prompt + 候选摘要 + 会话历史交给 Qwen 流式输出,按字/片推送 event: delta
  5. 若候选为空,meta 中带 external 外部 AI 导航站清单,前端展示"去别家看看"。

常见问题

  • ValueError: invalid interpolation syntax:Alembic 读 % 会报错。alembic/env.py 已做 %%% 转义。
  • pymysql 连接慢 / 超时pool_pre_ping=Truepool_recycle=3600 已打开;请确认 MySQL 白名单已允许你的出口 IP。
  • 前端 API 跨域:开发期通过 next.config.js rewrites 代理,无需额外处理。部署时建议把后端放到同域 /api/* 路径下。
  • Qwen 没配 Key/api/search/chat 会自动回退到 Mock Provider,候选卡片依然是真实数据,只是 AI 文案是占位。

下一步(非 MVP)

  • 任务 / 赏金系统:管理员发布任务 → 用户领取评测 → 后台审核 → 微信提现
  • 用户自发布任务
  • 评测通过后自动刷新工具的综合评分
  • 微信登录 + 手机号登录
  • 工具增删改的管理后台

MIT License.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured