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 学习渲染引擎用法

相关推荐
香芋Yu5 小时前
【LangChain1.0】第九篇 Agent 架构设计
langchain·agent·架构设计
组合缺一5 小时前
Solon AI (Java) v3.9 正式发布:全能 Skill 爆发,Agent 协作更专业!仍然支持 java8!
java·人工智能·ai·llm·agent·solon·mcp
User_芊芊君子7 小时前
AI Agent工业化落地避坑指南:从技术卡点到量产,脉脉AMA给我的实战启示
人工智能·ai·agent·脉脉测评
韦东东19 小时前
RAGFlow v0.20的Agent重大更新:text2sql的Agent案例测试
人工智能·大模型·agent·text2sql·ragflow
带刺的坐椅1 天前
用 10 行 Java8 代码,开发一个自己的 ClaudeCodeCLI?你信吗?
java·ai·llm·agent·solon·mcp·claudecode·skills
技术狂人1681 天前
2026 智能体深度解析:落地真相、红利赛道与实操全指南(调研 100 + 案例干货)
人工智能·职场和发展·agent·商机
熊猫钓鱼>_>1 天前
OpenClaw技术分析报告
ai·agent·skill·clawdbot·openclaw·meltbot·wise
aopstudio1 天前
OpenClaw 实测体验:Agent 框架现在到底能不能用?
人工智能·llm·agent·openclaw
laplace01232 天前
Claude Code 逆向工程报告 笔记(学习记录)
数据库·人工智能·笔记·学习·agent·rag
沛沛老爹2 天前
跨平台Agent Skills开发:适配器模式赋能提示词优化与多AI应用无缝集成
人工智能·agent·适配器模式·rag·企业转型·skills