== 機器人設計理念 ==
以下列出理想之機器人設計理念:
最小化更動
若是完全不更動也能接受,就不更動。若必須更動,則在可確認的範圍內一次更改到位,包括規範化;否則僅作最小修正。
除非是非修正不可的問題,否則應該盡量避免修改封存紀錄。
一次到位
更動具穩定度。同樣操作執行一次後,第二次執行就不該有更動。
僅更動篩選過的內容
僅處理確認屬於本次任務之 pattern。對於無法解析或有問題者,跳過不處理之。寧可漏判 (false negative) 也不誤判 (false positive)。例如先對內容作盡可能精準之模式匹配,並針對符合之部分方作更動。若模糊無法判別,則不更動,而註記為可能需要增加模式、或需要人工判別之內容。
cf. 最小權限原則
考量特殊wikitext
處理頁面最好採用語法解析器。直接處理wikitext時,須考量特殊情形。如:
考量相同表現之語法。如:要尋找所有「軟體」亦須匹配字詞轉換語法「軟-{}-體」。
要偵測所有{{Tl}}須排除「」或在 中的情況。
使用{{-}}、{{!}}、{{=}}、解析器函數、特殊字符與魔術字的情況。例如要找「机器人」,也得考慮「{{{name|{{int:Group-bot}}}}}」。
語意化、規範化
盡可能使編輯結果容易被人類與機器利用,並方便往後更動。
因此:
依據規範產生wikitext,少用花俏(漂亮舒適而繁雜)但能產生(解析出)相同表現之語法。
對大量使用之外部連結,以模板替代之。e.g., 近代デジタルライブラリーのアドレス変更およびテンプートによるカプセル化
繁簡文字直接用分歧性最大的語言,於分歧性小的語言自動轉換就沒有這個煩惱了。就「-{回复}-」、「-{回復}-」、「-{回覆}-」來說,使用繁體,簡體自動轉換。遇到「著」這個這個字則分開成「着」和「著」(由於「著」字意思太多,香港和大陸將「着」、「著」二字分家,其實比台灣只用一字更能消除歧義。)。這樣都能顯著降低轉換錯誤的困擾。(Wikipedia:互助客栈/其他#假如有很簡潔扼要的方法能解決繁簡轉換問題,是否有必要特地使用複雜的手工轉換標籤?有相關討論)
字詞轉換應該盡可能維持整個詞彙的完整,這樣除了人類容易讀原始碼,亦可方便機器處理。若無必要,建議採用「-{軟體}-」而非「軟-{}-體」以方便搜尋。必要時,亦可考慮以零寬空格代替。
完整記錄
盡可能作完整記錄。可能的話還包含 undo script。
更動後須測試再上路
每次更動後皆先作小幅度測試。若發生問題則即時回復,確保沒問題再正式上路,應用於成品/上線環境 (production environment)。
使用最少的資源
最小化所使用的資源,包括電腦記憶體、硬碟等儲存裝置空間以及網路流量等。能做cache則做cache,讓檢查過的不需再做第二次檢查。
考量人類作業的因素
機器人的操作應該能夠讓人類理解。並且若是人類手動代替機器人操作部分作業時,機器人也能夠正確判別以及運作。
機器人對使用者編輯的修正應採用友善的語氣。
當機器人失靈時,人類應當有辦法手動代替作業。例如不能夠把知道某些密碼、密鑰或是雜湊值或者其生成方法當作編輯後能夠正確運作的條件。
機器人應考慮作業到一半被其他人或者其他機器人插斷、編輯衝突的情況,若可行則再次作業,或採行相對應的措施。
開放原始碼並且維持一個能夠即時修改維護程式的團隊
這可以讓機器人在出問題、有漏洞時可以即時更正,並且避免機器人年久失修、無人維護。
== Cewbot 作業列表 ==
== 申請中作業 ==
正在處理...目前正審批(請求bot權限中)之作業
== 運行中作業 ==
當前運行中作業 / 主要運行功能。
TODO: w:en:Template:Log, w:en:Template:ToDo
=== 提報關注度不足過期提醒 ===
利用{{Notability-talk}}將提交到通用關注度分類下的、列入超過30天的頁面的用戶討論頁上留言,詢問是否需要提刪。 «停止»
若您不想接受關注度提醒,請利用{{bots|optout=afd}}模板。或利用{{Personal announcement}}模板之類,在您的用戶討論頁中加入如下列之提醒:「請勿在討論頁中放入關注度訊息」。
長期性作業,將定期運行。編輯頻率:每天一次。
bot 運作記錄: User:cewbot/log/20150503
TODO: {{bots|optout=np}}
已批准。
=== 拆分或合併維護模板 ===
在含有三個以上維護模板的條目內,添加{{多個問題}}模板。並清理只含有一個維護模板,卻又使用{{多個問題}}的條目。 «停止»
長期性作業,將會定期運行或不定期手動執行。編輯頻率:每月或每周一次。
設定參數: User:Cewbot/規範多個問題模板設定
bot 運作記錄: User:cewbot/log/20150916
已批准。
=== 修復維基百科語法錯誤 ===
修正維基百科語法錯誤。«停止»
長期性作業,將會定期運行或不定期手動執行。編輯頻率:每月或每周一次。
bot 運作記錄: User:cewbot/log/20151002
多項已批准。
=== 將跨語言連結模板轉為內部連結 ===
清理跨語言連結。將跨語言連結模板轉為內部連結(一般 wikilink)«停止»
長期性作業,將會定期運行。編輯頻率:每周一次。
已批准。
GitHub上的原始碼 (source code)
=== 幫忙補簽名 ===
幫忙補簽名«停止»
長期性作業,將會持續運行。
bot 運作記錄: User:Cewbot/log/20170515
已批准。
GitHub上的原始碼 (source code)
您可於特定頁面加入 {{Bots|optout=SIGN}} 來避免機器人添加簽名標記。
您可在您的用戶頁或您的用戶討論頁加入 {{NoAutosign}} 來避免機器人為您自動補簽名。
若您只是暫存,請在編輯註解加上"暫存"字樣即可避免補簽名。若您希望自行手動補簽名,請逕行修改即可。
=== 增加討論頁面主題列表 ===
增加討論頁面 topic list 主題列表«停止»
長期性作業,將會持續運行。
設定參數: User:Cewbot/討論頁面主題列表設定
已批准。
GitHub上的原始碼 (source code)
=== 自動更新首頁特色內容 ===
長期性作業,以一般用户身分運行。編輯頻率:對於明天以及後天的特色內容與優良條目,每天2次。«停止»
Wikipedia:首頁/特色內容展示設定、Wikipedia:首頁/特色內容展示報告、Wikipedia:首頁/優良條目展示報告。
GitHub上的原始碼 (source code)
已批准。
=== 清理Category:公司信息框使用額外地區代碼參數的頁面 ===
用途:BOTREQ:清理Category:公司信息框使用额外地区代码参数的页面
GitHub上的原始碼 (source code)
長期性作業,將會持續運行。
已批准。
=== Fix broken anchor ===
Configuration: User:Cewbot/log/20201008/configuration
GitHub上的Source code
The bot also notify broken anchors in the talk page via {{Broken anchors}}.
已批准。
I don't want the bot to modify my archives!
Please using {{bots|optout=anchor-fixing}}, the bot will skip this page.
== 已完成或結束作業 ==
已結案:Y 完成、 已完成、停止作業(任務型),請協助檢查錯誤。
=== 添加規範控制模板 ===
轉移 en wiki 之規範控制 (Authority control) 模板。
bot 運作記錄: User:cewbot/log/20150109
Wikidata:WikiProject Authority control/Status
規範控制模板使用數目: 461277
已批准。
=== 修正配音誤用模板 ===
正規化角色介紹,修正配音誤用{{Language icon}}。
bot 運作記錄: User:cewbot/log/20150227
已批准。
=== 修正錯別字:钱钟→钱锺 ===
已修复 钱钟→钱锺
bot 運作記錄: User:cewbot/log/20150210
本例已批准。
=== 替換臺鐵圖徽為SVG版本 ===
將臺鐵圖徽TRA_Logo.png替換為SVG版本File:TRA Logo.svg,以利後續將PNG版本刪除。
bot 運作記錄: User:cewbot/log/20150103
已批准。
=== 添加維基文庫中提及本年的原始文獻連結 ===
對前699年–1910年批量添加{{wikisource year mention}}
GitHub上的原始碼 (source code)
== 未批准作業 ==
不合要求、 驳回、 擱置作業、 不可行、 不建議機器人處理(建議手動修改)、撤回請求
=== 修正不適宜用詞:相关词条 ===
相关词条→相關條目
bot 運作記錄: User:cewbot/log/20150120
沒有必要。
撤回请求作業
已取消作業
== 機器人製作軟體架構 ==
Cewbot 採用了包含製作機器人功能的 JavaScript 軟體架構,可離線開發和運行。
framework: wikiapi / CeJS MediaWiki 自動化作業用的程式庫
可執行環境: node.js, JScript
採用 CeJS 函式庫來製作維基百科機器人的範例
The User agent is CeJS/2.0 (https://github.com/kanasimi/CeJS) when it's running under node.js.
API 功能使用狀況
=== 在 Wikimedia Toolforge 配置 node.js 任務的注意事項 ===
Wikimedia Toolforge 上之資料庫僅為正式上線版之刪節副本。資料並非最新版本(但誤差多於數分內),也不完全。
ref. mw:Toolserver:Servers IP: w:en:Wikipedia:Blocking IP addresses#Sensitive for other reasons (91.198.174.0/24, 185.15.56.0/22, 198.35.26.0/23, 208.80.152.0/22), mw:Toolserver:Admin:DNS, mw:Meza/Install on Wikimedia Cloud VPS instance (172.16.0.0/16)
== 機器人常用關聯資料 ==
Cewbot status
机器人編輯紀錄 跨語言活動 Global user contributions
全域帳號資訊 SUL
Global latest edit XTools WikiChecker
API feature usage 功能使用狀況
Sub pages 機器人所有子頁面
toolsadmin k8s-status
toollabs:cewbot web page
机器人 status
31個机器人清單, 使用者權限級別, 使用者群組權限一覽
机器人操作列表 (bot activity by last edit)
List of bots by editcount List of bots by editcount (wikidata) zh.wikiscan
维基百科数据 汉语
Debian Stretch grid status, Project: Tools Wikimedia Toolforge Tools 對外出口IP 185.15.56.0/24 (ask from IRC, not wikitech:News/CloudVPS NAT wikis)
維基媒體集群負載/內存狀態概述 wikidata edits
Edit summary search
Icons
Template:BOTREQ
各記號模板
狀態註解
Boards
机器人作業請求
Bot owners' noticeboard
Wikipedia:互助客棧/技術
Development information
MediaWiki API help MediaWiki API 說明文檔頁面
Test pages and sites
Sandbox: 沙盒 模板測試沙盒 模板沙盒 Module測試沙盒 (Module:沙盒) API沙盒 Flow測試頁面
testwiki: test2wiki: testwikidata: zh Beta Cluster en Beta Cluster
misc
設定頁面參照模板/範例 Log頁面參照模板+w:en:User:Cewbot/log/20150916
已安裝的擴充套件/版本
700+ Wikimedia projects 維基媒體的 Wiki 清單 跨 wiki 字首
開發人員 OAuth Consumer 註冊