diff --git a/src/main.js b/src/main.js
index 1ad9c51b..2d8728d8 100644
--- a/src/main.js
+++ b/src/main.js
@@ -34,7 +34,6 @@ Volcanos({river: {
"web.chat.wx.access",
"web.chat.wx.menu",
"web.chat.wx.scan",
- "web.chat.wx.ide",
"web.chat.wx.tags",
"web.chat.wx.users",
]},
@@ -62,9 +61,7 @@ Volcanos({river: {
"web.code.git.service",
]},
cloud: {name: "部署 cloud", icon: "bi bi-clouds", list: [
- "web.chat.wx.ide",
- {space: "20220826-career", index: "ssh.relay"},
- {space: "20230511-docker-story", index: "web.code.docker.client"},
+ "web.chat.wx.ide", {space: "20220826-career", index: "ssh.relay"},
]},
}},
operate: {name: "运维群", icon: "bi bi-gear", type: aaa.TECH, storm: {
diff --git a/src/template/ssh.relay/install.sh b/src/template/ssh.relay/install.sh
new file mode 100644
index 00000000..9cfe9d3a
--- /dev/null
+++ b/src/template/ssh.relay/install.sh
@@ -0,0 +1,4 @@
+cd ~
+ctx_temp=$(mktemp)
+curl -o $ctx_temp -fsSL https://shylinux.com
+source $ctx_temp source
diff --git a/src/template/ssh.relay/install.shy b/src/template/ssh.relay/install.shy
new file mode 100644
index 00000000..57cac4bb
--- /dev/null
+++ b/src/template/ssh.relay/install.shy
@@ -0,0 +1,21 @@
+chapter "init"
+section "添加用户"
+shell `
+useradd {{.Option "user.name"}}
+passwd {{.Option "user.name"}}
+visudo
+`
+spark inner `
+{{.Option "user.name"}} ALL=(ALL) NOPASSWD: ALL
+`
+section "安装项目"
+shell `
+ctx_temp=$(mktemp); curl -o $ctx_temp -fsSL https://shylinux.com; source $ctx_temp source
+
+ish_miss_serve_log
+
+open http://{{.Option "host"}}:9020
+`
+section "终端工具"
+field web.code.xterm args "{{.Option "relay"}}" auto delay
+
diff --git a/src/template/ssh.relay/pushbin.sh b/src/template/ssh.relay/pushbin.sh
new file mode 100644
index 00000000..874eedbf
--- /dev/null
+++ b/src/template/ssh.relay/pushbin.sh
@@ -0,0 +1,3 @@
+cd ~/contexts/demo/
+chmod u+x bin/ice.bin
+./bin/ice.bin cli.system pwd
diff --git a/src/template/ssh.relay/upgrade.sh b/src/template/ssh.relay/upgrade.sh
new file mode 100644
index 00000000..90012fce
--- /dev/null
+++ b/src/template/ssh.relay/upgrade.sh
@@ -0,0 +1,2 @@
+cd ~/contexts
+source etc/miss.sh
diff --git a/src/template/ssh.relay/version.sh b/src/template/ssh.relay/version.sh
new file mode 100644
index 00000000..3a15c63d
--- /dev/null
+++ b/src/template/ssh.relay/version.sh
@@ -0,0 +1,2 @@
+cd ~/contexts
+./bin/ice.bin web.admin vimer compile
diff --git a/src/template/web.chat.wx.ide/pages.wxml b/src/template/web.chat.wx.ide/pages.wxml
new file mode 100644
index 00000000..dfcda20f
--- /dev/null
+++ b/src/template/web.chat.wx.ide/pages.wxml
@@ -0,0 +1 @@
+
diff --git a/src/template/web.chat.wx.ide/pages_foot.js b/src/template/web.chat.wx.ide/pages_foot.js
new file mode 100644
index 00000000..d90d7822
--- /dev/null
+++ b/src/template/web.chat.wx.ide/pages_foot.js
@@ -0,0 +1 @@
+Volcanos._init()
diff --git a/src/template/web.chat.wx.ide/pages_head.js b/src/template/web.chat.wx.ide/pages_head.js
new file mode 100644
index 00000000..cfdef451
--- /dev/null
+++ b/src/template/web.chat.wx.ide/pages_head.js
@@ -0,0 +1,3 @@
+const {ice, ctx, mdb, web, code, chat, http, html} = require("../../utils/const.js")
+const {shy, Volcanos} = require("../../utils/proto.js")
+Volcanos._page = {}
diff --git a/src/template/web.chat.wx.ide/pages_head.wxml b/src/template/web.chat.wx.ide/pages_head.wxml
new file mode 100644
index 00000000..932de4e1
--- /dev/null
+++ b/src/template/web.chat.wx.ide/pages_head.wxml
@@ -0,0 +1 @@
+