本頁針對 Google 系列文件接受的技術撰寫專案提供詳細資料。
專案摘要
- 開放原始碼機構:
- Rocket.Chat
- 技術文件撰寫者:
- Mister Gold
- 專案名稱:
- 機器人文件
- 專案長度:
- 標準長度 (3 個月)
Project description
專案摘要
Chat 機器人一直是現今技術最先進的技術。即時通訊軟體和機器人的整體成長率極高,加上語音辨識和自動化技術的增長率,因此影響了建立簡單易用的機器人說明文件需求。
提供詳盡且清楚的說明文件就顯得格外重要,因此現有的機器人說明文件需要更容易存取和瀏覽,且應該針對每種支援的架構提供整合式逐步操作說明和豐富的範例。此外,也要仔細刪減多餘且難以理解的資訊。
本專案的目標是消除知識差距,並鼓勵經驗較少的新開發人員實現頂尖技術的優勢,進而吸引充滿期待的目標對象。方法是為機器人建構工具提供在 Rocket.Chat 中自行開發機器人的簡便體驗。這個目標的目標是讓 Rocket.Chat 成為開發人員首選的開放原始碼平台,方便這些開發人員創新、建立及測試聊天機器人的構想,而不受 BOT 最終部署目標影響。
專案問題
以下列出與機器人說明文件相關的最重大問題:
- 有關機器人的一般資訊,又不直覺化
- 與機器人架構相關的分散和多餘區段
- 整理完整的「入門指南」操作說明,且只提供單一資料來源
- 沒有操作說明或操作說明過多
- 隱式和模糊化 Bot SDK 說明文件
專案提案
根據專案的目標和上述問題,以下是我們提議的強化項目清單:
更新機器人文件。為了使初步簡介過程順暢且一致,建議您更新下列文件,從簡單變更為複雜的格式:
- 機器人總覽:https://rocket.chat/docs/bots/
- 機器人架構:https://rocket.chat/docs/bots/bots-frameworkure/
- 設定機器人環境:https://rocket.chat/docs/bots/configure-bot-environment/
- 機器人首頁:https://github.com/RocketChat/rocketchat.github.io/pull/
整理並整合機器人安裝說明文件。所有子專案都應具備一套統一的操作說明,瞭解如何複製機器人存放區並安裝必要依附元件、如何快速上手、如何在首次啟動後使用機器人,以及如何部署機器人。
修訂 Rocket.Chat JS SDK 說明文件簡報。請務必使用專門的工具,在原始碼中產生 SDK 說明文件。這項改善可讓讀者輕鬆閱讀,並不必在每次變更方法 (或其中內容) 時,手動更新 GitHub 上的文件。
賽況
申請審查期間:瞭解社群和使用者。瞭解社群貢獻指南和最佳做法。優先貢獻內容。
社群凝聚力:探索社群。檢查機器人說明文件的目前狀態。找出弱點。
第 1 週:協助導師瞭解機器人的新願景。根據目標,為新的機器人首頁建立更新內容。
第 2 週:修改機器人總覽、架構、環境設定頁面
第 3 週 - 定義應轉移至主要說明文件的子專案 (機器人 GitHub 存放區)。 - 定義轉移後漫遊器網站的運作方式。- 定義用來整理這些存放區資訊的範本。 - 準備轉移的主要文件
第 4 週:轉移 bBot 存放區。根據定義的範本整理資訊
第 5 週:移轉 Hubot 存放區。根據定義的範本整理資訊
第 6 週:轉移 Botkit 存放區。根據定義的範本整理資訊
第 7 週:移轉 Rasa 存放區。根據定義的範本整理資訊
第 8 週:移轉 BotPress 存放區。根據定義的範本整理資訊
第 9 週:轉移所有機器人子專案後,主要說明文件結構和頁面
第 10 週:檢查 JSDoc 設定。定義儲存 JSDoc 構件的位置。開始記錄驅動程式方法
第 11 週:完成驅動程式記錄方法
第 12 週:評估結果
里程碑細目
申請審查期間
測試期間的第一部分,將專門檢查社群頻道和原始碼,以及與專案相關人員聯絡。
活動期間的第二部分將致力檢視所有貢獻文化,並審視貢獻指南和最佳做法。這是首次貢獻內容,瞭解流程的運作方式。
社群凝聚
我們會投入時間進一步檢查說明文件存放區及其發展藍圖。根據這項資訊,我們可以找出哪些弱點 (例如不完整或遺漏部分) 有待改進。在可能的情況下建立提取要求來填補缺口。
第 1 週 - 第 2 週
第一週將致力於與導師溝通,以達成機器人說明文件的新願景。修訂版文件中旨在向讀者概略說明機器人的定義和工作原則。
第二週我們要分享新機器人首頁內容,並以願景為基礎修改機器人總覽、架構、環境設定。
修訂後的文件將著重於: - 新開發人員想要自行打造機器人 - 專業 [機器人] 開發人員,想要透過容易使用的平台設計/程式碼/測試機器人,或根據該平台調整現有機器人 - 擁有架構偏好設定的專業機器人開發人員
工作範圍如下:
- 移除多餘的版面。
舉例來說,下列部分會共用重疊的資訊:
- 機器人如何收發訊息?機器人總覽 (https://rocket.chat/docs/bots/#how-do-bots-send-and-receive-messages)
- 機器人架構中的訊息串流 (https://rocket.chat/docs/bots/bots-frameworkure/#message-streams)
- 在《建立機器人使用者》中與機器人互動 (https://rocket.chat/docs/bots/create-bot-users/#talk-to-your-bot)
修改「機器人總覽」頁面的區段和詞組,清楚描述機器人生態系統和符合 DRY 原則的功能。
修改有關「幕後」資訊的章節和詞組:
- 從技術角度來看,機器人是什麼
- 模型由哪些元件組成
- 這些元件如何搭配運作
撰寫快速入門指南,說明建立機器人的必要步驟 (詳情請附上「設定機器人環境」的連結)。這份指南會顯示在「環境設定」頁面中。
如此一來,開發人員將可清楚瞭解機器人的性質,以及哪些機器人可執行的操作。收到後,開發人員就能建立第一個機器人。
交付項目:提供清楚易懂的簡介指南,說明機器人生態系統和架構的相關資訊。
第 3 至 9 週
我們會在第 3 到第 9 週專門整合 GitHub 存放區中的所有機器人文件,並將這些文件轉移至主要說明文件 (https://rocket.chat/docs/bots/)。這些活動可分為多個疊代:
定義
定義應遷移至主要說明文件的機器人子專案清單。定義機器人網站在轉移後的運作方式 (例如部分漫遊器、bbot,例如 (http://bbot.chat)) 和 GitHub 等不同網站。
範本
定義及建立範本,以便整理您在第一個步驟中定義的機器人子專案內的資訊。這個範本的外觀如下:
a. 複製存放區
b. 安裝依附元件
c. 設定機器人
d. 執行機器人
e. 進階設定
f. 其他步驟
包含一些不重要的輸出內容 (例如「執行機器人」) 的指令應透過「字詞試算表」工具 (https://neatsoftware.github.io/term-sheet/) 即時呈現。
此外,為了讓初始的「快速入門」階段 (步驟 a - d) 更清楚,所有步驟都會合併成一份即時簡報。
為了讓新手可以安心嘗試,建議您提供模擬環境 (使用 Glitch,也就是 Rocket Chat 生態系統的一部分) 提供的程式碼範例,讓新手能與擁有「範例程式碼」的機器人聊天。
準備
準備移轉的主要文件。包括建立適當的資料夾和頁面結構,以及根據該架構調整目錄。
最終結構應如下所示:
- 機器人
- 機器人架構
- 建立機器人使用者
- 設定機器人環境
- 執行機器人
- 機器人機器人
- 休旅車
- 機器人機器人
- Rasa Bot
- 機器人
- 機器人
遷移
將定義的機器人子專案逐一遷移至主要說明文件。每段機器人說明文件都會有獨立的頁面,包含目前版本 (例如執行 bBot) 的子區段。
- 執行機器人
- 機器人機器人
- 休旅車
- 機器人機器人
- Rasa Bot
- 機器人
- 執行機器人
機構
並分為數個活動:
- 根據第 2 步驟中定義的範本,整理各個機器人 GitHub 存放區中的資訊。
- 將與所有機器人子專案相關的常用元件 (例如環境變數) 移至主要說明文件階層的上一層,並將機器人子專案連結至這些元件
- 為每個支援的架構建立「hello world」機器人範例。以下範例將做為 Rocket.Chat 的「開始使用」機器人。
為何這如此重要? Rocket.Chat 支援所有 8 個子專案:alexa、hubot、chatops-gitsy、botpress、rasa、bbot、botkit、BOTswana、hubot-gitsy 均以開發人員 README 的形式提供。這些 README 檔案完全沒有結構,包含如何開始使用的過時資訊,或包含過多有關如何開始使用 Docker 的三元備援資訊 (例如 Hubot (https://github.com/RocketChat/hubot-rocketchat) 以及含有環境變數的 Hubot,例如 Hubot (https://github.com/RocketChat/hubot-rocketchat))。
這些面向讓開發人員 (身為新手) 和精細的精細程度感到困惑。因此,開發人員僅使用幾個終端機指令就無法啟動並執行機器人。
轉移和最佳化完成後,GitHub 中現有的機器人存放區將包含參照主要說明文件的 README 檔案。
這樣的好處如下: - 簡化的架構,方便開發人員開始使用新的機器人 - 機器人單一可靠資料來源說明文件 - 因為經過統合的架構,能更輕鬆找出任何機器人的必要資訊
交付項目:彙整自單一位置 (主要說明文件),方便您瞭解 Rocket.Chat 支援的建立、設定及執行機器人。
第 10 週
本週將專門設定 JSDoc (https://devdocs.io/jsdoc/),充分發揮內嵌註解的價值。包括:
- 確認 JSDoc 已正確設定,以便剖析驅動程式方法的註解 (https://github.com/RocketChat/Rocket.Chat.js.SDK#driver-methods)
- 安裝 postman-jsdoc-theme (https://github.com/postmanlabs/postman-jsdoc-theme),讓產生的 HTML 輸出內容更明確,也適合開發人員使用
- 定義 JSDoc 說明文件構件的發布位置
- 說明與驅動程式方法相關的所有函式 (in dist/lib/driver.js) 檔案。這包括:
- 新增/編輯方法說明
- 新增/編輯方法參數的說明
- 新增/編輯方法要求範例 (如適用)
- 新增/編輯方法回應範例 (如適用)
從開發人員的角度來看,內嵌說明文件更容易撰寫及維護,其自動產生的機制則可讓您移除 GitHub (https://github.com/RocketChat/Rocket.Chat.js.SDK#driver-methods) 代管的靜態說明文件,且 SDK 方法中的各項變更必須分別更新。
第 11 週
本週將完全專注於描述駕駛方法的最終成品。完成後,我們就會測試說明的準確性和一致性,然後才會將新版文件發布到全世界。
第 12 週
已完成工作。接受檢查。