💡 摘要
此技能將任何 AI 技能轉換為可部署的 LINE Bot 服務,並提供詳細的部署說明。
🎯 适合人群
🤖 AI 吐槽: “看起来很能打,但别让配置把人劝退。”
风险:Medium。建议检查:是否发起外网请求(SSRF/数据外发);API Key/Token 的获取、存储与泄露风险。以最小权限运行,并在生产环境启用前审计代码与依赖。
name: skill-to-linebot description: Convert any AI skill into a deployable LINE Bot service. Triggers on requests like "幫我把 XXX 變成 LINE Bot", "將這個 skill 部署成 LINE Bot", "create LINE Bot from skill".
Skill to LINE Bot 轉換技能
將任意 AI Skill 轉換成可部署的 LINE Bot 服務。
使用時機
當用戶提出以下請求時啟用此技能:
- 「幫我把 XXX skill 變成 LINE Bot」
- 「將這個 skill 部署成 LINE Bot」
- 「我想讓這個 skill 能在 LINE 上使用」
- 「create a LINE Bot from this skill」
核心功能
- Skill 分析 — 解析目標 skill 的結構、功能與用途
- 程式碼生成 — 生成完整的 Google Apps Script 專案
- 部署指南 — 產生詳細的部署步驟說明
工作流程
Step 1: 確認目標 Skill
詢問或確認用戶想要轉換的 skill:
請告訴我你想轉換的 skill 路徑,例如:
- .agent/skills/meihua-yishu
- .agent/skills/bazi
或者直接告訴我 skill 的名稱,我會幫你找到它。
Step 2: 分析 Skill 結構
讀取並分析目標 skill 的以下內容:
2.1 必讀檔案
SKILL.md— 提取 name、description、核心功能、使用流程
2.2 選讀檔案
scripts/*.py— 識別計算邏輯(如有)references/*.md— 識別知識庫內容(如有)ETHICS.md— 提取倫理規範(如有)
2.3 分析要點
從 SKILL.md 中提取:
- Skill 名稱 — 用於 Config.BOT_NAME
- 功能描述 — 用於生成歡迎訊息
- 核心功能 — 用於設計對話邏輯
- 輸入類型 — 用戶可能輸入的資料類型(文字、數字、時間等)
- 輸出格式 — 回應的內容結構
Step 3: 生成 GAS 專案
在用戶指定的目錄(或預設為 {skill-name}-line-bot/)建立以下檔案:
3.1 直接複製的模板(無需修改)
從 templates/ 目錄複製以下檔案:
| 模板檔案 | 目標檔案 |
|----------|----------|
| appsscript.json | appsscript.json |
| LineBot.gs.template | LineBot.gs |
| Database.gs.template | Database.gs |
3.2 需要填充的模板
Config.gs
替換以下佔位符:
{{SKILL_NAME}}→ Skill 技術名稱(如meihua-yishu){{SKILL_DISPLAY_NAME}}→ Skill 顯示名稱(如梅花易數占卜){{WELCOME_MESSAGE}}→ 歡迎訊息
Main.gs
直接複製 Main.gs.template,無需修改。
OpenAI.gs
直接複製 OpenAI.gs.template,無需修改。
SkillCore.gs(最重要!)
這是需要根據 Skill 內容客製化的核心檔案。
替換以下佔位符:
{{SYSTEM_PROMPT}}
根據 Skill 的 SKILL.md 內容生成系統提示詞,應包含:
- Skill 的角色定義
- 核心功能說明
- 回應格式要求
- 注意事項與限制
範例(以梅花易數為例):
SYSTEM_PROMPT: `你是一位專業的梅花易數占卜師。 【核心功能】 - 時間起卦:根據當前時間進行占卜 - 數字起卦:根據用戶提供的數字進行占卜 - 卦象解讀:分析體用關係並提供建議 【回應要求】 1. 使用繁體中文回答 2. 先說明卦象,再給出解讀 3. 提供具體可行的建議 4. 語氣溫和、正面 【注意事項】 - 卦象僅供參考,不代表絕對結果 - 不預測具體死亡或極端不幸 - 鼓勵用戶獨立思考`,
{{PROCESS_MESSAGE_LOGIC}}
根據 Skill 的功能生成處理邏輯。常見模式:
模式 A:純 AI 對話型
// 直接呼叫 OpenAI const response = OpenAI.chat(userMessage, this.SYSTEM_PROMPT); return response;
模式 B:帶有計算邏輯型
// 先處理輸入,再呼叫 AI const processedInput = this.preprocessInput(userMessage); const enhancedPrompt = this.SYSTEM_PROMPT + '\n\n【用戶輸入分析】\n' + processedInput; const response = OpenAI.chat(userMessage, enhancedPrompt); return response;
模式 C:使用 Vector Store 型
// 使用 Responses API 搜尋知識庫 const response = OpenAI.responsesWithSearch(userMessage, this.SYSTEM_PROMPT); return response;
{{HELPER_FUNCTIONS}}
根據需要添加輔助函數,例如:
- 輸入預處理
- 數字提取
- 時間處理
- 格式化輸出
Step 4: 生成部署指南
在專案目錄中建立 README.md,包含:
# {Skill 名稱} LINE Bot 部署指南 ## 📋 快速開始 ### 1. 建立 Google Sheets 1. 開啟 [Google Sheets](https://sheets.google.com) 2. 建立新試算表,命名為「{Skill 名稱} 資料庫」 3. 複製試算表 ID(網址中 `/d/` 和 `/edit` 之間的字串) ### 2. 建立 Google Apps Script 專案 1. 開啟 [Google Apps Script](https://script.google.com) 2. 點擊「新專案」 3. 將專案命名為「{Skill 名稱} LINE Bot」 4. 將以下檔案內容複製到 GAS 專案中: - `Config.gs` - `Main.gs` - `LineBot.gs` - `Database.gs` - `OpenAI.gs` - `SkillCore.gs` ### 3. 設定 Script Properties 在 GAS 中點擊 ⚙️「專案設定」 > 「指令碼屬性」,新增: | 屬性名稱 | 說明 | |----------|------| | `LINE_CHANNEL_SECRET` | LINE Messaging API Channel Secret | | `LINE_CHANNEL_ACCESS_TOKEN` | LINE Messaging API Access Token | | `OPENAI_API_KEY` | OpenAI API Key | | `SPREADSHEET_ID` | Google Sheets 試算表 ID | ### 4. 部署為網頁應用程式 1. 點擊「部署」→「新增部署作業」 2. 選擇類型:「網頁應用程式」 3. 設定: - 執行身分:我 - 存取權限:任何人 4. 點擊「部署」 5. 複製產生的 **網頁應用程式網址** ### 5. 設定 LINE Developers 1. 開啟 [LINE Developers Console](https://developers.line.biz/console/) 2. 建立 **Messaging API Channel** 3. 在「Messaging API」設定中: - 將 GAS 網址貼到 **Webhook URL** - 啟用 **Use webhook** - 關閉 **Auto-reply messages** 4. 取得 **Channel Secret** 和 **Channel Access Token** ## 🧪 測試 設定 `TEST_USER_ID` 後,在 GAS 中執行: - `testLineSend()` — 測試 LINE 連接 - `testSkillCore()` — 測試功能邏輯 ## 📱 使用 掃描 LINE 官方帳號 QR Code 加為好友,即可開始使用!
Step 5: 產生輸出摘要
完成後,向用戶報告:
✅ LINE Bot 專案已生成!
📁 專案位置:{output_directory}
📄 生成的檔案:
- appsscript.json — GAS 設定
- Config.gs — 設定管理
- LineBot.gs — LINE API 封裝
- Database.gs — 資料庫操作
- OpenAI.gs — AI 整合
- Main.gs — Webhook 入口
- SkillCore.gs — {Skill 名稱} 核心邏輯
- README.md — 部署指南
📖 下一步:
1. 閱讀 README.md 中的部署指南
2. 建立 Google Sheets 和 GAS 專案
3. 設定 LINE Developers
4. 部署並測試
需要我幫你升級到 Flex Message 版本嗎?
進階功能(Phase 2)
Flex Message 升級
當用戶要求升級 Flex Message 時:
-
生成
LineMessages.gs,包含:- 歡迎訊息 Flex 模板
- 結果顯示 Flex 模板
- 按鈕選單模板
-
修改
Main.gs中的回覆邏輯
⚠️ 注意:Flex Message 在 GAS 中除錯困難,建議先確保純文字版本運作正常後再升級。
Vector Store 整合
如果 Skill 有 references/ 目錄:
- 建議用戶使用
scripts/upload-skills.js上傳知識庫到 OpenAI Vector Store - 取得
OPENAI_VECTOR_STORE_ID並填入 Script Properties - SkillCore 將自動使用 Responses API 進行 RAG
模板位置
所有模板檔案位於:
.agent/skills/skill-to-linebot/templates/
├── appsscript.json
├── Config.gs.template
├── LineBot.gs.template
├── Database.gs.template
├── OpenAI.gs.template
├── Main.gs.template
└── SkillCore.gs.template
常見問題
Q: Webhook 返回 404
A: 確認已部署為「網頁應用程式」,而非「API 執行檔」。
Q: LINE 沒有回應
A: 檢查 Script Properties 中的 LINE_CHANNEL_ACCESS_TOKEN 是否正確。
Q: OpenAI 錯誤
A: 確認 OPENAI_API_KEY 正確且有足夠額度。
Q: 如何除錯?
A: 在 GAS 中點擊「執行項目」>「執行記錄」查看 Logger 輸出。
版本資訊
- 版本:1.0
- 更新日期:2026年1月
- 特點:
- 純文字優先,穩定易除錯
- 模組化設計,通用模組無需修改
- 支援 OpenAI Chat Completions 和 Responses API
- 簡化的 Google Sheets 資料庫操作
优点
- 自動將 AI 技能轉換為 LINE Bot
- 提供詳細的部署說明
- 支持多種 AI 功能
- 對開發者和非開發者友好
缺点
- 需要熟悉 Google Apps Script
- 僅限於 LINE 平台
- 自定義核心邏輯可能較為複雜
- 功能依賴外部 API
相关技能
免责声明:本内容来源于 GitHub 开源项目,仅供展示和评分分析使用。
版权归原作者所有 Wolke.
