標籤: 命令列工具

  • 讓 AI 直接改你的 Word、Excel、PPT

    讓 AI 直接改你的 Word、Excel、PPT

    📌 本文重點

    • 讓 AI 直接操作 Word/Excel/PPT 檔案
    • OfficeCLI 適合與 Agent+腳本整合自動化流程
    • 先用「不心疼的文件」試跑完整讀改寫流程

    只用聊天讓 AI「給建議」還不夠,OfficeCLI 讓模型真的可以打開你的 Word、Excel、PPT,讀內容、改排版、算公式、生成簡報。

    工具連結:OfficeCLI GitHub


    核心功能:讓模型操作 Office 檔案,而不是你自己手動點

    OfficeCLI 是一個命令列工具(CLI),設計給 AI Agent 使用,但你也可以自己在終端機裡直接用。核心可以分成三類:

    1. 操作 Word:讀字+改內容+調樣式

    你可以讓模型:

    • 讀取 .docx 內容變成純文字,丟給 LLM 做摘要、改寫、翻譯
    • 依照模型輸出的指令,直接修改段落文字(新增、刪除、重寫某一章)
    • 調整樣式:標題層級、粗體、顏色、清單格式

    可行動做法:

    • 把一份報告初稿丟給模型,請它「重寫成給主管看的版本」,再用 OfficeCLI 把修改結果寫回原本 Word 檔,而不是你手動 Copy & Paste。

    2. 操作 Excel:讀表+算公式+生成新表

    OfficeCLI 可以讓 Agent:

    • 讀取多個工作表的資料,轉成結構化格式給模型分析
    • 新增欄位、列出關鍵 KPI、填入公式(SUMAVERAGEVLOOKUP 等)
    • 依照模型的建議建立新的工作表,用來放整理過的結果或圖表資料源

    可行動做法:

    • 給模型一個「原始交易紀錄」Excel,請它:
    • 建一個新工作表 KPI_Report
    • 幫你算出每月營收、客單價、流失率
    • 把結果整理成適合直接插入圖表的格式

    💡 關鍵: 把「讀原始表 → 算 KPI → 生成新表」整個流程交給 OfficeCLI+LLM,可以把每月重複的報表整理工作變成一鍵腳本。


    3. 操作 PowerPoint:生成與微調簡報

    OfficeCLI 支援 PowerPoint 檔案:

    • 讀取每一頁投影片的標題與內容
    • 新增或刪除投影片
    • 更新某一頁的文字方塊(例如換成模型生成的重點整理)

    可行動做法:

    • 把一份 Excel 月報+幾段文字說明給模型,請它先產出「投影片結構與內容草稿」,再用 OfficeCLI 寫進一份新的 .pptx,生成可直接開啟的簡報檔。

    適合誰用:幾個具體場景

    場景 1:自動產出月報簡報

    你現在的流程:

    1. 每月從系統匯出 Excel 報表
    2. 手動整理數字、貼到 PPT
    3. 想標題、寫重點、調整版面

    用 OfficeCLI+LLM 的新流程:

    1. 把原始 Excel 放在固定資料夾
    2. 寫一個簡單腳本:
    3. 用 OfficeCLI 讀 Excel
    4. 把數據丟給模型請它產出「月報重點+簡報大綱」
    5. 用 OfficeCLI 建立新的 PPT,依模型輸出寫入每一頁內容
    6. 最後只需要開啟 PPT,微調設計與少數文字

    可行動做法:先從「只讓 AI 幫你生成大綱與每頁標題」開始,內容可以再自己補,降低信任門檻。


    場景 2:整理一堆 Excel 原始數據成圖表+分析

    典型情境:行銷、產品、營運會有很多:點擊、轉換、工單、留存數據,全在 Excel。難的是「整理出看得懂的表+圖」。

    用 OfficeCLI,你可以:

    • 指定一個資料夾裡所有 Excel 檔,請 Agent 逐一讀取
    • 讓模型決定要留下哪些欄位、怎麼清洗資料(刪除缺漏、轉成正確型態)
    • 生成一個匯總報表工作表,包含:
    • 每個渠道 / 產品線的指標
    • 建議要畫的圖表(折線圖、長條圖等)所需的資料

    可行動做法:先選一個指標(例如「網站流量 x 轉換率」),用 OfficeCLI 做一個自動匯總報表,跑通一次流程,之後再擴展到更多 KPI。

    💡 關鍵: 先從單一指標的自動匯總起步,比一開始就要全覆蓋所有 KPI,更容易驗證數字正確性與提升團隊信任。


    場景 3:讓客服 Agent 直接更新 FAQ 文件

    很多團隊會有一份 Word FAQ 或知識庫檔:

    • 新問題出現,要有人手動編輯文件
    • 內容常常落後實際客服狀況

    用 OfficeCLI,你可以:

    • 讓客服 Agent 在處理完一批工單後,分析常見問題和回答
    • 自動比對現有 FAQ Word 檔:
    • 如果沒有對應條目,就新增一段 Q&A
    • 如果回答過時,就更新文字

    可行動做法:先讓 Agent 提出「修改建議」存成另一份 Word(例如 FAQ_suggested.docx),由人工審核後再整合到正式 FAQ,逐步建立信任再放權直接改正式檔案。


    怎麼開始:從一個指令讓模型讀 Excel 並生成報表

    1. 安裝 OfficeCLI

    前提:已安裝 Python 3.10+ 和 Git。

    在終端機(Terminal / PowerShell)輸入:

    pip install officecli
    

    安裝完可以先輸入:

    officecli --help
    

    確認有指令可用。


    2. 最簡單示範:讀一個 Excel 並生成報表

    假設你有一個 data/sales_raw.xlsx,想讓模型幫你整理成一個 KPI 報表:

    步驟示意(概念):

    1. 用 OfficeCLI 把 Excel 轉出成 CSVJSON 給 LLM
    2. 讓模型決定要生成的欄位與指標
    3. 用 OfficeCLI 新增一個工作表 KPI_Report,把模型結果寫進去

    範例腳本(Python 語意示意):

    from officecli import excel
    from openai import OpenAI
    
    client = OpenAI()
    
    # 1. 讀取原始 Excel
    wb = excel.load_workbook("data/sales_raw.xlsx")
    sheet_data = excel.sheet_to_dicts(wb["Sheet1"])  # 每列變成 dict
    
    # 2. 丟給模型請它設計報表
    prompt = """
    你是一位數據分析師。以下是銷售原始資料,請幫我整理成一份 KPI 報表,包含:
    - 每月總營收
    - 平均客單價
    - 訂單數量
    請回傳 JSON,格式為:
    {
      "columns": ["month", "revenue", "avg_order_value", "orders"],
      "rows": [ ... ]
    }
    """
    
    resp = client.responses.create(
        model="gpt-4.1-mini",
        input=[{"role": "user", "content": prompt + "\n" + str(sheet_data)}]
    )
    
    kpi = resp.output[0].content[0].text
    
    # 3. 寫回新的工作表
    kpi_wb = excel.create_workbook()
    excel.write_json_to_sheet(kpi_wb, "KPI_Report", kpi)
    excel.save_workbook(kpi_wb, "data/sales_kpi.xlsx")
    

    可行動做法:照這個流程改成你自己的欄位與需求,把第一份「自動 KPI 報表」做出來,確認數字沒有問題後,再考慮加入圖表與文字說明。


    3. 串進自己的 Agent:讓排程每天自動更新 KPI 報表

    要讓這套流程每天自動跑,大致分三步:

    1. 寫好一個腳本
    2. 用 OfficeCLI 讀當日最新 Excel
    3. 叫 LLM 算 KPI
    4. 用 OfficeCLI 更新指定報表檔(例如 KPI_daily.xlsx

    5. 加進排程

    6. Windows:用工作排程器(Task Scheduler)每天 09:00 執行腳本
    7. macOS / Linux:用 cron,例如:

    bash
    0 9 * * * /usr/bin/python /path/to/update_kpi.py

    1. 加一層通知
    2. 報表生成後發一封 Email 或 Slack 訊息,提醒同事報表已更新

    可行動做法:先把腳本寫好,在終端機手動執行,確認整個 Excel→LLM→Excel 流程沒問題,再加排程,避免每天自動跑出錯卻沒人注意。

    💡 關鍵: 先人工確認幾次排程腳本的輸出,把錯誤風險壓低,再全面自動化,能避免在正式報表上出現難以察覺的錯誤。


    與其他方式的比較

    很多人會用「AI 外掛」或「手動 Copy & Paste」來改 Office 文件,OfficeCLI 的差異在於它是給 Agent 和腳本用的 CLI 工具,適合自動化流程。

    名稱 核心功能 免費方案 適合誰
    OfficeCLI CLI 操作 Word/Excel/PPT 給 Agent 用 開源、免費 想用程式+Agent 自動化的人
    Office 外掛 AI 在 Word/Excel 內聊天生成內容 部分帳號可免費 只想在文件內用聊天的人
    手動 Copy & Paste 人工搬運 AI 生成文字到文件 永遠免費 不寫程式、量很小的使用者

    如果你已經在寫腳本、用 Agent 處理工作流程,OfficeCLI 是目前比較直接、可控的選擇。


    小結:先讓 AI 改一份你不心疼的文件

    第一次用時,建議選一份「可以錯、可以重來」的文件做實驗:

    1. 準備一個 Excel 或 Word 副本
    2. 用 OfficeCLI 讓模型讀、改、寫回
    3. 看結果是否符合預期,再逐步放到正式流程

    當你跑通第一次,就會發現:AI 不只會「給你建議」,而是可以像實習生一樣,直接幫你動手調整文件——只是這次,你用 OfficeCLI 把它變成可以排程、可以重複使用的自動化流程。


    🚀 你現在可以做的事

    • OfficeCLI GitHub 安裝並在終端機輸入 officecli --help 熟悉可用指令
    • 挑一份「月報用的 Excel 副本」,依文中範例腳本實作你的第一個自動 KPI 報表
    • 寫一個簡單排程腳本,先手動每天跑一次 Excel→LLM→Excel 流程,確認穩定後再用 cronTask Scheduler 全面自動化
  • 用 Vercel Skills 把 AI 變成你的命令列工具箱

    用 Vercel Skills 把 AI 變成你的命令列工具箱

    📌 本文重點

    • Vercel Skills 把 AI Agent 打包成可安裝的 CLI 工具
    • 一行 npx skills 就能體驗預設技能並接到自動化流程
    • 每個 skill 可在不同專案與 CI/CD 中重複使用與串聯
    • 適合開發者、行銷、DevOps 做文字與流程自動化

    用一句話說清楚:Vercel Skills 讓你用一行 npx skills,把一整包 AI Agent 當成可安裝的命令列工具,快速接到你的開發與自動化流程裡。

    專案連結:vercel-labs/skills on GitHub


    核心功能:把「AI 能力」做成可重用的 Skill 模組

    1. 一行指令啟動預設技能:npx skills

    想先感受效果,不想碰程式碼,可以直接這樣做:

    npx skills@latest
    

    執行後會:

    • 問你要使用哪些預設技能(例如:文件總結、PR 說明、自動整理 issue 等)
    • 在終端機互動式詢問你輸入內容或指定檔案
    • 把 AI 結果輸出在終端機,必要時也會幫你生成檔案

    你可以把它當成「AI 強化版 CLI 工具集」,用一次就知道哪些任務適合被 AI 自動化。

    💡 關鍵: 一行 npx skills@latest 就能體驗整套預設 AI 技能,是評估哪些工作可以自動化的最快方式。


    2. 每個 skill 就是一個可複用的 Agent 模組

    在 Skills 的設計裡:

    • 一個 skill = 一件具體可自動化的工作
    • 例如:summarize-doc(總結文件)、pr-description(產生 PR 描述)、rewrite-copy(改寫文案)
    • 實作上:一個 skill 就是一個 TypeScript/Node.js 模組,負責:
    • 接收輸入(檔案路徑、文字、Git diff 等)
    • 呼叫 LLM(預設走 Vercel AI SDK,可接 OpenAI / Vercel 等)
    • 回傳結構化結果(可以寫回檔案、回傳 JSON、或印在 CLI)

    這種設計的好處是:

    • 你可以在不同專案重複使用同一個 skill
    • 一個專案裡可以組合多個 skill 變成「串聯流程」(例如:先用一個 skill 擷取重點,再用另一個 skill 生成測試案例)

    💡 關鍵: 把每個任務抽象成 skill 模組後,你可以在多個專案與流程中重複組裝同一套 AI 邏輯,維護成本更低。


    3. 兩種使用方式:CLI 與程式內呼叫

    你可以把 Skills 當成:

    1. 命令列工具(CLI):適合快速手動使用、寫腳本
    2. 例如:
      bash
      # 執行某個 skill
      npx skills run summarize-doc ./docs/api.md

    3. 程式內呼叫(Node.js / TypeScript):適合接到 CI/CD、背景工作、Bot

    4. 基本結構類似:
      “`ts
      import { runSkill } from “skills”;

      const result = await runSkill(“summarize-doc”, {
      path: “./docs/api.md”,
      });

      console.log(result.summary);
      “`

    這讓 Skills 不只是一個「玩具 CLI」,而是可以被真正嵌入系統裡的 AI 自動化模組。

    💡 關鍵: 同一個 skill 既能在 CLI 使用,也能在程式碼中透過 runSkill 呼叫,降低從實驗到正式上線的落差。


    適合誰用:幾個具體場景

    1. 開發者:減少重複性的開發瑣事

    可以嘗試這幾類 skill:

    • 自動產出 PR 描述
    • CI 裡加入:檢查 PR 的 diff,用 skill 生成清楚的變更說明
    • 好處:大家不再花時間想描述格式,Reviewer 一眼看完重點
    • 整理 issue / ticket
    • 拉取標題 + 描述,讓 skill 自動標記類型、估計複雜度、抽出待辦項目
    • 好處:產品、工程、PM 都看到一致結構的內容
    • 生成測試案例
    • 針對關鍵函式或 API 定義,讓 skill 幫你列出可能的測試情境
    • 再由你挑選重要的手動補完

    可以做的行動:

    • 先用 npx skills 跑一輪預設技能
    • 想想你專案裡最常被抱怨「麻煩但又必須做」的步驟,選 1 個先做成 skill

    2. 內容與行銷:批次改寫與整理文字

    如果你常做這些事,Skills 很適合:

    • 批次改寫文案
    • 輸入一批產品描述,統一改寫成:短版、長版、社群貼文版
    • 可以客製 skill:輸入 CSV / JSON,輸出同格式檔案
    • 整理長文件摘要
    • 對內部文件(產品規格、研究報告)做摘要 + 重點 bullet points
    • 適合接到定時腳本:每天把新文件丟給 skill,產出摘要寄到 Slack

    可以做的行動:

    • 先準備一個資料夾,放你常用的範本文案或長文
    • npx skills 裡的 summary / rewrite 類 skill 試一次,感受輸出品質

    3. DevOps / 自動化工程師:接到 CI/CD、排程腳本

    你可以把 Skills 當成「AI 版 shell script 函式庫」:

    • GitHub ActionsGitLab CI 裡:
    • Pull Request 建立時自動跑 npx skills run pr-description
    • Release 前跑一次 npx skills run summarize-changelog 整理修改內容
    • cron / 定時腳本 裡:
    • 每天抓 issue / log / 監控報表丟給某個 skill,整理成一份人類可讀的摘要

    可以做的行動:

    • 在現有 CI pipeline 裡挑一個步驟,加一個額外 job 試跑 Skills
    • 先只在非必要流程執行,觀察穩定度與輸出品質

    怎麼開始:從預設技能到自訂 skill

    1. 安裝與首次執行

    前置需求:

    • Node.js(建議 18+)
    • 一個可用的 LLM API(例如 OpenAI 或 Vercel AI)

    第一步:直接執行 CLI(免全域安裝):

    npx skills@latest
    

    依照互動式提示:

    1. 選擇或設定你的模型提供者(可能會要求設定 API key)
    2. 選擇一個想先試的 skill(例如 summarize / pr-description)
    3. 依照提示輸入文字、選檔或指定路徑

    這一步的目標:先確認環境 OK + 大概知道 skill 的輸出長什麼樣子。


    2. 看一個最簡單自訂 skill 的程式結構

    接下來你可以把專案 clone 下來:

    git clone https://github.com/vercel-labs/skills.git
    cd skills
    pnpm install # 或 npm / yarn
    

    假設你要做一個最簡單的「文案改寫」 skill,概念結構會像這樣(簡化示意):

    // ./skills/rewrite-copy/index.ts
    import { defineSkill } from "skills";
    import { generateText } from "ai-sdk"; // 具體以官方範例為準
    
    export default defineSkill({
      name: "rewrite-copy",
      description: "改寫一段文案,維持原意但更口語/正式。",
      inputs: {
        text: {
          type: "string",
          description: "要改寫的原始文案",
          required: true,
        },
        tone: {
          type: "string",
          description: "語氣:casual 或 formal",
          default: "casual",
        },
      },
      async run({ inputs, model }) {
        const prompt = `請用${inputs.tone} 語氣改寫以下文案,但保留原本資訊:\n\n${inputs.text}`;
    
        const result = await generateText({
          model,
          prompt,
        });
    
        return {
          rewritten: result.text,
        };
      },
    });
    

    接著,你可以在本地 CLI 裡直接呼叫:

    npx skills run rewrite-copy --text "原始文案內容" --tone casual
    

    這就是 Skills 的基本模式:

    1. defineSkill 宣告輸入/輸出與執行邏輯
    2. run 裡呼叫你喜歡的模型
    3. 回傳一個乾淨的結果物件,方便 CLI 或其他程式接

    3. 在你的專案裡以 API / CLI 串接

    有兩種常見方式:

    方式 A:在 CI / script 裡用 CLI

    以 GitHub Actions 為例,在 .github/workflows/pr-description.yml 加上:

    jobs:
      generate-pr-description:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v4
          - uses: actions/setup-node@v4
            with:
              node-version: 20
          - run: npx skills@latest run pr-description --diff "$(git diff origin/main)"
            env:
              OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
    

    這樣每次開 PR 就會自動產生一段描述,印在 log 或寫到你指定的地方。

    方式 B:在 Node.js 應用程式裡呼叫

    在你自己的專案中安裝:

    npm install skills
    

    然後在程式裡:

    import { runSkill } from "skills";
    
    async function summarizeDoc(path: string) {
      const result = await runSkill("summarize-doc", { path });
      return result.summary;
    }
    

    接著你可以:

    • 在後端 API 提供 /summaries endpoint
    • 在排程腳本裡定時呼叫
    • 在 Slack Bot 裡接指令呼叫

    把 Skills 放進你的「AI 自動化工具箱」的建議做法

    建議一日內可以完成的小目標:

    1. 先用 npx skills 跑三個預設技能:文件摘要、PR 描述、文案改寫
    2. 挑一個你每天都會做、卻很耗時間的文字相關工作,寫成一個最小版 skill
    3. 在你現在的 CI 或本地腳本裡,接入這個 skill(先只給自己用)
    4. 一週後觀察:
    5. 節省了哪些手動步驟?
    6. 哪些輸出需要調 prompt 或加後處理?

    只要跑完這一輪,你就等於有了一個可持續擴充的「AI 自動化工具箱」,之後每多一個 skill,就是少一個你自己要反覆做的瑣事。


    專案連結再附一次:https://github.com/vercel-labs/skills

    想像一下:未來你新增工具,不是寫一串 shell script,而是新增一個 skill,讓 AI 幫你處理掉更多「人做很累、AI 卻很擅長」的工作。

    🚀 你現在可以做的事

    • 在本機直接執行 npx skills@latest,跑一輪預設技能體驗輸出
    • git clone 官方專案並閱讀 skills 目錄下的範例,試著複製一個改成自己的 skill
    • 在一個現有 CI pipeline(如 GitHub Actions)中,加上一個使用 npx skills run pr-description 的非關鍵實驗步驟