讯灵助手 —— 使用说明
用户画像
用户用大白话说出需求,AI 直接执行。
API 基础配置
Base URL: http://localhost:8080
所有请求需带 Header: Authorization: Bearer <token>
本地调试无需 SSL
功能零:登录
用户说"登录讯灵"或提供用户名密码时执行。
$body = @{username='<用户名>';password='<密码>'} | ConvertTo-Json
$r = Invoke-WebRequest -Uri 'http://localhost:8080/login' -Method Post -Body $body -ContentType 'application/json' | ConvertFrom-Json
# 从 $r.data.accessToken 取 token,后续所有请求用此 token
# 从 $r.data.user.userId 取 userId
返回 code: 200 即成功。token 无固定过期时间。
功能一:发布间隔管理
API 速查
| 操作 | 方法 | 路径 | 参数 |
|------|------|------|------|
| 查看列表 | GET | /interval/list | ?mediaType=2 (2=自媒体 3=商业媒体 4=企业官网) |
| 设置间隔 | POST | /interval/edit | {platform, intervalDays, dailyCount, mediaType} |
| 删除间隔 | POST | /interval/delete | {platform, mediaType} |
| 查看账号 | GET | /interval/accounts | — |
PowerShell 示例
# 查看发布间隔
$r = Invoke-WebRequest -Uri 'http://localhost:8080/interval/list?mediaType=2' -Headers @{Authorization="Bearer $token"} | ConvertFrom-Json
# 设置知乎每天发3条
$body = '{"platform":"知乎","intervalDays":1,"dailyCount":3,"mediaType":2}'
Invoke-WebRequest -Uri 'http://localhost:8080/interval/edit' -Method Post -Body $body -ContentType 'application/json' -Headers @{Authorization="Bearer $token"}
# 删除平台设置
$body = '{"platform":"知乎","mediaType":2}'
Invoke-WebRequest -Uri 'http://localhost:8080/interval/delete' -Method Post -Body $body -ContentType 'application/json' -Headers @{Authorization="Bearer $token"}
功能二:官网改版(核心)
完整流程(推荐路径 A:直接部署,无需写文件/打包)
1. 登录(获取 token)
2. GET /chat/company/data → 获取企业信息
3. 根据企业信息 + 设计提示词 → 生成完整 HTML5 单文件
4. POST /chat/website/deploy-content → 提交 HTML+CSS,走异步 7 步部署
5. 轮询 GET /chat/website/status/{companyId} → 追踪进度 → 拿到预览地址
部署流水线(7 步状态机):
generating(5%) → uploading(15%) → deploying(30%) → configuring(50%) → ssl(70%) → ssl_nginx(85%) → preview(90%) → published(100%)
步骤 2:获取企业数据
$r = Invoke-WebRequest -Uri 'http://localhost:8080/chat/company/data' -Headers @{Authorization="Bearer $token"} | ConvertFrom-Json
$company = $r.data
# 字段:companyId, companyName, industry, mainProduct, province, scale, region
步骤 3:设计提示词(生成 HTML 时使用)
根据企业数据生成 HTML 之前,严格遵循以下设计提示词:
你是顶级前端设计师,为"{companyName}"生成一个可直接部署的单文件 HTML5 企业官网。
## 企业信息
- 公司名: {companyName}
- 行业: {industry}
- 主营产品: {mainProduct}
- 所在地区: {province}
- 规模: {scale}人
## 设计要求
### 1. 视觉风格
- 现代简约 + 高端质感,参考 Apple、Stripe、Linear 的设计语言
- 大面积留白,卡片式布局,圆角 12-16px
- 渐变色点缀(根据行业特征选择主色调,不超过 2 个主色)
- 柔和阴影: box-shadow 0 4px 24px rgba(0,0,0,0.06)
- 平滑过渡: transition all 0.3s cubic-bezier(0.4,0,0.2,1)
### 2. 排版规范
- 标题字体栈: system-ui, -apple-system, sans-serif
- Hero 标题 48-64px,字重 700-800
- 正文 16-18px,行高 1.7,字色 #4a4a5a
- 主标题与正文间距至少 24px
### 3. 必须包含的板块(按顺序,单文件多区段)
整体结构:单文件 HTML5,顶部 sticky 导航栏含所有板块锚点链接,点击平滑滚动到对应区段。
**导航栏**
- 左侧:企业名称/Logo(文字即可)
- 右侧:首页 | 产品服务 | 新闻资讯 | 案例 | 宣传视频 | PDF资料 | 关于我们 | 联系我们
- pc 端八字排列,移动端汉堡菜单
- sticky + 毛玻璃 backdrop-filter
**① 首页(Hero)**
- 全屏/大屏背景,渐变或网格纹理
- 居中布局,大字标题(企业名称)+ 副标题(一句话概括主营业务)+ 2 个 CTA 按钮
- 主按钮填充色 16px 圆角,次按钮描边
- 下方 3-4 个数据指标数字(规模、覆盖地区、产品系列数、合作客户),CSS 计数动画
- 几何装饰元素或简单粒子背景
**② 产品服务**
- 卡片网格(3-4 列),根据主营产品设计
- 每卡:渐变图片占位区(纯 CSS)+ 名称 + 简介 + "了解更多"链接
- 图片占位用 CSS 渐变,不用外部图片
- hover 上浮 8px,阴影加深
**③ 新闻资讯**
- 左侧大图 + 右侧列表布局(或卡片网格)
- 3-5 条模拟新闻条目:日期标签 + 标题 + 摘要
- 每条可点击展开(纯 CSS details/summary 或 JS 切换)
- 基于行业特征生成合理标题(如"{公司名}荣获XX认证""{行业}技术取得新突破")
**④ 案例**
- 卡片网格或横向滚动展示 3-6 个案例
- 每卡:案例图片占位(CSS 渐变)+ 案例名称 + 客户行业 + 简短成果描述
- 可选:筛选标签(按行业分类)
**⑤ 宣传视频**
- 居中视频占位区域(16:9 比例)
- 视频占位用 CSS 渐变 + ▶ 播放按钮图标(纯 CSS 三角形)
- 下方简短说明文字 1-2 行
- 不引用外部视频源,纯占位展示
**⑥ PDF资料**
- 卡片或列表展示 3-5 个可下载资料
- 每项:PDF 图标(emoji 📄)+ 资料名称 + 文件大小占位 + 下载按钮
- 下载按钮为占位样式(不实际下载),hover 变色
**⑦ 关于我们**
- 左右分栏:左文字(公司简介 2-3 段)右图片占位(emoji 或纯 CSS 图形)
- 下方核心优势 3-4 个卡片:图标(emoji)+ 标题 + 描述
- 发展历程时间线(3-5 个里程碑节点)
**⑧ 联系我们**
- 左右分栏:左信息卡片(地址/电话/邮箱占位),右联系表单(姓名/电话/留言 + 提交按钮)
- 号召性文案"立即咨询"
- 提交按钮仅为 UI 展示,不实际提交
**Footer**
- 版权信息 + 备案占位 + 返回顶部按钮
- 深色背景
### 4. 技术要求
- 单文件 HTML5,所有 CSS/JS 内联,零外部依赖
- 响应式三档:移动端单栏 / 平板两栏 / 桌面多栏
- 滚动动画:元素进入视口淡入上移(Intersection Observer)
- 导航栏 sticky + 毛玻璃 backdrop-filter
- 平滑滚动 scroll-behavior: smooth
- 右下角返回顶部按钮,滚动超过一屏后显示
- 不使用 Google Fonts / CDN / 外部图片
### 5. 输出要求
- 只输出完整 HTML,用 ```html 包裹
- CSS 在 <style> 中,JS 在 <script> 中
- 文字基于企业信息填充,合理延伸但不要捏造具体地址/电话
- 代码干净,适当注释分区
步骤 4:部署(路径 A:直接提交 HTML+CSS,推荐)
# 从步骤2获取 companyId 和默认域名
$companyId = $company.companyId
$domain = $company.websiteDomain # 如果没有则用 company.domain 或询问用户
$body = @{
companyId = $companyId
domain = $domain
htmlContent = $htmlContent # 生成的完整 HTML
cssContent = $null # CSS 已在 HTML 内联则传 null
websiteName = "$($company.companyName)官网"
serverId = $null # null=自动选择默认服务器
} | ConvertTo-Json
$deployResult = Invoke-WebRequest `
-Uri 'http://localhost:8080/chat/website/deploy-content' `
-Method Post -Body $body -ContentType 'application/json' `
-Headers @{Authorization="Bearer $token"} | ConvertFrom-Json
# 返回:{ code: 200, data: { deployId, websiteId, message: "部署已提交" } }
步骤 4(路径 B:zip 上传,兼容旧方式)
# 先写 HTML 到本地目录
$siteDir = "$env:TEMP\site-$(Get-Date -Format 'yyyyMMddHHmmss')"
New-Item -ItemType Directory -Path $siteDir -Force | Out-Null
# ... 写 HTML/CSS 文件到 $siteDir ...
$zipPath = "$env:TEMP\site-deploy.zip"
Compress-Archive -Path "$siteDir\*" -DestinationPath $zipPath -Force
$form = @{
file = Get-Item $zipPath
companyId = $companyId
domain = $domain
websiteName = "$($company.companyName)官网"
serverId = $null
}
$deployResult = Invoke-WebRequest `
-Uri 'http://localhost:8080/chat/website/upload-and-deploy' `
-Method Post -Form $form -Headers @{Authorization="Bearer $token"} | ConvertFrom-Json
步骤 5:轮询部署进度
# 轮询直到部署完成
do {
Start-Sleep -Seconds 5
$status = Invoke-WebRequest `
-Uri "http://localhost:8080/chat/website/status/$companyId" `
-Headers @{Authorization="Bearer $token"} | ConvertFrom-Json
# $status.data.status: generating|uploading|deploying|configuring|ssl|ssl_nginx|preview|published|failed
# $status.data.progress: 0-100
# $status.data.previewUrl: 预览地址,格式 https://{previewDomain}/{userId}(有 previewDomain 时)或 https://{域名}
# $status.data.websiteUrl: 正式地址
} while ($status.data.status -notin @('published', 'failed'))
if ($status.data.status -eq 'published') {
Write-Host "预览地址: $($status.data.previewUrl)"
Write-Host "正式地址: $($status.data.websiteUrl)"
} else {
Write-Host "部署失败: $($status.data.error)"
}
联网部署后台 API 速查
| 操作 | 方法 | 路径 | 关键参数 |
|------|------|------|----------|
| 直接部署 | POST | /chat/website/deploy-content | {companyId, domain, htmlContent, cssContent?, websiteName?, serverId?} |
| zip 上传部署 | POST | /chat/website/upload-and-deploy | multipart: file, companyId, domain, websiteName?, serverId? |
| 部署状态 | GET | /chat/website/status/{companyId} | 返回 status/progress/previewUrl/websiteUrl/error |
| 部署任务追踪 | GET | /chat/website/deploy/status/{deployId} | 单次部署的任务级进度追踪 |
| 补装 SSL | POST | /chat/website/ssl | {companyId} |
| SSL 重试 | POST | /chat/website/retry-ssl | {deployId} |
| 发布上线 | POST | /chat/website/publish | {websiteId, deployId} |
用户对话示例
用户:帮我改版官网
AI:好的,正在获取企业数据并生成网站...
预览地址:https://b.19880708.com/50066209
您看看效果,需要调整的地方告诉我。
用户:导航栏颜色深一点
AI:好的,调整后重新部署,预览地址不变。
用户:可以,发布吧
AI:部署成功!正式地址:https://geob.g3pu.com/50066209
预览URL格式:当 deployServer 配置了
preview_domain时,预览地址 =https://{previewDomain}/{userId}否则回退到https://{部署域名}
功能三:AI 备课管理
API 速查
| 操作 | 方法 | 路径 | 关键参数 |
|------|------|------|----------|
| 任务列表 | GET | /chat/task/list | ?mediaType=1&page=1&rows=20 |
| 任务详情 | GET | /chat/task/detail | ?taskId=<id> |
| 创建/更新任务 | POST | /chat/task/save | {taskId?, mediaType, taskName, ...} |
| 文章列表 | GET | /chat/content/list | ?taskId=<id>&page=1&rows=500 |
| 文章详情 | GET | /chat/content/detail | ?id=<文章ID> |
| 保存文章 | POST | /chat/content/save | {id, taskName, taskDescription, sensitive} |
| 删除文章 | GET | /chat/content/delete | ?id=<文章ID> |
| 同步发布 | POST | /chat/content/sync | {ids: [id1, id2]} |
| 敏感词检测 | POST | /chat/words/check | {ids: [id1, id2]} |
| 词包列表 | GET | /chat/words/package/list | — |
| 平台列表 | GET | /chat/platform/list | — |
mediaType: 1=自媒体授课 2=三方媒体授课 3=B2B授课 4=企业官网
PowerShell 示例
# 查看任务列表
Invoke-WebRequest -Uri 'http://localhost:8080/chat/task/list?mediaType=1&page=1&rows=20' -Headers @{Authorization="Bearer $token"} | ConvertFrom-Json
# 创建任务
$body = '{"mediaType":1,"taskName":"任务名称"}'
Invoke-WebRequest -Uri 'http://localhost:8080/chat/task/save' -Method Post -Body $body -ContentType 'application/json' -Headers @{Authorization="Bearer $token"}
# 保存文章
$body = '{"id":123,"taskName":"标题","taskDescription":"Markdown正文","sensitive":""}'
Invoke-WebRequest -Uri 'http://localhost:8080/chat/content/save' -Method Post -Body $body -ContentType 'application/json' -Headers @{Authorization="Bearer $token"}
# 获取平台列表(媒体类型和词包ID动态获取)
$platforms = Invoke-WebRequest -Uri 'http://localhost:8080/chat/platform/list' -Headers @{Authorization="Bearer $token"} | ConvertFrom-Json
# 获取词包列表
$packages = Invoke-WebRequest -Uri 'http://localhost:8080/chat/words/package/list' -Headers @{Authorization="Bearer $token"} | ConvertFrom-Json
功能四:讯灵发文管理
API 速查
| 操作 | 方法 | 路径 | 关键参数 |
|------|------|------|----------|
| 创建发文任务 | POST | /chat/website/create-task | {companyId, platformIds[], rulesId, taskName?} |
| 提交生成内容 | POST | /chat/website/submit-content | {taskId, contents: [{title, content, mediaType}]} |
流程
1. GET /chat/platform/list → 获取可用平台列表
2. GET /chat/words/package/list → 获取词包列表
3. POST /chat/website/create-task → 创建发文任务(传入选中的平台ID和词包ID)
4. POST /chat/website/submit-content → 提交生成的文章内容
错误处理
code: 401→ Token 过期,让用户重新提供账号密码登录code: 500→ 查看msg字段获取错误原因,反馈给用户- 网络超时 → 重试一次,仍失败则提示用户稍后再试
- 部署状态
failed→ 查看error字段,可能是域名冲突或服务器连接问题
微信扫一扫