diff --git a/template/wiki/plugins/linonetwo/service-worker/load-service-worker.html b/template/wiki/plugins/linonetwo/service-worker/load-service-worker.html
new file mode 100644
index 00000000..e89fb293
--- /dev/null
+++ b/template/wiki/plugins/linonetwo/service-worker/load-service-worker.html
@@ -0,0 +1,165 @@
+
+
+
+
+
diff --git a/template/wiki/plugins/linonetwo/service-worker/load-service-worker.html.meta b/template/wiki/plugins/linonetwo/service-worker/load-service-worker.html.meta
new file mode 100644
index 00000000..651f5b1e
--- /dev/null
+++ b/template/wiki/plugins/linonetwo/service-worker/load-service-worker.html.meta
@@ -0,0 +1,4 @@
+creator: LinOnetwo
+tags: $:/tags/RawMarkup
+title: $:/plugins/linonetwo/service-worker/load-service-worker.html
+type: text/html
diff --git a/template/wiki/plugins/linonetwo/service-worker/plugin.info b/template/wiki/plugins/linonetwo/service-worker/plugin.info
new file mode 100644
index 00000000..dbb61505
--- /dev/null
+++ b/template/wiki/plugins/linonetwo/service-worker/plugin.info
@@ -0,0 +1,9 @@
+{
+ "title": "$:/plugins/linonetwo/service-worker",
+ "description": "Use service worker to cache content, make it works even offline, and can be add to the desktop as an App.",
+ "author": "LinOnetwo",
+ "core-version": ">=5.1.22",
+ "plugin-type": "plugin",
+ "version": "0.0.1",
+ "list": "readme"
+}
\ No newline at end of file
diff --git a/template/wiki/plugins/linonetwo/service-worker/readme.tid b/template/wiki/plugins/linonetwo/service-worker/readme.tid
new file mode 100755
index 00000000..d559d547
--- /dev/null
+++ b/template/wiki/plugins/linonetwo/service-worker/readme.tid
@@ -0,0 +1,51 @@
+title: $:/plugins/linonetwo/service-worker/readme
+created: 20200414135748497
+modified: 20200602062349232
+creator: LinOnetwo
+type: text/vnd.tiddlywiki
+
+!! Usage
+
+After install, you have to publish your wiki as a HTTPS website to make it work.
+
+!!! Make sure to include all necessary step in the build process
+
+Add following files to your `/public` folder after build, you can use a script to copy them to the build folder after the wiki build process:
+
+1. Add a `manifest.webmanifest` like:
+
+```json
+{
+ "background_color": "white",
+ "theme_color": "white",
+ "description": "Meme of LinOnetwo 林一二的模因和想法 - TiddlyWiki 非线性的知识库和博客",
+ "display": "standalone",
+ "icons": [
+ {
+ "src": "/TiddlyWikiIconBlack.png",
+ "sizes": "256x256",
+ "type": "image/png"
+ },
+ {
+ "src": "/TiddlyWikiIconWhite.png",
+ "sizes": "144x144",
+ "type": "image/png"
+ }
+ ],
+ "name": "TiddlyWiki",
+ "short_name": "Wiki",
+ "lang": "zh-CN",
+ "start_url": "/",
+ "scope": "/"
+}
+```
+
+Make sure icon size is at least 144x144. And change all necessary fields.
+
+2. Add `service-worker.js`:
+
+See [[https://github.com/linonetwo/Meme-of-LinOnetwo/public/service-worker.js|https://github.com/linonetwo/Meme-of-LinOnetwo/blob/d088f72a2b95ee21b68af1b349d9993a3997bf19/Meme-of-LinOnetwo/public/service-worker.js]] for example.
+
+!!! Config router
+
+Sometimes request from this plugin to your `service-worker.js` will resulted in 404, this is basically because you are not putting `service-worker.js` just besides your `index.html`, or the router config is wrong.
diff --git a/template/wiki/public/service-worker.js b/template/wiki/public/service-worker.js
index 178c028b..72f2d8e9 100644
--- a/template/wiki/public/service-worker.js
+++ b/template/wiki/public/service-worker.js
@@ -1,4 +1,4 @@
-importScripts('https://storage.googleapis.com/workbox-cdn/releases/5.1.3/workbox-sw.js');
+importScripts('https://storage.googleapis.com/workbox-cdn/releases/5.1.4/workbox-sw.js');
if (workbox) {
console.log(`Yay! Workbox is loaded 🎉Service Worker is working!`);
diff --git a/template/wiki/tiddlywiki.info b/template/wiki/tiddlywiki.info
index e705f118..d5bc556e 100644
--- a/template/wiki/tiddlywiki.info
+++ b/template/wiki/tiddlywiki.info
@@ -37,6 +37,7 @@
"felixhayashi/topstoryview",
"mat/field-value-selector",
"linonetwo/opened-tiddlers-bar",
+ "linonetwo/service-worker",
"linonetwo/copy-on-select",
"linonetwo/source-control-management",
"linonetwo/prevent-edit"