diff --git a/.gitignore b/.gitignore
index e5f941e..bcdec10 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,6 +5,8 @@
!python_bindings/**
!src/
!src/**
+!help/
+!help/**
!resources/
!resources/**
!*.bat
diff --git a/help/.idea/.gitignore b/help/.idea/.gitignore
new file mode 100644
index 0000000..359bb53
--- /dev/null
+++ b/help/.idea/.gitignore
@@ -0,0 +1,3 @@
+# 默认忽略的文件
+/shelf/
+/workspace.xml
diff --git a/help/.idea/.name b/help/.idea/.name
new file mode 100644
index 0000000..bdf1037
--- /dev/null
+++ b/help/.idea/.name
@@ -0,0 +1 @@
+Uft30ChangeCodeHelp
\ No newline at end of file
diff --git a/help/.idea/misc.xml b/help/.idea/misc.xml
new file mode 100644
index 0000000..639900d
--- /dev/null
+++ b/help/.idea/misc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/help/.idea/modules.xml b/help/.idea/modules.xml
new file mode 100644
index 0000000..0df532a
--- /dev/null
+++ b/help/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/help/Writerside/.idea/.gitignore b/help/Writerside/.idea/.gitignore
new file mode 100644
index 0000000..359bb53
--- /dev/null
+++ b/help/Writerside/.idea/.gitignore
@@ -0,0 +1,3 @@
+# 默认忽略的文件
+/shelf/
+/workspace.xml
diff --git a/help/Writerside/.idea/Writerside.iml b/help/Writerside/.idea/Writerside.iml
new file mode 100644
index 0000000..d6ebd48
--- /dev/null
+++ b/help/Writerside/.idea/Writerside.iml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/help/Writerside/.idea/misc.xml b/help/Writerside/.idea/misc.xml
new file mode 100644
index 0000000..6f29fee
--- /dev/null
+++ b/help/Writerside/.idea/misc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/help/Writerside/.idea/modules.xml b/help/Writerside/.idea/modules.xml
new file mode 100644
index 0000000..b2bb62a
--- /dev/null
+++ b/help/Writerside/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/help/Writerside/c.list b/help/Writerside/c.list
new file mode 100644
index 0000000..c4c77a2
--- /dev/null
+++ b/help/Writerside/c.list
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/help/Writerside/cfg/buildprofiles.xml b/help/Writerside/cfg/buildprofiles.xml
new file mode 100644
index 0000000..1975fb4
--- /dev/null
+++ b/help/Writerside/cfg/buildprofiles.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ ChangeCode.png
+
+
+
diff --git a/help/Writerside/cfg/glossary.xml b/help/Writerside/cfg/glossary.xml
new file mode 100644
index 0000000..22bec6b
--- /dev/null
+++ b/help/Writerside/cfg/glossary.xml
@@ -0,0 +1,7 @@
+
+
+
+
+ Description of what "foo" is.
+
+
\ No newline at end of file
diff --git a/help/Writerside/hi.tree b/help/Writerside/hi.tree
new file mode 100644
index 0000000..5524af8
--- /dev/null
+++ b/help/Writerside/hi.tree
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/help/Writerside/images/ChangeCode.png b/help/Writerside/images/ChangeCode.png
new file mode 100644
index 0000000..8922aeb
Binary files /dev/null and b/help/Writerside/images/ChangeCode.png differ
diff --git a/help/Writerside/images/UF20元数据.png b/help/Writerside/images/UF20元数据.png
new file mode 100644
index 0000000..79de5cf
Binary files /dev/null and b/help/Writerside/images/UF20元数据.png differ
diff --git a/help/Writerside/images/UF20账户环境路径.png b/help/Writerside/images/UF20账户环境路径.png
new file mode 100644
index 0000000..8b94d79
Binary files /dev/null and b/help/Writerside/images/UF20账户环境路径.png differ
diff --git a/help/Writerside/images/UF20项目环境路径.png b/help/Writerside/images/UF20项目环境路径.png
new file mode 100644
index 0000000..e08fa2f
Binary files /dev/null and b/help/Writerside/images/UF20项目环境路径.png differ
diff --git a/help/Writerside/images/UFT3元数据.png b/help/Writerside/images/UFT3元数据.png
new file mode 100644
index 0000000..c16127f
Binary files /dev/null and b/help/Writerside/images/UFT3元数据.png differ
diff --git a/help/Writerside/images/UFT3项目环境路径.png b/help/Writerside/images/UFT3项目环境路径.png
new file mode 100644
index 0000000..fa66bdd
Binary files /dev/null and b/help/Writerside/images/UFT3项目环境路径.png differ
diff --git a/help/Writerside/images/停止转码.png b/help/Writerside/images/停止转码.png
new file mode 100644
index 0000000..ccdf309
Binary files /dev/null and b/help/Writerside/images/停止转码.png differ
diff --git a/help/Writerside/images/删除.png b/help/Writerside/images/删除.png
new file mode 100644
index 0000000..b9c4720
Binary files /dev/null and b/help/Writerside/images/删除.png differ
diff --git a/help/Writerside/images/功能名称查询.png b/help/Writerside/images/功能名称查询.png
new file mode 100644
index 0000000..c50ae0c
Binary files /dev/null and b/help/Writerside/images/功能名称查询.png differ
diff --git a/help/Writerside/images/功能名称查询uft3.png b/help/Writerside/images/功能名称查询uft3.png
new file mode 100644
index 0000000..c1860c4
Binary files /dev/null and b/help/Writerside/images/功能名称查询uft3.png differ
diff --git a/help/Writerside/images/双击添加.png b/help/Writerside/images/双击添加.png
new file mode 100644
index 0000000..cdc63de
Binary files /dev/null and b/help/Writerside/images/双击添加.png differ
diff --git a/help/Writerside/images/模糊查询UFT3.png b/help/Writerside/images/模糊查询UFT3.png
new file mode 100644
index 0000000..8048c7e
Binary files /dev/null and b/help/Writerside/images/模糊查询UFT3.png differ
diff --git a/help/Writerside/images/模糊查询uf20.png b/help/Writerside/images/模糊查询uf20.png
new file mode 100644
index 0000000..cab0d22
Binary files /dev/null and b/help/Writerside/images/模糊查询uf20.png differ
diff --git a/help/Writerside/images/添加函数.png b/help/Writerside/images/添加函数.png
new file mode 100644
index 0000000..7d04d98
Binary files /dev/null and b/help/Writerside/images/添加函数.png differ
diff --git a/help/Writerside/images/精准查询uf20.png b/help/Writerside/images/精准查询uf20.png
new file mode 100644
index 0000000..914be36
Binary files /dev/null and b/help/Writerside/images/精准查询uf20.png differ
diff --git a/help/Writerside/images/精准查询uft3.png b/help/Writerside/images/精准查询uft3.png
new file mode 100644
index 0000000..d969122
Binary files /dev/null and b/help/Writerside/images/精准查询uft3.png differ
diff --git a/help/Writerside/images/编辑.png b/help/Writerside/images/编辑.png
new file mode 100644
index 0000000..d3eeed6
Binary files /dev/null and b/help/Writerside/images/编辑.png differ
diff --git a/help/Writerside/images/转码.png b/help/Writerside/images/转码.png
new file mode 100644
index 0000000..487591e
Binary files /dev/null and b/help/Writerside/images/转码.png differ
diff --git a/help/Writerside/images/转码生成路径.png b/help/Writerside/images/转码生成路径.png
new file mode 100644
index 0000000..eda24aa
Binary files /dev/null and b/help/Writerside/images/转码生成路径.png differ
diff --git a/help/Writerside/redirection-rules.xml b/help/Writerside/redirection-rules.xml
new file mode 100644
index 0000000..44f1704
--- /dev/null
+++ b/help/Writerside/redirection-rules.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+ Created after removal of "Empty MD Topic" from Uft30ChangeCode
+ Empty-MD-Topic.html
+
+
\ No newline at end of file
diff --git a/help/Writerside/topics/UF20功能查询.md b/help/Writerside/topics/UF20功能查询.md
new file mode 100644
index 0000000..f3c2f72
--- /dev/null
+++ b/help/Writerside/topics/UF20功能查询.md
@@ -0,0 +1,17 @@
+# UF20功能查询
+
+查询UFT3系统中的函数信息。
+
+## 查询条件
+从下拉框选择查询(功能名称、功能编号),输入框输入查询关键词,点击"Aa"切换精确/模糊匹配模式,点击放大镜图标或按回车执行查询
+
+- 功能名称
+
+
+- 功能编号
+
+
+
+## 双击添加
+双击选中行添加转码业务,只支持LS功能添加
+
diff --git a/help/Writerside/topics/UFT3功能查询.md b/help/Writerside/topics/UFT3功能查询.md
new file mode 100644
index 0000000..317025c
--- /dev/null
+++ b/help/Writerside/topics/UFT3功能查询.md
@@ -0,0 +1,12 @@
+# UFT3功能查询
+
+查询UFT3系统中的函数信息。
+
+## 查询条件
+从下拉框选择查询(功能名称、功能编号),输入框输入查询关键词,点击"Aa"切换精确/模糊匹配模式,点击放大镜图标或按回车执行查询
+
+- 功能名称
+
+- 功能编号
+
+
diff --git a/help/Writerside/topics/Uft30ChangeCode.md b/help/Writerside/topics/Uft30ChangeCode.md
new file mode 100644
index 0000000..7974f9d
--- /dev/null
+++ b/help/Writerside/topics/Uft30ChangeCode.md
@@ -0,0 +1,3 @@
+# Uft30ChangeCode
+
+提供UFT30元数据、UF20公共资源搜索功能,支持业务转码
\ No newline at end of file
diff --git a/help/Writerside/topics/update-1-0-0.md b/help/Writerside/topics/update-1-0-0.md
new file mode 100644
index 0000000..73317b3
--- /dev/null
+++ b/help/Writerside/topics/update-1-0-0.md
@@ -0,0 +1,11 @@
+# 1.0.0
+
+1.支持业务转码
+
+2.支持代码uf20、uft3功能查找
+
+3.支持帮助菜单和在线帮助文档
+
+4.支持接口元数据更新
+
+5.设置菜单UFT30项目环境路径、UF20项目环境路径、UF20账户环境路径、转码生成路径、支持弹窗选择目录。
\ No newline at end of file
diff --git a/help/Writerside/topics/下载.md b/help/Writerside/topics/下载.md
new file mode 100644
index 0000000..fea3da1
--- /dev/null
+++ b/help/Writerside/topics/下载.md
@@ -0,0 +1,18 @@
+# 下载
+
+## 全量更新
+下载全量包,解压即用。
+
+> 1.0.0版本是基础版本,包含所需功能,如果是第一次下载,请选择全量包。
+{style="note"}
+## 增量更新
+下载增量包,解压后替换原文件即可
+> 1.0.0版本是基础版本,如若要从旧版升级到1.0.0及以上版本,可以选择增量版本下载,并将旧版根目录下的uf2touft3和当前目录替换覆盖到新版根目录。
+{style="note"}
+
+## 下载
+
+| 版本 | 更新日期 | 全量包 | 增量包 |
+|------|------------|---------------------------------------------------------------------------------|-----|
+| 1.0.0 | 2026-06-01 | [Uft30ChangeCode-1.0.0.zip](http://10.20.163.105:6045/download/uft3changecode/Uft30ChangeCode-1.0.0.zip) | |
+
diff --git a/help/Writerside/topics/业务转码.md b/help/Writerside/topics/业务转码.md
new file mode 100644
index 0000000..4519e53
--- /dev/null
+++ b/help/Writerside/topics/业务转码.md
@@ -0,0 +1,27 @@
+# 业务转码
+
+将UF20函数转换为UFT3函数格式的核心功能。
+
+## 功能列表管理
+
+点击"添加"按钮,输入函数名添加到转码列表
+
+
+点击表格操作按钮可编辑函数名,如下:
+
+
+选中行后点击"删除"移除函数、点击"清空"清空所有函数,如下:
+
+
+## 配置文件同步
+
+- 自动读取 uf2touft3/cust.json 配置
+- 配置文件外部修改时自动刷新列表
+
+## 转换操作
+
+点击"开始转换"启动转换任务,转换过程中可查看进度条和状态信息,如下:
+
+
+点击"停止转换"中止当前任务,如下:
+
\ No newline at end of file
diff --git a/help/Writerside/topics/元数据更新.md b/help/Writerside/topics/元数据更新.md
new file mode 100644
index 0000000..a53498d
--- /dev/null
+++ b/help/Writerside/topics/元数据更新.md
@@ -0,0 +1,25 @@
+# 元数据更新
+
+更新UF20和UFT3系统的元数据配置。
+
+## 项目配置
+需要先配置UFT30项目路径和UF20项目路径。
+
+在设置-首选项页面,配置UFT30项目路径,例如:
+``在设置-首选项页面,配置UFT30项目路径,例如:``
+
+
+在设置-首选项页面,配置UF20项目路径,例如:
+``E:\05.code\04.SVN\secu\dep1\hstrade20\trunk\Sources\DevCodes\经纪业务运营平台V21``
+
+
+## UFT3元数据
+在 元数据更新 页面,选择更新范围(标准字段、接口数据等)并点击更新UFT3按钮完成元数据更新。
+
+**备注:接口数据更新比较久**
+
+## 更新UF20元数据
+在 元数据更新 页面,选择更新范围(标准字段、标准组件等)并点击更新UF2按钮完成公共资源更新
+
+**备注:接口数据更新比较久**
+
diff --git a/help/Writerside/topics/功能查询.md b/help/Writerside/topics/功能查询.md
new file mode 100644
index 0000000..72756ba
--- /dev/null
+++ b/help/Writerside/topics/功能查询.md
@@ -0,0 +1,6 @@
+# 功能查询
+
+## 快速跳转
+[UFT3功能查询](http://10.20.163.105:6045/uft3changecode/UFT3功能查询.html)
+
+[UF20功能查询](http://10.20.163.105:6045/uft3changecode/UF20功能查询.html)
\ No newline at end of file
diff --git a/help/Writerside/topics/功能转码.md b/help/Writerside/topics/功能转码.md
new file mode 100644
index 0000000..4bb1c25
--- /dev/null
+++ b/help/Writerside/topics/功能转码.md
@@ -0,0 +1,32 @@
+# 功能转码
+提供UFT3业务转码功能,将uf20代码转成UFT3代码
+
+## 项目配置
+在使用UFT3功能转码前,需要先配置UFT30项目路径,并更新UFT3、UF20元数据
+
+1.配置项目路径
+- UFT3项目环境路径
+
+ 在设置-首选项页面,配置UFT30项目路径,转码使用,例如:
+ ``E:\05.code\03.GIT\feature_ses``
+
+
+- UF20项目环境路径
+
+ 在设置-首选项页面,UF20项目环境路径, 转码需要读取相关的文件, 例如:
+ ``E:\05.code\04.SVN\secu\dep1\hstrade20\trunk\Sources\DevCodes\经纪业务运营平台V21``
+
+
+- UF20账户环境路径
+
+ 在设置-首选项页面,配置UF20账户环境路径, 转码需要读取账户相关的文件,例如:
+ ``E:\05.code\04.SVN\secu\dep1\hstrade20\trunk\Sources\DevCodes_Acct1\客户账户管理系统V22``
+
+- 转码生成路径
+
+ 在设置-首选项页面,配置转码生成路径, 用于存放生成的转码文件, 例如:
+ ``F:\07.tools\01.hstools\Uft30ChangeCode\bin\uf2touft3\change_code``
+
+
+## 快速跳转
+[业务转码](http://10.20.163.105:6045/uft3changecode/业务转码.html)
diff --git a/help/Writerside/topics/更新记录.md b/help/Writerside/topics/更新记录.md
new file mode 100644
index 0000000..8e64e3d
--- /dev/null
+++ b/help/Writerside/topics/更新记录.md
@@ -0,0 +1,3 @@
+# 更新记录
+
+Start typing here...
\ No newline at end of file
diff --git a/help/Writerside/topics/设置.md b/help/Writerside/topics/设置.md
new file mode 100644
index 0000000..2673f2a
--- /dev/null
+++ b/help/Writerside/topics/设置.md
@@ -0,0 +1,27 @@
+# 设置
+
+
+
+## UFT3项目环境路径
+
+ 在设置-首选项页面,配置UFT30项目路径,转码使用,例如:
+ ``E:\05.code\03.GIT\feature_ses``
+
+## UF20项目环境路径 {id="uf20_1"}
+
+ 在设置-首选项页面,UF20项目环境路径, 转码需要读取相关的文件, 例如:
+ ``E:\05.code\04.SVN\secu\dep1\hstrade20\trunk\Sources\DevCodes\经纪业务运营平台V21``
+
+## UF20账户环境路径
+
+ 在设置-首选项页面,配置UF20账户环境路径, 转码需要读取账户相关的文件,例如:
+ ``E:\05.code\04.SVN\secu\dep1\hstrade20\trunk\Sources\DevCodes_Acct1\客户账户管理系统V22``
+
+## 转码生成路径
+
+ 在设置-首选项页面,配置转码生成路径, 用于存放生成的转码文件, 例如:
+ ``F:\07.tools\01.hstools\Uft30ChangeCode\bin\uf2touft3\change_code``
+
+## 主题切换
+包含日间模式和夜间模式。
+
\ No newline at end of file
diff --git a/help/Writerside/v.list b/help/Writerside/v.list
new file mode 100644
index 0000000..2d12cb3
--- /dev/null
+++ b/help/Writerside/v.list
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/help/Writerside/writerside.cfg b/help/Writerside/writerside.cfg
new file mode 100644
index 0000000..5746542
--- /dev/null
+++ b/help/Writerside/writerside.cfg
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/help/nginx/help.conf b/help/nginx/help.conf
new file mode 100644
index 0000000..c67f974
--- /dev/null
+++ b/help/nginx/help.conf
@@ -0,0 +1,10 @@
+server {
+ listen 6045;
+ server_name _;
+
+ location /uft3changecode/ {
+ alias /home/taoc/uft30help/uft3changecode/;
+ index index.html;
+ try_files $uri $uri/ /uft3changecode/index.html;
+ }
+}
\ No newline at end of file
diff --git a/help/nginx/nginx.conf b/help/nginx/nginx.conf
new file mode 100644
index 0000000..fc20095
--- /dev/null
+++ b/help/nginx/nginx.conf
@@ -0,0 +1,35 @@
+worker_processes 1;
+pid /home/taoc/nginx/logs/nginx.pid;
+
+events {
+ worker_connections 1024;
+}
+
+http {
+ include /home/taoc/nginx/conf/mime.types;
+ default_type application/octet-stream;
+
+ access_log /home/taoc/nginx/logs/help_access.log;
+ error_log /home/taoc/nginx/logs/help_error.log;
+
+ sendfile on;
+ keepalive_timeout 65;
+
+ server {
+ listen 6045;
+ server_name _;
+
+ root /home/taoc/uft30help/html/;
+ index index.html index.htm;
+
+ location /uft3changecode/ {
+ index index.html index.htm;
+ try_files $uri $uri/ /uft3changecode/index.html;
+ }
+
+ error_page 500 502 503 504 /50x.html;
+ location = /50x.html {
+ root html;
+ }
+ }
+}
diff --git a/help/nginx/restart_clean.sh b/help/nginx/restart_clean.sh
new file mode 100644
index 0000000..848f0aa
--- /dev/null
+++ b/help/nginx/restart_clean.sh
@@ -0,0 +1,89 @@
+#!/bin/bash
+
+echo "=== Force Restart Help Documentation Server ==="
+echo ""
+
+echo "1. Killing all nginx processes..."
+pkill -f nginx 2>/dev/null || true
+sleep 2
+
+echo "2. Checking for remaining nginx processes..."
+if pgrep nginx > /dev/null; then
+ echo " Force killing remaining nginx processes..."
+ pkill -9 nginx 2>/dev/null || true
+ sleep 1
+fi
+
+echo "3. Checking port 6045..."
+lsof -i :6045 2>/dev/null || echo " Port 6045 is free"
+
+echo ""
+echo "4. Starting fresh nginx instance..."
+
+NGINX_BIN="/home/taoc/nginx/sbin/nginx"
+HELP_DOCS_DIR="/home/taoc/uft30help/"
+CONF_FILE="$HELP_DOCS_DIR/workspace/nginx.conf"
+
+if [ ! -f "$CONF_FILE" ]; then
+ echo " Copying nginx configuration..."
+ cp "$(dirname "$0")/nginx.conf" "$CONF_FILE"
+fi
+
+if [ ! -f "$HELP_DOCS_DIR/workspace/help.conf" ]; then
+ echo " Copying server configuration..."
+ cp "$(dirname "$0")/help.conf" "$HELP_DOCS_DIR/workspace/help.conf"
+fi
+
+if [ ! -f "$HELP_DOCS_DIR/uft3changecode/index.html" ]; then
+ echo " Creating default index.html..."
+ cat > "$HELP_DOCS_DIR/uft3changecode/index.html" << 'EOF'
+
+
+
+ UFT30ChangeCode Help
+
+
+
+
+
📖
+
UFT30ChangeCode Help
+
Help Documentation Server
+
Path: /uft3changecode/
+
+
+
+EOF
+fi
+
+echo "5. Testing configuration..."
+"$NGINX_BIN" -t -c "$CONF_FILE"
+
+echo "6. Starting nginx..."
+"$NGINX_BIN" -c "$CONF_FILE"
+
+sleep 2
+echo ""
+echo "=== Server Status ==="
+if pgrep nginx > /dev/null; then
+ SERVER_IP=$(ip addr show | grep inet | grep -v '127.0.0.1' | grep -v '::1' | head -1 | awk '{print $2}' | cut -d'/' -f1)
+ echo "✅ Server started successfully!"
+ echo ""
+ echo "Access URLs:"
+ echo " Local: http://localhost:6045/uft3changecode/"
+ if [ -n "$SERVER_IP" ]; then
+ echo " Remote: http://$SERVER_IP:6045/uft3changecode/"
+ fi
+ echo ""
+ echo "Verify with:"
+ echo " curl http://localhost:6045/uft3changecode/"
+else
+ echo "❌ Failed to start server"
+ echo "Check error log: /home/taoc/uft30help/workspace/logs/help_error.log"
+fi
\ No newline at end of file
diff --git a/help/nginx/start.sh b/help/nginx/start.sh
new file mode 100644
index 0000000..7f7b199
--- /dev/null
+++ b/help/nginx/start.sh
@@ -0,0 +1,56 @@
+#!/bin/bash
+
+NGINX_BIN="/home/taoc/nginx/sbin/nginx"
+CONF_DIR="/home/taoc/uft30help/workspace"
+HTML_DIR="/home/taoc/uft30help/html/uft3changecode"
+CONF_FILE="$CONF_DIR/nginx.conf"
+
+echo "=== Starting Help Documentation Server (Port 6045) ==="
+echo ""
+
+echo "1. Checking directories..."
+if [ ! -d "$CONF_DIR" ]; then
+ mkdir -p "$CONF_DIR"
+ echo " Created config dir: $CONF_DIR"
+else
+ echo " Config dir exists: $CONF_DIR"
+fi
+
+if [ ! -d "$HTML_DIR" ]; then
+ mkdir -p "$HTML_DIR"
+ echo " Created HTML dir: $HTML_DIR"
+else
+ echo " HTML dir exists: $HTML_DIR"
+fi
+
+echo ""
+echo "2. Killing all nginx processes..."
+pkill -f nginx 2>/dev/null || true
+sleep 2
+pkill -9 nginx 2>/dev/null || true
+sleep 1
+echo " Done"
+
+echo ""
+echo "3. Starting nginx..."
+"$NGINX_BIN" -c "$CONF_FILE"
+
+sleep 2
+echo ""
+echo "4. Testing..."
+echo ""
+echo "=== Server Status ==="
+if pgrep nginx > /dev/null; then
+ SERVER_IP=$(ip addr show | grep inet | grep -v '127.0.0.1' | grep -v '::1' | head -1 | awk '{print $2}' | cut -d'/' -f1)
+ echo "✅ Server running!"
+ echo ""
+ echo "=== Access URLs ==="
+ echo " Local: http://localhost:6045/uft3changecode/"
+ if [ -n "$SERVER_IP" ]; then
+ echo " Remote: http://$SERVER_IP:6045/uft3changecode/"
+ fi
+else
+ echo "❌ Server not running"
+ echo "Error log:"
+ tail -20 /home/taoc/uft30help/workspace/logs/help_error.log
+fi
\ No newline at end of file
diff --git a/help/nginx/status.sh b/help/nginx/status.sh
new file mode 100644
index 0000000..5a57bc4
--- /dev/null
+++ b/help/nginx/status.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+echo "Checking Help Documentation Server status..."
+
+if pgrep nginx &> /dev/null; then
+ echo "✅ Help Documentation Server is running"
+ echo "📄 Access URL: http://localhost:8080"
+else
+ echo "❌ Help Documentation Server is not running"
+fi
\ No newline at end of file
diff --git a/help/nginx/stop.sh b/help/nginx/stop.sh
new file mode 100644
index 0000000..5068e6a
--- /dev/null
+++ b/help/nginx/stop.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+NGINX_DIR="/home/taoc/nginx"
+NGINX_BIN="$NGINX_DIR/sbin/nginx"
+
+echo "Stopping Help Documentation Server..."
+
+if [ ! -f "$NGINX_BIN" ]; then
+ echo "Error: nginx binary not found at $NGINX_BIN"
+ exit 1
+fi
+
+"$NGINX_BIN" -s stop
+if [ $? -eq 0 ]; then
+ echo "✅ Help Documentation Server stopped successfully"
+else
+ echo "❌ Failed to stop nginx"
+ exit 1
+fi
\ No newline at end of file