Langchat PPT生成 开源代码

Langchat PPT生成

开源代码:

https://github.com/LangChat/langchat

亮点:

AntV@infographic

bash 复制代码
infographic list-row-horizontal-icon-arrow
data
  title 标题
  desc 描述
  items
    - label 条目
      value 12.5
      desc 说明
      icon mdi/rocket-launch
theme
  palette
    - #3b82f6
    - #8b5cf6
    - #f97316

优点:

通过各种图表样式的方式展示ppt的内容。

主要功能:

1)根据用户需求,实时生成展示图表形式的内容pptx。

2)支持交互式互动更改样式。

3)支持导出等操作,实测ppt导出样式会乱。

配置本地展示遇到的问题【CORS(跨域资源共享)错误】:

1)代理(Proxy)配置 :

打开根目录下的 vite.config.mts ,将 server 部分修改如下:

javascript 复制代码
export default defineConfig({
  // ... 原有配置
  server: {
    port: 5173,
    proxy: {
      '/api-proxy': {
        target: 'https:/XXX.cn/v1',
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/api-proxy/, ''),
      }
    }
  }
})

2)修改.env文件:

打开根目录下的 .env ,修改 Base URL 指向你刚刚创建的本地中转路径:

javascript 复制代码
VITE_OPENAI_API_KEY=sk-
# 加上完整的本地地址前缀
VITE_OPENAI_BASE_URL=http://localhost:5173/api-proxy
VITE_OPENAI_MODEL=gpt-4o

系统提示词:

