协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
autohot-skill【开发与工程】汽车行业每日情报 Skill:基于 AutoHOT 公开接口查询汽车热点、日报、品牌动态、赛道趋势,并生成销售晨会简报、管理层周报和事件影响分析。
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
帮助用户基于 AutoHOT 汽车行业情报能力,快速获得可追溯、可审计、可直接用于业务沟通的汽车行业动态、日报、品牌追踪、赛道趋势、销售晨会简报、管理层周报和事件影响分析。
本 Skill 的成功标准不是“看起来像新闻摘要”,而是:
AutoHOT 开发者页显示的默认线上服务:
https://autohot.coze.site/api/...{ success: boolean, data: any }GET /api/featuredGET /api/feedGET /api/dailyGET /api/events/:idGET /api/brandsGET /api/tracksGET /api/reports/sales-briefingGET /api/reports/weeklyGET /api/briefing详见:references/api-contract.md。
当用户请求涉及以下任一场景时,优先使用本 Skill:
以下情况不要直接使用本 Skill,除非用户明确要求基于 AutoHOT 或汽车行业情报:
遇到投资、法律、版权或绕过限制类请求,应拒绝违规部分,并提供合规替代:只做行业事实整理、公开信息摘要、风险提示或待专业人士确认的事项列表。
首次调用只读取本入口。识别任务类型后,再按需加载对应模块:
| 用户任务 | 必读模块 | 推荐模板 |
|---|---|---|
| 今日日报 / 指定日期日报 | references/api-contract.md、references/data-quality-rules.md | templates/daily-brief.md |
| 分析师简报 / 核心观点 / 趋势洞察 | references/api-contract.md、references/data-quality-rules.md | templates/daily-brief.md |
| 销售晨会简报 | references/api-contract.md、references/delivery-contract.md | templates/sales-morning-brief.md |
| 管理层周报 | references/api-contract.md、references/data-quality-rules.md | templates/management-weekly-report.md |
| 品牌/公司动态 | references/api-contract.md、references/data-quality-rules.md | templates/daily-brief.md 或自定义品牌追踪结构 |
| 赛道趋势 | references/api-contract.md、references/data-quality-rules.md | templates/management-weekly-report.md |
| 单事件影响分析 | references/api-contract.md、references/data-quality-rules.md | templates/event-impact-analysis.md |
| API 失败 / 无数据 / 配置缺失 | references/error-handling.md | examples/no-data-example.md、examples/api-config-missing-example.md |
| 用户要求文件交付 | references/delivery-contract.md | 按任务选择模板 |
https://autohot.coze.site;如果运行环境另有 AUTOHOT_BASE_URL 或 COZE_PROJECT_DOMAIN_DEFAULT,以显式配置为准。| 意图 | 推荐接口 | 关键参数 | 默认值 |
|---|---|---|---|
| 每日精选热点 | GET /api/featured | date、category | 今天、全部分类 |
| 全量资讯流 | GET /api/feed | sort、search、category、limit、offset | score、20 条 |
| 每日行业日报 | GET /api/daily | date 或 recent=true | 今天 |
| 单事件详情 | GET /api/events/:id | id | 必填 |
| 品牌动态 | GET /api/brands | brand、limit、offset | 最近 7 天、20 条 |
| 赛道趋势 | GET /api/tracks | category、sort、limit | 全部赛道或指定分类 |
| 销售晨会简报 | GET /api/reports/sales-briefing | date | 今天 |
| 管理层周报 | GET /api/reports/weekly | start_date、end_date | 最近 7 天 |
| 分析师简报 | GET /api/briefing | date | 今天 |
交付前必须自检:
最终回复必须包含:
以下为 TypeScript 类型定义,供集成开发时参考:
// ── 基础类型 ──
export type SortMode = 'score' | 'time';
export interface AutoHotConfig {
baseUrl?: string;
token?: string;
timeoutMs?: number;
}
export interface ApiEnvelope<T> {
success: boolean;
data?: T;
error?: string;
message?: string;
}
export interface FeedQuery {
sort?: SortMode;
search?: string;
category?: string;
source_tier?: 'official' | 'media' | 'kol' | string;
car_model?: string;
limit?: number;
offset?: number;
}
export interface DateQuery {
date?: string;
recent?: boolean;
}
export interface WeeklyQuery {
start_date: string;
end_date: string;
}
export interface ListQuery {
brand?: string;
category?: string;
sort?: SortMode;
limit?: number;
offset?: number;
}
// ── 事件与报告 ──
export interface AutoHotEvent {
id?: number | string;
title?: string;
title_zh?: string;
summary?: string;
category?: string;
brands?: string[];
final_score?: number;
is_featured?: boolean;
recommend_reasons?: string[];
article_count?: number;
source_tier?: string;
url?: string;
published_at?: string;
first_seen_at?: string;
last_seen_at?: string;
[key: string]: unknown;
}
export interface AutoHotReport {
id?: number | string;
title?: string;
report_date?: string;
content_md?: string;
featured_count?: number;
total_count?: number;
[key: string]: unknown;
}
// ── 分析师简报 ──
export interface CoreSignal {
title: string;
analysis: string;
impact: string;
event_ids: number[];
}
export interface TrendInsight {
title: string;
analysis: string;
brands: string[];
strength: 'strong' | 'medium' | 'weak';
}
export interface WatchItem {
title: string;
context: string;
date_context?: string;
}
export interface DataSnapshot {
total: number;
featured: number;
track_distribution: Record<string, number>;
top_brands: string[];
}
export interface AnalystBriefing {
id: number;
report_date: string;
one_liner: string;
core_signals: CoreSignal[];
trend_insights: TrendInsight[];
watch_items: WatchItem[];
data_snapshot: DataSnapshot;
created_at: string;
}
以下为 TypeScript HTTP 客户端实现参考,供集成开发时使用。实际调用可直接使用 curl 或任意 HTTP 库。
const DEFAULT_BASE_URL = 'https://autohot.coze.site';
function normalizeBaseUrl(baseUrl?: string): string {
const value = baseUrl
|| process.env.AUTOHOT_BASE_URL
|| process.env.COZE_PROJECT_DOMAIN_DEFAULT
|| DEFAULT_BASE_URL;
return value.replace(/\/$/, '');
}
class AutoHotClient {
private readonly baseUrl: string;
private readonly token?: string;
private readonly timeoutMs: number;
constructor(config: AutoHotConfig = {}) {
this.baseUrl = normalizeBaseUrl(config.baseUrl);
this.token = config.token || process.env.AUTOHOT_API_TOKEN;
this.timeoutMs = config.timeoutMs ?? 15000;
}
async request<T>(path: string, params?: Record<string, unknown>): Promise<T> {
const controller = new AbortController();
const timer = setTimeout(() => controller.abort(), this.timeoutMs);
const headers: Record<string, string> = { Accept: 'application/json' };
if (this.token) headers.Authorization = `Bearer ${this.token}`;
const query = params
? '?' + new URLSearchParams(
Object.entries(params)
.filter(([, v]) => v !== undefined && v !== null && v !== '')
.map(([k, v]) => [k, String(v)])
).toString()
: '';
try {
const response = await fetch(`${this.baseUrl}${path}${query}`, {
method: 'GET', headers, signal: controller.signal,
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const envelope = (await response.json()) as ApiEnvelope<T>;
if (!envelope.success) throw new Error(envelope.error || 'API returned success=false');
return envelope.data as T;
} finally {
clearTimeout(timer);
}
}
// 便捷方法
featured(params?: DateQuery & { category?: string }) { return this.request('/api/featured', params); }
feed(params?: FeedQuery) { return this.request('/api/feed', params); }
daily(params?: DateQuery) { return this.request('/api/daily', params); }
event(id: number | string) { return this.request(`/api/events/${id}`); }
brands(params?: ListQuery) { return this.request('/api/brands', params); }
tracks(params?: ListQuery) { return this.request('/api/tracks', params); }
salesBriefing(params?: DateQuery) { return this.request('/api/reports/sales-briefing', params); }
weekly(params: WeeklyQuery) { return this.request('/api/reports/weekly', params); }
briefing(params?: DateQuery) { return this.request('/api/briefing', params); }
}
根据用户输入自动识别任务类型并路由到对应接口:
type AutoHotTaskType =
| 'daily-brief' | 'analyst-briefing' | 'sales-morning-brief'
| 'management-weekly-report' | 'company-tracking'
| 'track-analysis' | 'event-impact-analysis' | 'feed-search';
// 路由规则(按优先级排列):
// 1. 晨会/销售简报 → sales-morning-brief → /api/reports/sales-briefing
// 2. 周报/管理层 → management-weekly-report → /api/reports/weekly
// 3. 日报/今日 → daily-brief → /api/daily
// 4. 分析师/简报/洞察/信号 → analyst-briefing → /api/briefing
// 5. 事件/影响/解读 → event-impact-analysis → /api/events/:id
// 6. 品牌/车企/比亚迪/特斯拉 → company-tracking → /api/brands
// 7. 赛道/智驾/新能源/补能 → track-analysis → /api/tracks
// 8. 默认 → feed-search → /api/feed
references/api-contract.mdreferences/error-handling.mdreferences/delivery-contract.mdreferences/data-quality-rules.mdtemplates/examples/