---
description: 【技术工具文档】解决个人简历可视化生成问题。通过Lisp脚本自动获取职业信息并设计SVG图表，快速创建包含工作经历和项目经验的优化简历。
name: cv-timeline
---
;; 提示词：个人简历
;; 作者： 叶震杰

(defun 个人简历生成器 ()
  "生成个人简历的SVG图表和描述"
  (lambda (主题)
    (let* ((工作经历 (获取工作经历 主题))
           (项目经验 (获取项目经验 主题))
           (背景样式 (设计背景 主题))
           (时间轴 (创建时间轴 主题))
           (阶段emoji (选择阶段emoji 主题))
           (装饰emoji (选择装饰emoji 主题))
           (副标题 (生成副标题 主题 工作经历 项目经验)))
      (创建优化SVG图表 主题 工作经历 项目经验 背景样式 时间轴 阶段emoji 装饰emoji 副标题))))

(defun 获取工作经历 (主题)
  "获取主题的工作经历"
  (case 主题
    (我的简历 '(("AgentOS首席产品架构师" "土豆数据科技集团有限公司" "2023年7月 - 至今")
                ("AI技术产品经理" "百度在线网络技术（北京）有限公司" "2022年9月 - 2023年7月")
                ("自动驾驶视觉感知算法工程师" "宁德时代新能源科技股份有限公司" "2020年1月 - 2022年8月")
                ("BMS算法工程师" "宁德时代新能源科技股份有限公司" "2019年7月 - 2019年12月")
                ("V2X产品经理" "宁德时代新能源科技股份有限公司" "2018年7月 - 2019年7月")))))

(defun 获取项目经验 (主题)
  "获取主题的项目经验"
  (case 主题
    (我的简历 '(("AgentOS产品设计研发" "产品定位：AgentOS定位为大模型产业赋能平台，通过智能体打通大模型与企业业务场景的“最后一公里”。产品形态：涵盖AI智能体、AI应用、数字孪生应用等。产品特色：面向Autopilot的Copilot设计。")
                ("飞桨AI-Studio·文心一言大模型应用产品设计" "设计飞桨AI-Studio大模型产品模块，并上线文心一言相关应用。")
                ("CTC滑动底盘项目·自动驾驶视觉感知算法开发" "基于ROS开发自动驾驶系统的视觉感知算法，包括2D/3D目标物检测、跟踪算法及车道线识别算法。")
                ("无线BMS项目·无线BMS跳频通信算法开发" "完成无线BMS项目的跳频通信整体架构设计及跳频通信算法开发。")
                ("V2X项目·V2G产品设计及推广" "负责V2X产品的市场调研、技术路线制定及产品设计。")))))

(defun 设计背景 (主题)
  "根据主题设计适合的背景"
  (case 主题
    (我的简历 '(渐变 "E6F3FF" "B3E5FC" 办公室))))

(defun 创建时间轴 (主题)
  "创建主题的时间轴"
  (case 主题
    (我的简历 '("2018年7月" "2019年7月" "2019年12月" "2020年1月" "2022年8月" "2022年9月" "2023年7月" "至今"))))

(defun 选择阶段emoji (主题)
  "选择与工作阶段相关的emoji"
  (case 主题
    (我的简历 '("🧑‍💼" "👨‍💻" "🤖" "📈" "🚀"))))

(defun 选择装饰emoji (主题)
  "选择与主题相关的装饰emoji"
  (case 主题
    (我的简历 '("🏢" "💻" "📊" "📈" "⚙️"))))

(defun 生成副标题 (主题 工作经历 项目经验)
  "根据工作经历和项目经验生成副标题"
  (format "从 %s 到 %s 的职业发展" (caar 工作经历) (caar (last 工作经历))))

(defun 创建优化SVG图表 (主题 工作经历 项目经验 背景样式 时间轴 阶段emoji 装饰emoji 副标题)
  "创建优化的个人简历SVG图表"
  (let ((svg-template
    "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 800 500\">
      <!-- 渐变背景 -->
      <defs>
        <linearGradient id=\"bgGradient\" x1=\"0%\" y1=\"0%\" x2=\"0%\" y2=\"100%\">
          <stop offset=\"0%\" style=\"stop-color:#{背景颜色1};stop-opacity:1\" />
          <stop offset=\"100%\" style=\"stop-color:#{背景颜色2};stop-opacity:1\" />
        </linearGradient>
      </defs>
      <rect width=\"100%\" height=\"100%\" fill=\"url(#bgGradient)\" />

      <!-- 主题相关背景装饰 -->
      {背景装饰）
      <!-- 标题和副标题 -->
      <text x=\"400\" y=\"30\" text-anchor=\"middle\" class=\"title\" fill=\"#333333\">{主题}的工作经历</text>
      <text x=\"400\" y=\"60\" text-anchor=\"middle\" class=\"subtitle\" fill=\"#555555\">
        <tspan x=\"400\" dy=\"0\">{副标题_第一行}</tspan>
        <tspan x=\"400\" dy=\"20\">{副标题_第二行}</tspan>
      </text>
      <!-- 时间轴 -->
      <line x1=\"50\" y1=\"400\" x2=\"750\" y2=\"400\" stroke=\"#555555\" stroke-width=\"2\" />
      {时间标签}
      <!-- 工作经历 -->
      {工作经历标签}
      <!-- 数据点和项目经验 -->
      {数据点和项目经验}
      <!-- 曲线连接 -->
      <path d=\"M50,350 Q140,360 230,370 T400,330 T580,290 T730,250\" fill=\"none\" stroke=\"#555555\" stroke-width=\"2\"/>
      <!-- 图例 -->
      <rect x=\"50\" y=\"460\" width=\"700\" height=\"30\" fill=\"rgba(255,255,255,0.05)\"/>
      <text x=\"60\" y=\"480\" class=\"legend-text\" fill=\"#333333\">图例：</text>
      <circle cx=\"150\" cy=\"475\" r=\"8\" fill=\"#FFD700\"/>
      <text x=\"170\" y=\"480\" class=\"legend-text\" fill=\"#333333\">工作经历</text>
      <line x1=\"270\" y1=\"470\" x2=\"270\" y2=\"480\" stroke=\"#555555\" stroke-width=\"2\"/>
      <text x=\"290\" y=\"480\" class=\"legend-text\" fill=\"#333333\">职业发展</text>
      <text x=\"420\" y=\"480\" class=\"legend-text\" fill=\"#333333\">{图例emoji}</text>
      <!-- 底部装饰Emoji -->
      {底部装饰Emoji}
    </svg>"))
    (填充优化SVG模板 svg-template 主题 工作经历 项目经验 背景样式 时间轴 阶段emoji 装饰emoji 副标题)))
(defun start ()
  (print "请输入您的职业主题（如：我的简历）：")
  (let ((用户输入 (read)))
    (优化简历生成器 用户输入)))
;; 运行规则
;; 1. 启动时运行 (start) 函数
;; 2. 根据用户输入的职业主题，生成对应的简历SVG图表和描述
;; 3. 输出应包括优化后的SVG图表和相关的文字说明，重点突出职业发展和项目经验
</prompt>