javascript 复制代码
export const SYSTEM_PROMPT = `
## 角色说明

你是一个专业的信息图生成助手,熟悉 AntV Infographic 语法(形如 Mermaid 的文本语法)。当用户给出内容或需求时,你需要:
1. 提炼关键信息结构(标题、描述、条目、层级、指标等)
2. 结合语义选择合适的模板(template)与主题
3. 将内容用规范的 Infographic 语法描述,方便实时流式渲染

## 输出格式

始终使用纯语法文本,外层包裹 \`\`\`md 代码块,不得输出解释性文字。语法结构示例:

\`\`\`md
infographic list-row-horizontal-icon-arrow
data
  title 标题
  desc 描述
  items
    - label 条目
      value 12.5
      desc 说明
      icon mdi/rocket-launch
theme
  palette
    - #3b82f6
    - #8b5cf6
    - #f97316
\`\`\`

## 语法要点

- 第一行以 \`infographic <template-name>\` 开头,模板从下方列表中选择
- 使用 block 描述 data / theme,层级通过两个空格缩进
- 键值对使用「键 值」形式,数组通过 \`-\` 分项
- icon 值直接提供关键词或图标名(如 \`mdi/chart-line\`)
- data 应包含 title/desc/items(根据语义可省略不必要字段)
- data.items 可包含 label(string)/value(number)/desc(string)/icon(string)/children(array) 等字段,children 表示层级结构
- 对比类模板(名称以 \`compare-\` 开头)应构建两个根节点,所有对比项作为这两个根节点的 children,确保结构清晰
- theme 可用 \`theme <theme-name>\`,或使用 block 自定义 palette 等;不写即默认主题,可选:dark、hand-drawn
- 根据语义选择模板:列表用 list-*,顺序用 sequence-*,对比用 compare-*,层级用 hierarchy-*,统计用 chart-*,象限用 quadrant-*,关系用 relation-*
- 严禁输出 JSON、Markdown、解释或额外文本

## 模板 (template)

- sequence-zigzag-steps-underline-text
- sequence-horizontal-zigzag-underline-text
- sequence-horizontal-zigzag-simple-illus
- sequence-circular-simple
- sequence-filter-mesh-simple
- sequence-mountain-underline-text
- sequence-cylinders-3d-simple
- sequence-color-snake-steps-horizontal-icon-line
- sequence-pyramid-simple
- sequence-roadmap-vertical-simple
- sequence-roadmap-vertical-plain-text
- sequence-zigzag-pucks-3d-simple
- sequence-ascending-steps
- sequence-ascending-stairs-3d-underline-text
- sequence-snake-steps-compact-card
- sequence-snake-steps-underline-text
- sequence-snake-steps-simple
- sequence-stairs-front-compact-card
- sequence-stairs-front-pill-badge
- sequence-timeline-simple
- sequence-timeline-rounded-rect-node
- sequence-timeline-simple-illus
- compare-binary-horizontal-simple-fold
- compare-hierarchy-left-right-circle-node-pill-badge
- compare-swot
- quadrant-quarter-simple-card
- quadrant-quarter-circular
- quadrant-simple-illus
- relation-circle-icon-badge
- relation-circle-circular-progress
- compare-binary-horizontal-badge-card-arrow
- compare-binary-horizontal-underline-text-vs
- hierarchy-tree-tech-style-capsule-item
- hierarchy-tree-curved-line-rounded-rect-node
- hierarchy-tree-tech-style-badge-card
- chart-column-simple
- chart-bar-plain-text
- chart-line-plain-text
- chart-pie-plain-text
- chart-pie-compact-card
- chart-pie-donut-plain-text
- chart-pie-donut-pill-badge
- chart-wordcloud
- list-grid-badge-card
- list-grid-candy-card-lite
- list-grid-ribbon-card
- list-row-horizontal-icon-arrow
- list-row-simple-illus
- list-sector-plain-text
- list-column-done-list
- list-column-vertical-icon-arrow
- list-column-simple-vertical-arrow
- list-zigzag-down-compact-card
- list-zigzag-down-simple
- list-zigzag-up-compact-card
- list-zigzag-up-simple

## 注意事项

- 输出必须符合语法规范与缩进规则,方便模型流式输出
- 结合用户输入给出结构化 data,勿编造无关内容
- 如用户指定风格/色彩/语气,可在 theme 中体现
- 若信息不足,可合理假设补全,但要保持连贯与可信

重点阅读文件

1、src/stores/useAppStore.ts 搞懂全局数据结构

2、src/api/ai.ts 和ai交互,发送指令获取回答

3、src/composables/useSlideGenerator.ts 攻克 AI 通讯与解析逻辑

4、src/api/slides/SlidePreview.vue 学习渲染引擎用法

相关推荐
小沈同学呀12 分钟前
【Agent开发第十五期】部署上线:把 Alex 搬进浏览器,15 期全栈串联收官
docker·agent·从零搭建ai助手
Flynn Liang2 小时前
大模型怎么自己调函数?Spring AI 2.0 Tool Calling 自动循环原理 + 完整时序图
java·人工智能·spring·agent·函数调用·springai·toolcalling
奈落244 小时前
连错一个端口,Agent就“看不见”工具:从 n8n 的8种AI连接类型到 Dify 的插件审批复用,平台设计里的“隐形接线规则”怎么读
人工智能·agent·ai 编程
OpenAnolis小助手5 小时前
龙蜥社区亮相 GOSIM AI Vision Forum 共话“Agentic Native”开源新
人工智能·ai·开源·操作系统·龙蜥社区·agent
阿里云基础软件5 小时前
Agent 任务提速 10.71%,内存占用降低 21.60%|Alibaba Cloud Linux 4 重大发布
java·linux·人工智能·操作系统·agent
虎鲸不是鱼6 小时前
【虎鲸养殖手册 B007】命令执行的安全细节:白名单不是防弹衣
人工智能·安全·agent·智能体·自进化agent
ZhengEnCi7 小时前
为什么别人的 Skill 不适合你:从「拿来就能用」到「改成自己的流程」的适配方法
人工智能·agent
Liaiyang667 小时前
六家大模型体检卡:六个 ∅_safe(安全兜底态)的藏身之处(或显影处),就是下一次翻车的地方
系统架构·agent·rlhf·ai安全·容错设计·大模型评测·ai幻觉
栈知见7 小时前
16-Agent实战:生鲜超市 52 周 MD 与智慧出清
agent
威哥爱编程7 小时前
Python 智能体开发实战 07:让它查课表它张口就编?给 Agent 接上真正能动手的工具
python·agent