题材投资辅助系统

新闻解读 → 题材发现 → AI 五步投资分析

系统文档
输入:新闻 URL / 咨询 API / RSS
流程:拉取存档 → AI 解读分类 → 自动建题材跟踪 → 控制台管理 → 提醒/复盘
LLM:不配置也能跑(启发式)。配置 LLM_BASE_URL / LLM_API_KEY / LLM_MODEL 可提高解读质量。
MVP 版本:文档与题材的关联是弱关联(通过 last_doc_id + 事件日志)。后续可加 ThemeDocument 关联表。

三方异步 LLM 接口

当配置开启「异步 LLM」后,解读 / 投资分析等场景会把 prompt 写入队列,由外部服务定时拉取、自行调模型,再回填结果。下面路径均为应用内路径;生产环境请加上网关子路径前缀(若有)。

环境变量 / config.yamlASYNC_LLM_ENABLEDASYNC_LLM_SCENES(如 interpret,investment
  • GET /api/llm-tasks

    查询任务。查询参数:scene(可选)、status 默认 pendinglimit 默认 20、最大 100。返回 tasks 数组,含 idsceneprompt_systemprompt_usercreated_atcontext

  • POST /api/llm-tasks/{task_id}/status

    领取任务后标记状态,避免重复拉取。表单字段:new_status,允许值 pendingprocessingfailed

  • POST /api/llm-tasks/{task_id}/result

    JSON Body:{"answer": "模型完整输出文本"}。成功后本系统按 scene 走解读写库或投资简报写库。

  • GET /api/llm-tasks/stats

    scene × status 聚合计数,便于监控队列。

在 Swagger 中这些接口归在标签 「三方异步 LLM」 下,可直接「Try it out」联调;原始 Schema:/openapi.json

题材搜集 API(影刀 / 脚本)

与新闻抓取、解读、跟踪题材完全独立。在 config.yamltheme_collect.slots 中配置槽位 key,影刀「HTTP 请求」步骤的 JSON 字段名须与之一致。 若配置了 theme_collect.api_token,以下接口均须在请求头携带 Authorization: Bearer <token>

  • POST /api/theme-collect/jobs

    JSON Body{"user_prompt": "…"}。返回 {"job_id": 1, "status": "draft"}

  • PATCH /api/theme-collect/jobs/{job_id}/slots

    JSON Body{"slots": {"kimi": "模型回答全文", "deepseek": "…"}}。仅 draft 状态可写;可多次 PATCH 分模型推送。

  • POST /api/theme-collect/jobs/{job_id}/merge-suggest

    需配置 theme_collect.merge_llm 且具备有效 LLM 凭证。将各槽位文本合并写入结构化成稿字段,自动提交审核。成功时返回 draftmerge_meta

人工编辑、提交审核与追问请在网页 /theme-collect 完成。