概况
本在线文档仓库为海塞姆人工智能团队的开源文档仓库。
产品手册
| 视频引伸计 | 视觉应变仪 | 视觉跟踪仪 |
|---|---|---|
| 视频引伸计操作手册 • 标准版 • 教育版 • 主线版本 • 客户独立版本 • 2D 视频引伸计固定方式 • 试验机通讯操作 | 视觉应变仪操作手册 • 单目 2D 应变仪 • 单目 3D 应变仪 • 双目 3D 应变仪 • 客户独立版本 • BLUE BOX 新 UI 界面 | 待完善 |
| 视觉显微应变测量系统 | 激光测振仪 | DVC 软件 |
|---|---|---|
| 待完善 | 待完善 | DVC 软件使用说明 |
视频引伸计操作手册
目录
标准版
教育版
主线版本
客户独立版本
最后更新:2026 年 3 月

目录
[1. 注意事项 2]
[1.1. 使用安全 2]
[1.2. 使用警告 2]
[1.3. 法律声明 3]
[2. 系统介绍 4]
[2.1. 测量原理 4]
[2.2. 应用场景 5]
[2.3. 硬件配置 5]
[2.4. 测量流程 8]
[3. 软件安装 8]
[3.1. 相机驱动安装 9]
[3.2. 视频引伸计软件安装 9]
[4. 硬件安装 10]
[5. 软件使用 12]
[5.1. 视频引伸计软件基本功能 12]
[5.2. 视频引伸计软件详细功能 14]
[6. 设备保养维护以及注意事项 29]
[6.1. 日常维护 29]
[6.2. 周期性维护 29]
[6.3. 定期校准 30]
[6.4. 长期存放与特殊情况处理 30]
1. 注意事项
1.1. 使用安全
-
本系统在部分需使用电源配件时,应使用符合标准三相 220V 电压,且应有接地装置。使用不正确的工作电压可能导致故障或火灾的危险,请严格遵守使用规范。
-
使用设备前需检查设备是否完整,电缆是否破损或损坏,以防造成设备损坏或人员伤亡。
-
请勿在高温、高压、高湿等环境下使用该设备。如确需使用,需做好整机防护。
-
请勿在多尘、结霜、腐蚀等环境下使用该设备。
-
在使用过程中必须遵守相关的使用流程及事故防治条例。
1.2. 使用警告
-
在使用过程中注意保持镜面清洁,请勿用手或尖锐物体触碰镜面,避免污染镜面影响成像质量。
-
在使用设备过程中注意设备需远离振动源,减少环境对测量结果的影响。
-
在使用设备时,请勿触碰或撞击设备及设备支架。
-
在安装完设备后,需保证设备固定,防止摔落造成设备损坏或内部结构变化。
-
请勿直视本设备补光灯,以免眼睛不适或视力受损。
-
请勿在易滑动、倾斜、振动等地面使用该设备,避免晃动、摔落等风险。
-
请勿自行拆装本系统主机及配件。如需更换零配件,请与本公司联系。
-
如发现设备问题,请及时与本公司联系,请勿随意处理。
1.3. 法律声明
-
本说明书的文字、图片、操作指引、参数说明等所有内容,均为海塞姆的合法知识产权,受法律保护。您仅可将说明书用于指导本公司产品的使用,不得擅自抄袭、复制、传播、篡改说明书内容,或用于商业推广及其他产品配套非授权用途。
-
本说明书的内容是基于产品当前版本、技术参数及行业规范编写,力求准确完整,但不保证内容完全无遗漏或绝对精准。若您发现内容与实际设备存在差异,或有疑问,可联系本公司电话核实。
-
本公司保留根据产品技术升级、合规要求及功能优化等情况,对说明书内容(包括参数、操作步骤等)进行修改、补充或更新的权利。更新后的说明书以实际随箱设备附带的版本或官方发布的最新版本为准,无需另行通知。
-
本说明书仅作为设备使用指引,其中的参数功能说明仅为参考,不构成对产品使用效果的绝对承诺。您在使用设备时,仍需结合自身测试场景、行业规范及实际需求操作,海塞姆不对因未按规范使用或场景不匹配导致的问题承担额外责任。
-
任何单位或个人未经本公司许可,擅自使用、修改、传播本说明书内容,或侵犯相关知识产权的,本公司将依法追究其法律责任。
-
本声明的最终解释权归深圳市海塞姆科技有限公司所有,若您对声明内容有疑问,可通过本公司电话咨询。
2. 系统介绍
2D 视频引伸计主要由以下部件组成:
-
设备主机
-
操作软件
-
电子密钥
-
光源及光源控制器
-
固定支架与云台
-
标定板
-
USB 3.0 数据线
-
标记点(或高温材料)
2.1. 测量原理
2D 视频引伸计是一种光学非接触式变形测量设备,它通过一台相机捕捉试样表面的时序图像,利用数字图像相关技术 (Digital Image Correlation,DIC) 分析变形前后图像中特征点的位移变化,从而得到试样的位移变化值。视频引伸计测量系统主要构成见图 1,其中工业相机在光源和计算机的配合下完成对试样图像的采集,试样上布置的四个标准特征点作为视频引伸计需要匹配跟踪的特征。

图 1 测量原理示意图
2.2. 应用场景
-
金属材料测试:拉伸、压缩、弯曲试验,测量弹性模量、泊松比、屈服强度
-
高分子材料:橡胶塑料大变形测试(变形可达 350% 以上)
-
复合材料:碳纤维、玻璃纤维等各向异性材料性能评估
-
微电子与薄膜:芯片、薄膜材料的微小变形测量
-
生物医学材料:组织工程支架、生物医用弹性体的力学性能测试
2.3. 硬件配置
- 设备主机:设备主机外观如图 2 图 3 所示,前端(图 2)为高透亚克力面板,两侧为设备的照明光源,(图 3)后端分别为电源指示灯和数据传输接口。

图 2 设备主机前端图片

图 3.设备主机后端图片
- 光源:通常情况下,设备主机自带集成光源,在常规场景和高低温箱中可选配条形灯(图 3.右),在微小试样、高温炉等场景可选配射灯(图 3.左)。

图 3 选配光源
- 固定支架:
- 依据实际的夹具转向(90°/45°),在试验机平台上安装(90°/45°)旋转支架(图 4)。

图 4.旋转支架
- 便携式三脚架(图 5),可自由调节系统水平和设备空间距离。

图 5.便携式三脚架
- 标记点
- 在常温试验时,粘贴标准圆形标记点,可以实现软件自动识别。

- 在高温试验时,使用酒精与高温材料混合制作高温标记点,或使用高温油漆笔制作标记点,在常温试验时如不方便粘贴标准圆形标记点,也可使用普通油漆笔制作标记点。

2.4. 测量流程
- 布置测量系统环境
-
安装视频引伸计、相机驱动、数据采集卡软件。
-
安装固定装置(便携式三脚架/旋转支架/移动支架)、视频引伸计及光源。
- 测量前准备
调节视频引伸计设备的物距角度,使其系统位于合理位置上并进行标定作业。对待测试件表面进行特征点布置(标准标记点/手绘标记点)。
- 开始测量
实时采集图像并计算特征的点变形和应变,并同时将数据输入到试验机系统中。
- 结果输出
试验结束后,变形和应变数据会在试验机界面中进行显示,测量结果会同试验机的载荷、横梁位移、应力等绘制成折线图,同时也可对结果参数进行设置得到杨氏模量、泊松比、Rp0.2、抗拉强度、N 值、R 值、断后伸长率等。
3. 软件安装
安装软件的电脑基本配置要求:
-
i7 或以上处理器。
-
16GB 以上内存。
-
1TB 以上固态硬盘。
-
USB3.0 接口。
-
64 位 WIN10 以上操作系统。
3.1. 相机驱动安装
将随箱 U 盘插入待安装电脑主机上,打开 U 盘 - “相机驱动软件”文件夹,安装相机驱动软件。


安装完成后桌面上将生成 2 个快捷方式图标
,一般只会用到 Galaxy
Viewer 软件
。
3.2. 视频引伸计软件安装
将随箱 U 盘插入到待安装的电脑主机端口上,拷贝 U 盘根目录下的“视频引伸计软件”文件夹至电脑主机的 D 盘中 - 双击“Visual Extensometer”文件夹 - 点击“setup”应用程序进行安装。


安装完成后,桌面上会自动生成快捷方式图标
。
4. 硬件安装
-
固定三脚架或安装旋转支架。
-
通过设备底部的 1/4 螺纹孔,将设备安装至三脚架或旋转支架上。

-
开启光源系统:将电源线连接至光源控制器上,再通过黑色数据线将光源控制器与光源连接。

-
设备连接:通过数据线将 2D 引伸计与电脑主机连接。
-
打开光源控制器开关,蓝色光源点亮,调整亮度。
-
将做好标记的试样放置于合适的夹持处,打开“Visual Extensometer”软件
,调整至合适的曝光参数(5000-20000μs)。 -
根据“Visual Extensometer”软件上的实时界面,依次调整设备的高度、水平、物距,使待测试样位于画面中心处(如下图所示),即可完成调整。
-
设置好试验参数,准备开始测量。
例:预设距离参数 210mm。
通过卷尺或直尺测量并调整“设备前端边缘到试样表面”的距离为 210mm。打开“Visual Extensometer”软件,调整设备使其试样位于画面中心处。


5. 软件使用
5.1. 视频引伸计软件基本功能
-
将试样做好标记置于试验位置,标记通过粘贴标准圆形标记点或者手绘明显标记点方式完成,先在待测试样表面布置标记点/特征点,布置完成后将试样。
-
将设备按照标准物距架设,确保设备平行于试样表面,通过 USB 数据线将设备连接到电脑 USB3.0 接口上。
-
将加密狗插入到电脑主机 USB 接口中。
-
双击 VisualExtensometer2D 软件桌面快捷方式图标
打开软件。打开软件界面如下:
- 确认标距
- 使用粘贴标准圆形标记点时,软件在启动或打开相机时可自动识别标记点,并以 p1 与 p2 间的绝对距离作为待测试样的原始标距,如图所示:
- 使用手绘标记点时,需将 p1,p2 的十字准星手动拖动到标记点处,并确保十字准星方框包裹住标记点,以 p1 与 p2 间的绝对距离作为待测试样的原始标距,如图:
- 点击计算,即可计算原始标距距离、延伸量、延伸率数据。

- 计算结束后点击取消,以取消计算。
5.2. 视频引伸计软件详细功能
文件:点击菜单栏“文件”按钮,可进行文件操作

- 保存图片:点击保存图片选项,可在计算时进行保存图片操作。
未开启保存图片状态:
已开启保存图片状态:
图片默认保存在软件安装目录下。
-
设置保存图片路径:点击后可进行保存图片路径的修改。
-
设置数据保存路径:此软件会保留一份计算数据,默认在软件安装目录下的 DataBase 文件夹内,点击此选项可进行数据保存路径的修改。
-
输入:可选择输入“力值”、“图片序列”、“表格数据”
-
力值:在实时计算或者离线计算完毕后可将试验机的力值数据导入到软件内以生成应力应变曲线和材料参数,此处需注意力值数据需按照软件规定格式导入,格式见 5。
-
图片序列:可将保存的实验过程图片导入到软件里进行离线计算。
-
表格数据:如有已生成的应力应变数据表格,可导入到软件内生成应力应变曲线。
- 力值导入格式:由于输入力值数据时需按照软件规定格式,此选项可生成板材或者棒材的格式模板,将力值数据和试样参数按照模板格式填写后即可。


- 测试标定:在软件内进行标定操作后,可通过测试标定功能来验证标定精度。在标定位置采集一张标定板正视图图片,点击“标定板图片目录”后
按钮,选择这种标定板正视图图片,点击“计算”,可得出“X 向空心圆点间距”和“Y 向空心圆点间距”,将此数据与标定上原点间距数值×3 进行比较,可得出标定计算误差,如误差在可接受范围内,则此标定无问题。

参数配置:点击菜单栏“配置”按钮,可进行软硬件参数的配置

- 相机参数设置:此配置可设置相机硬件参数。
-
选择相机:如连接单台设备则不用进行选择,如连接多台设备,可单独对每台设备进行硬件参数设置。
-
相机参数选择:暂不使用
-
自动曝光设置:一般情况下,需选择关闭自动曝光,使用手动调节曝光间隔来控制画面亮度。
-
曝光间隔:即调整相机的曝光时间,单位为微秒,一般建议不超过 20000 微秒。
-
图片间隔:计算每张图片之间的间隔时间,单位为毫秒,在输入图片序列进行离线计算时可用,如试样变形量较大,此处可设置为 1000 毫秒以上,以防止数据丢失,如试样变形量小可设置为 20-30 毫秒。
-
期望灰度值:在使用自动曝光时,需设置画面的期望灰度值,自动曝光会将画面的平均灰度值调整到设置值。
-
触发模式:一般情况下使用 OFF,在相机需要外触发时可设置为 ON。
-
相机画面旋转:2D 视频引伸计设置初次使用时,显示画面是垂直于真实方向的,进行画面旋转可将显示画面方向和真实方向调整为一致。

- 计算参数:此配置可设置计算过程中的计算参数
滑窗长度:每次滤波计算时使用的数据量。
滑窗次数:滤波次数
子区大小:即画面中十字准星外围方框大小,单位为像素个数,需设置为奇数,在使用标准圆形标记点时,软件会自动识别标记点并自动设置到合适的子区大小,在使用手绘标记点时,一般以方框正好包裹住标记点为佳。

-
通讯参数配置:此配置主要用于与试验机软件或硬件进行数据通讯,支持将试验机力值信号通过采集卡传输至本软件,同时可将软件计算的原始标距、延伸量等数据回传至试验机软件。
主要通讯方式包括 UDP 数字信号通讯、模拟信号通讯和串口通讯。

根据查“附件一”表后得出适用于哪种通讯方式,再根据不同的通讯方式进行不同的设置:
如使用“UDP 数字信号”通讯,需将“通讯”—“通讯格式”设置中的 UDP 格式改成与表中试验机厂家对应的通讯格式。
- 采集/保存帧率配置:此配置可设置不同的采集模式

-
模式选择:默认为实时调整,可根据不同的需要选择不同的模式。
-
实时调整:即整个采集计算过程按照设置的频率运行。
-
阶段调整:可分 3 个阶段进行分段设置采集频率。
-
间隔调整:可设置为间隔 N 秒采集一张照片。

- 应力 - 应变参数配置:此配置适用于实时输入试验机力值时的参数设置。
-
材料选择:可选择板材或棒材,以选择输入试样宽度、厚度或者试样半径来计算试样横截面积。
-
比例系数。由于试验机力值通过采集器输出到软件是电压数值,电压数值转换为力值需设置比例系数。
-
试样宽度:在材料选择为板材时,可输入试样宽度。
-
试样厚度:在材料选择为板材时,可输入试样厚度。
-
试样半径:在材料选择为棒材时,可输入试样半径。
-
指定相机:在连接多台设备时,可指定由某一台设备来处理应力应变数据。
-
应力生成:可选择力值转换。电压转换。
力值转换:试验机传输数据直接为力值数据。电压转换:试验机传输数据为电压信号。

- 算法参数配置:此配置适用于修改自动识别的标记点类型,以及大变形场景的参数设置
-
自动识别:在打开软件或者启动相机时可进行标记点的自动识别
-
标记点:标准圆形标记点。
-
黑橡胶:黑色橡胶上点的白色实心圆点。
-
白橡胶:白色橡胶上点的黑色实心圆点。

-
大变形:此参数适用于在橡胶拉伸等大变形量的场景,设置合适参数使手绘标记点的跟踪更精准。
-
增量值:是否开启增量计算的阈值。当计算点的匹配相关系数小于给定阈值时 (0~1),开启增量计算。
-
Zncc 阈值: 是否停止粗匹配阈值。当计算点的匹配相关系数大于给定阈值时 (0~1),停止全图搜索过程,进行小范围内的高精度匹配。
-
CZncc 阈值:是否进行粗匹配阈值。当计算点的匹配相关系数小于给定阈值时 (0~1),对该点进行整图位置搜索。

- 测量结果:可选择是否在开始计算时输入实验名称

计算模式
点击菜单栏“计算模式”可选择不同的计算模式

-
真实值:软件默认采用绝对值进行数据展示,如需“拉正压负”数据需勾选真实值选项。
-
平均值:在有多组同向标距时,勾选平均值,可计算多组数据的平均延伸量及延伸率。
-
应力 - 应变:勾选此功能时,软件开启应力 - 应变计算模式,如接入试验机力值实时传输,则可在软件内实时查看应力应变曲线,也可在试验结束后导入试验机力值表格,来生成应力应变曲线
软件标定
软件在第一次连接设备时,需创建标定矩阵。
按照随箱 U 盘 - “标定文件”文件夹 - 标定参数,输入标定板尺寸、圆点间距、空心圆位置点参数,随后点击“尺寸标定目录”后
按钮,选择随箱 U 盘 - “标定文件”文件夹 - 标定文件 - “1”文件夹,再点击“内参标定目录”后
选择随箱 U 盘 - “标定文件”文件夹 - 标定文件 - “13”文件夹,选择完毕后,软件会自动开始进行标定,当显示“标定矩阵创建成功”弹窗时,点击确认以完成软件标定。

*如使用后期认为数据不准确,可自行重新标定,使用相机驱动软件采集标定图片,使用视频引伸计软件重复此标定操作即可重新标定。
- 采集标定图片步骤:
- 准备工作:将设备至于水平桌面或支架上,在设备物距处摆放标定板,调整合适亮度。
打开相机驱动软件“Galaxy Viewer”,等待软件读到相机,双击左侧红色方框内相机名称以连接相机,连接相机后,点击画面左上方红色方框内开始采集按键以显示实时画面,由于相机侧置于设备内,故显示为旋转 90°后画面,需鼠标右键单击显示画面内任意位置,选择向左旋转或向右旋转,使显示画面方向与实际方向一致。

- 设置存图路径,点击左上方工具栏“设置按钮” - 选择“存图设置” - 更改存图位置。
注意:由于标定需要两组图片,所以建议设置两个存图文件夹,一个用来存放“尺寸标定图”,一个用来存放“内参标定图”。


- 拍摄尺寸标定图,将存图路径设置为“尺寸标定图”文件夹,将标定板按照“正视图”姿势摆放,点击画面左上方“保存当前图片按钮”以拍摄尺寸标定图,拍摄一张即可。


- 拍摄内参标定图,将存图路径设置为“内参标定图”文件夹,将标定板按照下图姿势摆放,每个姿势都需点击画面左上方“保存当前图片按钮”以拍摄当前姿势标定图,共需拍摄 13 张。

输出报告
如需使用此软件出具报告,可点击菜单栏“报告”按钮,填写相关信息,以出具报告。


添加多组标距
在软件的图像显示区域任意位置单击鼠标右键,将出现“是否添加横向或纵向标记点”弹窗,根据实际需要进行添加。

固定标距
在使用无特征识别模式或试样表面已制作散斑时,可使用固定标距功能,在原始标距上面使用鼠标左键单击十字准星或方框可激活固定标距功能。

相机开关
在一次试验做完更换试样后,如需重新识别标准圆形标记点,可点击下图红色方框处按钮关闭相机后重新打开相机,即可重新识别。

快捷图表及相关操作
-
在开始计算后,软件会自动弹出快捷图表区域并绘制曲线。
-
图表上方可切换不同数据曲线,如延伸量、延伸率、应力应变曲线(需输入试验机力值)等。
-
图表右侧为图表操作区从上至下分别为:
-
展开窗口:可将快捷图标区域以浮动窗口的形式展示于软件画面上。
-
保存:可手动保存快捷图表上所有数据,保存格式为.csv。
-
刷新:在曲线被拖动或缩放后可点击此按钮以复原。
-
放大:将鼠标指针悬停在需要放大的区域可进行曲线放大。
-
缩小:将鼠标指针悬停在需要缩小的区域可进行曲线缩小。
- 另在图表中空白区域按住鼠标左键可拖动曲线,使用鼠标左键或右键单击曲线上的数据点可将此图片设置为初始图片。

6. 设备保养维护以及注意事项
6.1. 日常维护
- 使用前检查
-
外观检查:确认设备无碰撞变形,盖板无损伤,连接线无破损。
-
系统连接:检查摄设备主机与计算机连接是否牢固,电源适配器是否正常工作。
-
环境条件:确保工作环境温度在 5℃-40℃,相对湿度≤70%,无强光直射和剧烈震动。
-
设备准备:取出设备,检查前端盖板表面有无灰尘(建议使用气吹清理)。
- 使用后清洁
- 盖板清洁:
-
先用气吹轻轻吹去表面灰尘,避免直接擦拭划伤盖板。
-
如仍有指纹或污渍,用专用镜头纸蘸少量镜头清洁液(勿直接喷在前端盖板上)。
-
以圆周运动方式轻擦,避免来回擦拭,清洁后检查是否有残留。
-
设备表面:用柔软干布擦拭机身,去除灰尘和污渍,避免使用酒精等有机溶剂。
-
光源系统:关闭光源,清洁散热孔,确保通风良好。
-
使用注意事项
-
避免碰撞:移动设备时轻拿轻放,防止震动影响精度。
-
标记保护:避免试样标记污染或磨损,影响测量精度。
6.2. 周期性维护
- 每月维护
- 全面清洁:
-
彻底清洁,使用软毛刷清理缝隙中的灰尘。
-
检查所有连接线是否有磨损或接触不良。
-
清洁工作台面,确保无金属碎屑等杂物。
- 半年维护
-
校准检查:使用引伸计标定仪或标定板测试标定验证测量精度(误差应控制在±0.5% 内)。
-
光源检查:检查光源亮度是否均匀,必要时更换老化光源。
6.3. 定期校准
-
校准周期:正常使用条件下 12 个月(最长不超过 18 个月),使用频繁或环境恶劣时应缩短至 6 个月。
-
校准条件:必须在温度 20℃±2℃,湿度≤70%,无振动环境下进行,校准过程中温度波动不超过 1℃/h。
-
校准方法:
-
将设备与校准装置(如引伸计标定仪)正确安装。
-
进行多级位移校准(如 3mm.5mm.10mm 等标准位移)。
-
记录测量值与标准值的误差,确保在设备精度范围内(通常为±0.5% 或 ±1.5μm)。
-
校准完成后保存记录,以备溯源。
-
注:设备经过修理、更换重要部件后,或对测量精度有怀疑时,应立即重新校准。
6.4. 长期存放与特殊情况处理
- 长期存放(4 周以上)
-
彻底清洁并干燥设备。
-
将设备放入原厂防震箱或专用仪器柜中,内部放置干燥剂。
-
存放环境温度保持在 5℃~35℃,相对湿度≤60%,无腐蚀性气体。
-
每季度检查一次,确保干燥剂有效,设备无霉变或损坏。
- 特殊情况处理
-
镜头霉变:如发现镜头有轻微霉斑,立即联系专业维修人员处理,切勿自行擦拭
-
设备进水 / 受潮:立即断电,切勿开机,放置在干燥环境中自然风干后送修
-
精度异常:测量结果出现偏差时,先检查:
-
镜头是否清洁
-
标记是否清晰
-
环境是否符合要求
-
如均无问题,应进行校准或联系本公司技术支持
感谢您选用我公司产品!

总部地址:深圳市南山区桃源街道南山智园 C3 栋 15 层
服务热线:0755-86347753
官方网址:www.haytham.com.cn
<img src=“../../../../assets/products/video-extensometer/image2.png”
style=“width:8.77361in;height:5.09583in” />
目录
[1. 注意事项 2](\l)
[1.1. 使用安全 2](\l)
[1.2. 使用警告 2](\l)
[1.3. 法律声明 3](\l)
[2. 系统介绍 4](\l)
[测量原理 5](\l)
[3. 软件安装 5](\l)
[3.1. 相机驱动安装 6](\l)
[3.2. 版软件安装 6](\l)
[4. 视频引伸计分析模块 6](\l)
[4.1. 模块概述 6](\l)
[4.2. 硬件安装 7](\l)
[4.3. 软件使用 8](\l)
[5. 三维全场应变测量分析模块 12](\l)
[5.1 模块概述 12](\l)
[5.2 硬件安装 13](\l)
[5.3 软件使用 13](\l)
[6. 虚拟应变片测量分析模块 20](\l)
[6.1 模块概述 20](\l)
[6.2 硬件安装 20](\l)
[6.3 软件使用 22](\l)
[7. 设备保养维护以及注意事项 24](\l)
[7.1 日常维护 24](\l)
[7.2 周期性维护 24](\l)
[7.3 定期校准 24](\l)
[7.4 长期存放与应急处理 25](\l)
-
注意事项
-
本系统在部分需使用电源配件时,应使用符合标准三相 220V 电压,且应有接地装置。使用不正确的工作电压可能导致故障或火灾的危险,请严格遵守使用规范。
-
使用设备前需检查设备是否完整,电缆是否破损或损坏,以防造成设备损坏或人员伤亡。
-
请勿在高温、高压、高湿等环境下使用该设备。如确需使用,需做好整机防护。
-
请勿在多尘、结霜、腐蚀等环境下使用该设备。
-
在使用过程中必须遵守相关的使用流程及事故防治条例。
-
在使用过程中注意保持镜面清洁,请勿用手或尖锐物体触碰镜面,避免污染镜面影响成像质量。
-
在使用设备过程中注意设备需远离振动源,减少环境对测量结果的影响。
-
在使用设备时,请勿触碰或撞击设备及设备支架。
-
在安装完设备后,需保证设备固定,防止摔落造成设备损坏或内部结构变化。
-
请勿直视本设备补光灯,以免眼睛不适或视力受损。
-
请勿在易滑动、倾斜、振动等地面使用该设备,避免晃动、摔落等风险。
-
请勿自行拆装本系统主机及配件。如需更换零配件,请与本公司联系。
-
如发现设备问题,请及时与本公司联系,请勿随意处理。
-
本说明书的文字、图片、操作指引、参数说明等所有内容,均为海塞姆的合法知识产权,受法律保护。您仅可将说明书用于指导本公司产品的使用,不得擅自抄袭、复制、传播、篡改说明书内容,或用于商业推广及其他产品配套非授权用途。
-
本说明书的内容是基于产品当前版本、技术参数及行业规范编写,力求准确完整,但不保证内容完全无遗漏或绝对精准。若您发现内容与实际设备存在差异,或有疑问,可联系本公司电话核实。
-
本公司保留根据产品技术升级、合规要求及功能优化等情况,对说明书内容(包括参数、操作步骤等)进行修改、补充或更新的权利。更新后的说明书以实际随箱设备附带的版本或官方发布的最新版本为准,无需另行通知。
-
本说明书仅作为设备使用指引,其中的参数功能说明仅为参考,不构成对产品使用效果的绝对承诺。您在使用设备时,仍需结合自身测试场景、行业规范及实际需求操作,海塞姆不对因未按规范使用或场景不匹配导致的问题承担额外责任。
-
任何单位或个人未经本公司许可,擅自使用、修改、传播本说明书内容,或侵犯相关知识产权的,本公司将依法追究其法律责任。
-
本声明的最终解释权归深圳市海塞姆科技有限公司所有,若您对声明内容有疑问,可通过本公司电话咨询。
- 系统介绍
视觉应变仪教育版主要由以下部件组成:
-
设备主机
-
操作软件
-
电子密钥
-
光源及光源控制器
-
固定支架与云台
-
标定板
-
USB 3.0 数据线
-
标记点、喷漆

测量原理
视觉应变仪教育版是一种光学非接触式变形应变测量设备,它通过一台相机捕捉试样表面的时序图像,利用数字图像相关技术 (Digital Image Correlation,DIC) 分析变形前后图像中特征点的位移、应变变化,从而得到试样的位移变化值。视觉应变仪教育版测量系统主要构成见图 1,其中工业相机在光源和计算机的配合下完成对试样图像的采集,试样上布置的特征点作为视觉应变仪教育版需要匹配跟踪的特征。

图 1 测量原理示意图
- 软件安装
安装软件的电脑基本配置要求:
-
i7 或以上处理器。
-
16GB 以上内存。
-
1TB 以上固态硬盘。
-
USB3.0 接口。
-
64 位 WIN10 以上操作系统。
将随箱 U 盘插入待安装电脑主机上,打开 U 盘 - “相机驱动软件”文件夹,安装相机驱动软件。


安装完成后桌面上将生成 2 个快捷方式图标
,一般只会用到 Galaxy
Viewer 软件
。
版软件安装
将随箱 U 盘插入到待安装的电脑主机端口上,拷贝 U 盘根目录下的“视觉应变仪教育版软件”文件夹至电脑主机的 D 盘中双击“Visual Extensometer”文件夹 - 点击“setup”应用程序进行变形测量软件安装,双击“VisualStrainGauge”应用程序进行全场应变软件安装。



安装完成后,桌面上会分别生成快捷方式图标
和
。
-
视频引伸计分析模块
用于材料拉伸、压缩与弯曲等基础材料力学实验教学,可与视觉应变仪同步使用,实现材料加载过程与变形测量的联合教学
硬件安装
1)确保电脑具备 USB 3.0 接口,将视频引伸计的 USB 数据线连接到该接口,以保证数据传输的高速和稳定
2)将视频引伸计光源电源适配器连接到光源的电源接口,再将适配器插头插入电源插座
3)安装过程中,要注意避免强力拉扯数据线和电源线,防止接口松动或损坏
4)对于视频引伸计的安装位置,应选择在实验台的平稳区域,确保其在使用过程中不会晃动或位移。同时,要调整引伸计的角度,使其能够清晰捕捉实验材料的变形情况
5)可以通过微调引伸计的固定架,使其对准实验材料的关键部位,并保持合适的距离和角度
6)在完成硬件的初步安装后,重新检查一遍所有连接部位是否牢固,确保没有松动或接触不良的情况

-
标记点布置,将特定的标记点贴在标距范围内,软件可自动识别

-
将试样做好标记置于试验位置,标记通过粘贴标准圆形标记点或者手绘明显标记点方式完成,先在待测试样表面布置标记点/特征点,布置完成后将试样
-
将设备按照标准物距架设,确保设备平行于试样表面,通过 USB 数据线将设备连接到电脑 USB3.0 接口上
-
将加密狗插入到电脑主机 USB 接口中
-
双击 VisualExtensometer 软件桌面快捷方式图标
打开软件。打开软件界面如下:
-
软件标定,初次安装软件时需导入标定文件,点击软件菜单栏“标定”按钮,弹出创建标定界面,填写好标定参数,导入对应的标定文件,点击确定

弹出“标定矩阵创建成功”,即完成标定,后续使用时无需再次标定

-
标距识别,使用特定标记点时打开软件即可自动识别标记,测试时软件自动追踪特征点进行变形测量
多组标记点时也可手动添加标记点,可以根据实际测量需求添加多组标记点
-
通讯设置,点击菜单栏“配置”按钮,弹出参数设置界面,选定通讯参数配置项选定通讯格式为“UDP_Json”即可实时把变形量传给试验机,生成应力应变曲线

-
点击计算,即可计算原始标距、延伸、延伸率数据,并实时显示变形曲线

-
测试完成,点击左上角“取消”按钮即可结束本次测试

-
结果输出,可以变形量传给试验机软件可以计算出模量,泊松比,N 值 R 值,断裂伸长率等结果参数,也可把试验机力值导入视频引伸计软件生成对应的结果参数

- 三维全场应变测量分析模块
5.1. 模块概述
用于材料拉伸、压缩与弯曲等基础材料力学实验教学,可与视觉应变仪同步使用,实现材料加载过程与变形测量的联合教学
5.2. 硬件安装
通过固定块把视觉应变依和演示工装安装在演示工装调节好物距,按 4.2 操作连接光源及线缆

5.3. 软件使用
- 标定文件导入,单目三维设备出厂前已完成标定,使用时无需拍摄标定图。初次安装软件需导入标定文件,启动应变仪软件并创建新项目,设置项目名称和路径

点击左侧菜单栏的标定按钮进入标定界面;点击左上方的导入图像按钮选择标定文件夹导入标定图像

点击计算标定按钮,输入标定板参数,点击确定待显示完成即标定完成

- 图片采集,点击左侧菜单栏进入图片采集界面,设置好采集帧率和采集时间等参数,点击开始采集试样加载完成结束采集。采集完标定图片后,点击应变仪软件右上角相机图标关闭相机

- 位移计算,点击左侧分析计算按钮进入数据分析界面;点击左上角导入图像按钮进行图像导入,导入试验过程图片

在计算前需要先进行计算区域框选和计算参数设置

- 应变计算,在计算参数设置完毕后,点击开始计算,进度条显示完成即可以查看计算结果,第一次计算完毕是指位移数据计算完毕,还需转应变,点击结果—应变—主应变,即可开始转应变

- 结果查看,在位移和应变计算完毕后,点击构造点可查看结果

点击菜单栏结果按钮可查看需要的结果类型

可查看不同类型的结果,如 X 向应变、Y 向应变、主应变、次应变等

位移数据,位移可查看 X 向位移、Y 向位移、Z 向位移数据及云图

- 导出点云数据,点击左上角“文件”,“输出”,“所有点数据”即可以 excel 形式导出计算区域所有点数据

点击曲线图表“导出数据”按钮可以导出构造点数据

- 图片视频导出,点击软件右上角导出设置可以设置导出图片或者视频模板

点击生成动画和图片可以分别导出视频和动画

- 虚拟应变片测量分析模块
6.1. 模块概述
用于结构力学中梁弯曲实验教学,结合电阻应变片与 DIC 测量方法进行对比教学。
6.2. 硬件安装
-
散斑制备,如下图可以在被测部位贴水转印或者盖上散斑印章

-
如图架设好视觉应变仪,调整好物距

6.3. 软件使用
- 打开应变仪软件,点击选定左侧菜单栏应变片功能,打开相机可以自动识别盖章应变片,散斑区域需手动设置应变

-
参数设置,可设置曝光时间和采集帧率等参数

-
参数设置好,点击左上角开始计算按钮即可实时或者导入计算虚拟应变片数据

-
计算应变片数据可以和物理应变片做对比,来验证数据的准确性

- 设备保养维护以及注意事项
7.1. 日常维护
使用前检查
外观:无变形、盖板完好、线缆无损
连接:主机与计算机连接稳固,电源正常
环境:温度 5℃~40℃,湿度≤70%,无强光、震动
准备:取出设备,气吹清理前端盖板灰尘
使用后清洁
盖板:气吹去尘→镜头纸蘸清洁液轻擦(圆周运动)→检查无残留
表面:干布擦拭,禁用酒精
光源:关闭后清洁散热孔
注意:轻拿轻放防震
7.2. 周期性维护
全面清洁:刷缝隙灰尘,检线缆磨损,清工作台碎屑
校准:误差≤0.5%
光源:检查均匀性,如需要更换老化光源
7.3. 定期校准
周期:正常 12 月(最长 18 月),频繁使用或恶劣环境 6 月
方法:
安装校准装置
多级位移校准(3mm、5mm、10mm 等)
误差在±0.5% 或±1.5μm 内
保存记录,维修或怀疑精度时立即校准
7.4. 长期存放与应急处理
长期存放(>4 周)
清洁干燥后装箱,内置干燥剂
环境:5℃~35℃,湿度≤60%,无腐蚀
每季检查防霉变
应急处理
镜头霉变:联系专业维修
进水/受潮:断电→风干→送修
精度异常:检查镜头、标记、环境→校准或联系技术支持
<img src=“../../../../assets/products/video-extensometer/image1.png”
style=“width:3.18958in;height:0.67778in” />
感 谢 您 选 用 我 公 司 产 品!

总部地址:深圳市南山区桃源街道南山智园 C3 栋 15 层
服务热线:0755-86347753
官方网址:www.haytham.com.cn
RED BOX 视频引伸计使用手册

深圳市海塞姆科技有限公司
目 录
一、设备介绍
视频引伸计主要部件:设备主机、操作软件、加密狗、光源及光源控制器、固定支架及云台、标定板、USB3.0 数据线、标记点或高温材料。
1. 、设备主机
主要包括红色外观方形盒子和防尘盖两部分,通过底部不同的固定孔位可实现水平放置或者呈 90°竖直放置。
2. 、光源
常温标准视野配置环光,高温炉环境配置射灯,高低温箱环境配置条光。
3. 、固定支架(根据实际测试环境搭配)
1)利用试验机安装孔固定的有旋转支架或 45 度支架。
2)可移动式固定支架有三角架或电动支架。



4. 、标记点
1)常温试验时,采用标准化标记点,可以实现软件自动识别。
2)高温试验时,采用酒精加高温材料或高温笔,制作高温标记点。

二、硬件安装
1.固定好旋转支架或三角架。
2.将快装板固定在引伸计底座上。
3.将引伸计安装在云台或支架上,调整好水平及高度。
4.按照引伸计预设的距离参数,调整合适的摆放距离。
例:预设距离参数 210mm。
使用卷尺或长度尺等测量“设备前端边缘到试样”的间距,调整到约为 210mm。完成引伸计窗口和待测试样中心的基本对齐。
5.将光源固定在引伸计主机或者试验夹具周围(环形光源磁吸至引伸计前端,其余光源采用专用支架固定)。
6.光源连接:将电源线连接至光源控制器上,再通过黑色数据线将光源控制器(CH 接口)与光源连接。
7.引伸计连接:用 USB3.0 数据线将引伸计和电脑主机连接(电脑必须支持 USB3.0 接口)。
8.取下引伸计防尘盖,按下光源控制器开关,蓝色光源点亮,调整亮度使视野亮度适中。
9.在待检测试样上粘贴标记点或者做好耐高温标记点,按照试验要求,选择合适的标距及位置,并将贴好标记点的试样固定在试验机夹具上。
10.打开电脑,进行软件操作,对引伸计、灯光等进行微调(调整至试样在软件界面清晰可见,标记点不反光)。
三、软件安装
初次使用时,必须在试验机电脑上先进行软件安装。
电脑基本配置要求:i7 处理器 16GB 内存 1TB 固态硬盘 USB3.0 接口/ 64 位 WIN10 操作系统以上。
相机驱动安装
找到随机 U 盘资料以下相机驱动文件,解压点击安装。
引伸计软件安装
1)找到随机 U 盘资料以下文件(版本号以实际为准),解压点击安装。
2)安装完成后,电脑屏幕上显示相机驱动软件和引伸计软件。

-
软件安装验证
1)点击电脑屏幕上摄像头图标。

2)在软件界面左侧,双击”MER-503-36U3M”打开摄像头,以相机型号为准。

3)在新窗口点击软件左上角“开始采集”图标,显示有图像即安装成功。

四、软件使用
1. 、软件打开
将加密狗 U 盘插入到电脑主机 USB 插口中,双击软件图标

打开软件界面如下:点亮相机按钮,设备连接成功。
2. 、图片保存操作
1)点击文件,选择保存:依次点击软件界面左上角“文件”→ 勾选“保存图片”,再次打开时,“保存图片”前端处于勾选状态。
2)设置保存路径:点击“设置保存图片路径”。选择主机中剩余内存空间高于 300G 的硬盘创建文件夹存储图片。
3)不需要保存图片:取消“保存图片”勾选状态。
3. 、相机参数设置
点击工具栏第二个按钮“配置”,弹出参数配置界面,根据需求对相机参数、计算参数等参数进行修改。
4. 、设备微调
1)点击“相机”按钮,试样图片出现在电脑屏幕上。
2)观察视窗,通过继续调整引伸计位置和角度,直至在视窗中看到清晰的待测试样全貌为止。
5.识别标记点(计算标距)
1)自动识别标距:再次点击“相机”按钮,软件可以自动识别相关的标记点。
2)手动调整标距:如果无法自动识别时,请选用手动调整;通过鼠标拖动“十字星”与试样上的标记点重合;根据需要可设置多组标记点,在视窗单击鼠标右键,即可添加。

6. 、数据计算
1)点击“计算”按钮。
2)软件出现浮窗显示实时数据及位移 - 时间曲线,数据会通过 UDP 协议实时传输给试验机操作软件,显示在引伸计窗口(以试验机软件显示为准);试验结束时,再次点击计算按钮,停止计算。
7. 、数据输出
1)点击“快捷图表”中工具栏最左侧“保存”图标,
2)即可输出实验数据的 EXCEL 格式文件。

8. 、图片二次计算
1)可以将已保存的图片,或者在其他单目三维引伸计上保存的图片,导入到本软件进行二次计算。
2)依次点击软件界面左上角“文件”→ “输入”→ “图形序列”,选择图片保存的路径,待图片导入完成进行计算即可。
五、安全操作及注意事项
-
未经专业培训,不得单独操作此仪器。
-
使用时尽量不要让光源直射人眼,避免可能造成操作人员眼部伤害。
-
高温环境下,尽量配戴高温手套,防止人员烫伤,制作高温散斑或者标记点时,注意不要沾到眼睛。
4. 仪器不使用时,应将其装入箱内,置于干燥处,注意防震、防尘和防潮。
5. 仪器运输应将仪器装于箱内进行,运输时应小心避免挤压、碰撞和剧烈震动,长途运输填充软件泡沫作为缓冲物。
6. 仪器安装至三脚架或者拆卸时,要先托住仪器,以防仪器跌落。
7. 不可用化学试剂擦试塑料部件及有机玻璃表面,可用浸水的软布擦试。
8. 测量前应仔细全面检查仪器,确信仪器各项指标、功能、电源符合要求时再进行作业。
- 即使发现仪器功能异常,非专业维修人员不可擅自拆开仪器,以免发生不必要的损坏。
感谢您选用我公司产品!
海塞姆科技,点亮机器的眼睛!
深圳市海塞姆科技有限公司
地址:深圳市南山区桃源街道长源社区
学苑大道 1001 号南山智园 C3 栋 15 层
电话:0755-86347753
网址:www.haytham.com.cn

微信公众号 B 站 今日头条
客户独立版本 - 视频引伸计
本目录包含针对特定客户的视频引伸计使用手册定制版本。
可用版本
三思纵横俄罗斯项目
- 三思纵横俄罗斯项目 - 2D 和 3D 视频引伸计的中英文版手册
其他客户定制版本
- 2D 视频引伸计无标版 - 标准化 2D 视频引伸计使用手册(无标版)
- 2D 视频引伸计英文版 - D 系列视频引伸计使用手册(英文版)
- GB 系列视频引伸计英文手册 - GB 系列视频引伸计手册(英文版)
- 恩普达台湾版本 - 单目 3D 视频引伸计使用手册(恩普达台湾版)
- MTS 定制版本 - 视频引伸计使用手册(MTS 版)
- 无标通用版本 - 视频引伸计使用手册(无标版)
- SUNS 定制版本 - 视频引伸计使用手册(SUNS 版)
最后更新:2026 年 3 月

- 2D 视频引伸计尺寸
-
整体尺寸长:206mm,宽:106mm,高:128mm
-
底部固定孔位:中间孔位 1/4-20 UNC 螺纹孔,4 x M6 - 6H,详细尺寸请参考(图 2)。

图 1 实物图

图 2 底部固定孔位尺寸图
- 固定支架:
- 依据实际的夹具转向(90°/45°),在试验机平台上安装(90°/45°)旋转支架(图 3),视频引伸计前后最好预留 50mm 的行程空间。

图 3.旋转支架
- 便携式三脚架(图 4),可自由调节系统水平和设备空间距离。

图 4.三脚架
- 移动支架(图 5),可自由调节系统水平和设备上下空间位置,可整体移动。

图 5.移动支架
-
电脑配置:
单组纵向标记点:
CPU:I5 12400F(雅浚 x400)
内存:金士顿 16G DDR4 3200
显卡:GTX3050 6G
硬盘:500G 固态
横纵向多组标记点:
CPU:I7 13700KF
内存:金士顿 32G DDR4 3200(16G*2)
显卡:RTX 4060TI
硬盘:1T 固态
-
详细平面,三维尺寸图
<img src=“../../../../assets/products/video-extensometer/image1.png”
style=“width:3.18958in;height:0.67778in” />
感谢您选用我公司产品!

总部地址:深圳市南山区桃源街道南山智园 C3 栋 15 层
服务热线:0755-86347753
官方网址:www.haytham.com.cn
试验机通讯操作文档
| 试验机通讯方式 | ||||
| 试验机厂家 | 型号 | 传输类型 | ||
| UDP 数字信号 | 模拟信号(±10V) | 串口 | ||
| MTS | Flex | UDP_9 位 | ||
| DCS | UDP_9 位 | |||
| C.E 系列 | UDP_9 位 | 海塞姆控制器 | 串口 | |
| 三思纵横 | 静态 | UDP_Json_三思 | ||
| 力试 | UDP_9 位 | |||
| 万测 | TestPilot_X10A | 串口 | ||
| UDP_Json | ||||
| 中机 | UDP_Json | |||
| Zwick | 海塞姆控制器 | |||
| 英斯特朗 | 海塞姆控制器 | |||
| 岛津 | 海塞姆控制器 | |||
| 特斯麦特 | UDP_9 位 | |||
| 美三思 | UDP_9 位 | |||
| 三思检测技术 | UDP_9 位 | |||
| 吉林冠腾 | UDP_Json | |||
| 宝大 | UDP_Json | |||
| 长春方锐 | UDP_Json | |||
| 试验机通讯方式 | ||||
| 试验机厂家 | 型号 | 传输类型 | ||
| UDP 数字信号 | 模拟信号(±10V) | 串口 | ||
| 上海华龙 | UDP_13 位 | |||
| 金健 | UDP_Json | |||
| 广州广材 | UDP_Json | |||
| 恒维通(纳百川) | UDP_Json | |||
| 陕西力创 | UDP_Json | |||
| 恩普达 | 海塞姆控制器 | |||
| 宇宏试验机 | 串口 | |||
| 杭州微力 | UDP_Json | |||
附件二:MTS DCS3.0 控制器/CMT 系列试验机通讯设置
电脑未安装 MTS 试验机 PowerTest_DCS 软件
前提条件(全新电脑)
-
DCS 3.0 控制器/CMT 系列试验机/配视频引伸计。
-
新电脑有 64 位 win10 系统,有 USB3.0 接口。
更新步骤:
- 安装试验机操作软件:
-
打开“DCS 软件安装包 > PowerTest V3.6.1658_D00C”
-
双击打开,安装软件
- 更新视频引伸计接口文件
-
将“OUT”文件包中“PowerTest_D00C-H.exe”文件,拷贝到试验机软件根目录下(如:X 盘: PowerTest_V3.6C),
-
将“OUT”文件包中“mswinsck.ocx”文件,拷贝到 C 盘 windows 的 syswow64 目录下。
-
开始>windows 系统>命令提示符(右击鼠标)>更多>以系统管理员身份运行,
-
在“管理员:命令提示符”弹窗,输入命令 (红色字), 出现注册成功窗口就可。
-
C:\windows\system32> cd.. (回车)
-
C:\Windows> cd syswow64(回车)
-
C:\Windows\SysWOW64>regsvr32 MSWINSCK.OCX(回车)
-
C:\Windows\SysWOW64>
-
弹出“注册成功”窗口,即可
-
回到 PowerTest_V3.6C 目录下,找到 PowerTest_D00C-H,右键“创建快捷方式”
- 获取试验机软件授权激活文件
-
双击打开 PowerTest_DOOC-H 软件后,会出现“获取授权信息失败”弹窗,
-
点“Ok”按键,出现“获取电脑授权信息或激活”,再点击“获取授权信息”。


-
电脑桌面上出现文件 ComputerInfo.DAT 文件,
-
将文件发给美特斯客服部,获取授权激活文件,
-
重复 1)-2)步,激活即可。
- 拷贝试验机硬件参数到新电脑中:
-
在原配电脑中,以管理员身份登录操作软件,选择脱机。
-
软件界面左上角“参数设备” - “硬件参数” - “导出” - “数据库形式” - “导出”
-
导出的文件,默认保存路径:HardwareParameter > 自定义文件名
-
找到 HardwareParameter 文件包,复制到 U 盘。
-
在新电脑中,将复制的文件包拷贝到试验机操作软件路径下。
-
在新电脑中,以管理员身份登录操作软件,选择脱机。
-
软件界面左上角“参数设备” - “硬件参数” - “导入”
-
选择已经拷贝好的文件,双击即可。
-
退出软件,重新启动软件,选择与当前试验机匹配的主机参数,进行联机。
电脑已安装 MTS 试验机 PowerTest_DCS 软件
-
将“OUT”文件包中“PowerTest_D00C-H.exe”文件,拷贝到试验机软件根目录下(如:X 盘: PowerTest_V3.6C),
-
将“OUT”文件包中“mswinsck.ocx”文件,拷贝到 C 盘 windows 的 syswow64 目录下,或 WIN7 系统 [System32]目录
-
开始>windows 文件>命令提示符(右击鼠标)>更多>以系统管理员身份运行
-
在“管理员:命令提示符”窗口,按照步骤输入命令 (红色字), 出现注册成功窗口就可。
-
C:\windows\system32> cd..
-
C:\Windows> cd syswow64 或 WIN7 系统 (system32)
-
C:\Windows\SysWOW64>regsvr32 MSWINSCK.OCX
-
C:\Windows\SysWOW64>(WIN7 系统中SysWOW64 需要替换system32))
旧电脑美特斯软件已经激活,无需再次激活。
附件三:MTS FLEX 控制器 CMT 系列试验机通讯设置
电脑未安装 MTS 试验机 PowerTest_FLEX 软件
- 修改软件安装电脑的 IP 地址
网口与试验机默认 IP 不同。
桌面开始–> 设置–> 网络和 Internet–> 以太网–> 更改适配器选型–>右击以太网图标–> 属性–> 双击 Internet 协议版本 4(TCP/IPV4)–>
使用下面的 IP 地址–> 输入与试验机控制器同一网段但 IP 不同的不同的 IP 地址。
例如:控制器默认 IP 地址是:192.168.10.10,
所以此时电脑上输入的 IP 地址应为 192.168.11(前 3 位相同,最后一位不同)。
- 安装试验机操作软件
-
打开“MTS(配视觉引伸计) 最新软件>MTS”文件包
-
运行“PowerTest V5.0_F00C.exe”程序,安装“PowerTest V5.0_F00C”软件。
-
试验机软件成功安装后,将“MTS–> OUT–> FLEX–>“PowerTest_F00C-H.exe ”文件,拷贝到试验机软件根目录下(如:X 盘 PowerTest_F00C),
-
“OUT”文件包中“wsock32.dll”文件,是一个备用文件,如果 windows 中没有才需要拷贝注册
-
(32 位电脑)C:Windows>System32
-
(64 位电脑)C:Windows>syswow64
- 获取试验机软件授权激活文件
-
双击打开 PowerTest_F00C-H 软件后,会出现“获取授权信息失败”弹窗,
-
点“Ok”按键,出现“获取电脑授权信息或激活”,再点击“获取授权信息”。


-
电脑桌面上出现文件 ComputerInfo.DAT 文件,
-
将文件发给美特斯客服部,获取授权激活文件,
-
重复 1)-2)步,激活即可。
- 拷贝试验机硬件参数到新电脑中:
- 在原配电脑中,以管理员身份登录操作软件,选择脱机。
-
软件界面左上角“参数设备” - “硬件参数” - “导出” - “数据库形式” - “导出”
-
导出的文件,默认保存路径:HardwareParameter > 自定义文件名
-
找到 HardwareParameter 文件包,复制到 U 盘。
- 在新电脑中,将复制的文件包拷贝到试验机操作软件路径下。
-
在新电脑中,以管理员身份登录操作软件,选择脱机。
-
软件界面左上角“参数设备” - “硬件参数” - “导入”
-
选择已经拷贝好的文件,双击即可。
-
退出软件,重新启动软件,选择与当前试验机匹配的主机参数,进行联机。
电脑已安装 MTS 试验机 PowerTest_FLEX 软件
将“ > MTS > OUT > FLEX > PowerTest_F00C-H.exe”文件,
拷贝到试验机软件根目录下(如:X 盘:PowerTest_F00C),即可。
注:如果视频引伸计软件和试验机软件不安装在同一台电脑上,还可通过网线将两台电脑桥接的方式进行通讯
网线连接方式:
试验机操作软件安装目录下找到 SANS.INI 配置文件,
在配置文件中找到[Haytham]字符,如图



- 将“LocalIP = 127.0.0.1”修改为 与 引伸计电脑同网段 IP.
例如:安装视频引伸计电脑 的 IPV4 地址:192.168.0.11
修改试验机软件电脑 LocalIP 为 192.168.0.12(保持全三位一致,尾数不同)
- 将“LocalIPort = 8011”,或者修改为本项数字,此时试验机软件将会接收该网段 8011 端口的数据。
- 将视频引伸计软件的 UDP 发送端口号改为 8011。

附件四:MTS SHT 液压试验机通讯设置
使用 PowerTestV3.5-SHT 海塞姆视频引伸计接口程序,替换原试验机操作软件启动程序
-
打开试验机操作软件的安装根目录,找到“PowerTestV3.5-SHT.exe”程序,将其复制一份副本备份。
-
打开“PowerTestV3.5-SHT-接口程序”压缩包,将“PowerTestV3.5-SHT”程序拷贝到试验机操作软件的根目录下,替换原来的“PowerTestV3.5-SHT.exe”程序,启动此软件以操作试验机。
先以 SANS 调试员 的身份登录软件,密码 sans

到 硬件参数 的 设备参数,勾选“视频引伸计(Haytham)”,然后点 保存。根据 提示 重启软件。

到 硬件参数 的 设备参数,选中“视频引伸计(Haytham)”页面,填写 IP 地址和端口号,如果需要正式版请输入注册码,然后点 保存。重启软件。

到 硬件参数 的 更换传感器,选择引伸计 那里 点下拉菜单,选择 Haytham,然后点击 确定。
试验机电脑确认:
-
目前只能在试验机原电脑上安装。
-
确认原电脑的 USB 3.0 口,64 位操作软件,确认电脑防火墙允许后续软件运行。
-
安装海塞姆相机驱动,引伸计操作软件,确认有影像。
引伸计接口程序安装
压缩包文件如下:

-
将 HaythamDevice.dll 文件拷贝
-
到 C:\Program Files (x86)\MTS Systems\MTSTestSuite\ExternalDevices\
-
将 HaythamDevice.tsDeviceTemplate 文件拷贝
-
到 C:\Program Files (x86)\MTS Systems\MTS TestSuite\ExternalDevices\
-
External Device Templates\
打开软件左上角菜单
- 点击软件左上角菜单栏“控制器”,选择“外部设备”。

- 点击弹窗右上角的“+”,添加外部设备

- 在弹窗中选择“Haytham Video”,随后连续点击确认关闭弹窗

选择测试模板(使用引伸计)
- 按序:MTS 模板 -“TW-EM” - MTS EM 拉伸试验(引伸计)

- 在测试模板界面,按序:定义 -资源 -导入资源

- 导入选定的站台资源 -外部设备 - Haytham Video

浮点信号 - 引伸计 - Haytham Video Y1
浮点信号—横向引伸计信号 - Haytham Video X1(如需横向变形)

软件激活
-
试用版:重启软件即可试用。默认是 1 个小时试用时间,可以关闭后重开软件来反复试用。
-
正式版:软件“运行时显示”右侧有 Mac Address ,将“数字”告诉美特斯公司,获取正式版注册码,
-
填写“注册码”后,重启软件即可正式使用

-
点击引伸计软件 - 计算,回到试验机软件,数字有跳到即为通讯成功。
软件备份
进入到试验机操作软件的根目录,找到“Tester_D20C.exe”程序,将其复制备份。
可执行文件替换
拷贝“海塞姆 - 特斯麦特”文件夹中的“Tester_D20C”程序,复制到试验机操作软件的根目录,进行替换原来的“Tester_D20C”程序。
电脑环境配置
“海塞姆 - 特斯麦特”文件夹中的 MSWINSCK.ocx 这个文件可以先不用拷贝到根目录中,如果软件不能正常使用,再拷贝这个文件。
通讯设置
IP 设置为本机 IPV4 地址 或 127.0.0.1,端口默认设置为 8011。
注意:此时本地端口为 8011,那么在视频引伸计软件中应将“配置”—“通讯参数设置”—“端口”—“UDP 发送端”改为 8011。
附件七:Doli 控制器通讯设置
-
功能描述
2D视频引伸计支持通过RS232或者RS485串口信号与doli控制器进行数值传输,支持以下三类传值:
-
支持独立传输一组纵向结果 (Y 向)。
-
支持独立传输一组横向结果 (X 向)。
-
支持同时传输一组纵向结果和一组横向结果。
硬件设置
-
确保 Doli 控制器 Y1 有配置串口接口,如果没有需要找 Doli 厂家,增加串口端口配置。


-
USB 转串口线,9pin 串口接 Doli,USB 接电脑。

软件设置
-
Doli 软件端口号设置,设置完成要写入 Doli 控制器才生效,(此步骤建议让客户自己协调专业人员操作)

-
确保电脑装有串口驱动,设置软件勾选串口通讯,串口设置实际识别的串口号,波特率设置为:115200,数据位:8 位,校验位:奇校验,停止位:1 位。

需要做应变控的话 Doli 需要调节 PID
功能描述
本软件计算生成的变形数据初始类型为数字信号,该数字信号无法直接被试验机采集使用,需通过指定的数据采集卡设备将数字信号转换为模拟信号后,方可实现试验机的数据采集及后续运算 (总流程如下图所示)。

信号转换环节需使用指定品牌的数据采集卡,目前支持的数据采集卡品牌为 NI、阿尔泰、上海简仪三家。经上述数据采集卡转换后的模拟信号,可通过多种常见数据端口进行输出,具体包括 BNC 接口、鳄鱼夹接口、RJ45 接口等类型。
输出的变形模拟信号由试验机采集后,试验机将基于该信号完成各类预设计算结果及流程,为后续试验相关的分析及控制提供数据支撑。
硬件设置(以 NI 为例,三家设置大同小异)
- 硬件构成
主要由 NI-9171 单槽 USB,NI-9269 电压输入模块和相关线缆构成

左为 NI-9171,右为 NI-9269
NI-9171 单槽 USB:用于输入输出模块供电与数据传输。
NI-9269 电压输出模块:以模拟信号实时输出视频引伸计变形量给试验机。
- 硬件连接
I/O 部分连接试验机,USB 口连接电脑

软件设置
- 软件安装,电脑需安装 NI 驱动程序“ni-daqmx_23.8.0_offline”,安装完成后安装并打开控制程序“NIDAC_V2.1.2”
设置端口号,端口号需与引伸计软件通讯设置配置一致。

左为 DAC 设置界面,右为视频引伸计通讯设置界面
- 2.NI 控制程序选择和硬件连接对应的端口号。

视觉应变仪操作手册
目录
单目 2D 应变仪
单目 3D 应变仪
双目 3D 应变仪
客户独立版本
单目 3D 无 logo 版本
双目 3D-美的项目
双目 3D-海军工项目
双目 3D-株洲时代新材料
双目 3D-比亚迪项目
单目 3D-成飞项目
单目 3D-东北大学项目
最后更新:2026 年 3 月
2D 设备使用手册

目录
[一、设备介绍 1](\l)
[1、设备主机 1](\l)
[2、光源 1](\l)
[3、固定支架 1](\l)
[4、标记点 1](\l)
[二、硬件安装 2](\l)
[三、软件安装 4](\l)
[四、引伸计软件使用 7](\l)
[五、全场测量软件使用 14](\l)
[六、功能模块使用 19](\l)
[1. 疲劳降频功能 19](\l)
[2. 裂纹扩展功能 20](\l)
[3、模拟信号通讯模块 25](\l)
[七、设备保养维护以及注意事项 28](\l)
1. 设备介绍
视频引伸计主要部件:设备主机、操作软件、电子密钥、光源及光源控制器、固定支架及云台、标定板、USB3.0 数据线、标记点或高温材料。
1. 设备主机主要包括外观方形盒子和防尘盖两部分,通过底部不同的固定孔位可实现水平放置或者呈 90°竖直放置。
2. 光源## 常温标准视野配置环光,高温炉环境配置射灯,高低温箱环境配置条光。<img src=“../../../assets/products/vision-strain-gauge/image3.jpeg”
style=“width:1.16875in;height:1.06736in” /> 

固定支架(根据实际测试环境搭配)
1. )利用试验机安装孔固定的有旋转支架或 45 度支架。2)可移动式固定支架有三角架或电动支架。
4. 标记点 1)常温试验时,采用标准化标记点,可以实现软件自动识别。
2)高温试验时,采用酒精加高温材料或高温笔,制作高温标记点。

-
硬件安装
2.1 常温试验时,通过在待检测试样上粘贴标记点,可以实现软件自动识别。
高温试验时,采用酒精和高温材料混合均匀点在被测试样表面即可或者用高温笔直接点在被测试样表面,制作高温标记点完成。
2.2 根据不同试验机,选择合适夹具,将试样固定在拉伸试验机夹具上。
2.3 检查试样安装是否到位,第一步首先确定设备已经摆放水平和物距是否正确,第二步打开电脑软件,开启相机,看视野中夹具上的试样是否居中在软件视野中间,图像呈现是否清晰,灯光亮度是否合适,一切调整完后,设备硬件准备完成。
2.4 固定好三脚架、云台或则移动支架。
2.5 将云台快装板固定在 2D 引伸计底板上。
2.6 将引 2D 伸计安放在三脚架,调整好相对水平及相对高度。
2.7 按照 2D 引伸计预设的距离参数,调整合适的摆放距离,
例:预设距离参数 210mm。
1)使用卷尺或长度尺等测量“设备前端边缘到试样”的间距,调整到约 210mm 为好。完成 2D 引伸计和待测试样中心的基本对齐。
2)可采用设备集成的激光测距模块,设备连接完成后打开软件,软件界面右上角点击激光测距。
如图:红色字体 210mm 为当前设备的激光测距照射到该试样表面的距离,完成引伸计窗口和待测试样中心的基本对齐。[100mm]是软件文件配置当激光测距为 100mm 时,达到±2mm 误差时红色字体会变为绿色。

2.8 光源连接:将电源线连接至光源控制器上,再通过黑色数据线将光源控制器与光源连接。
2.9 设备连接:将数据线将 2D 引伸计和电脑主机连接。
2.10 打开光源控制器开关,蓝色光源点亮,调整亮度。
2.11 打开电脑,进行软件操作,对 2D 引伸计、光源亮度等进行微调。
-
软件安装
3.1 初次使用时,必须在试验机电脑上先进行软件安装。
3.2 电脑基本配置要求:i7 处理器 16GB 内存 1TB 固态硬盘 USB3.0 接口/ 64 位 WIN10 操作系统以上。
3.3 相机驱动安装
找到随机 U 盘资料中的“相机软件”文件。

3.4 引伸计软件安装
1)找到随机 U 盘资料中的“引伸计软件”文件(版本号以实际为准)。
2)安装完成后,电脑屏幕上显示下述图标。

3.5 软件安装验证
1)点击电脑屏幕上相机图标。
1.打开软件安装包,点击“Next”
2.勾选“accept”,然后点击“Next”
3.选择“Complete”,进行完整版安装
4.点击“Install”,进行安装
5.安装完成后,点击“Finish”,安装完成
2)进入相机/图像视图界面。用鼠标左键双击相机视图进入 IP 配置界面,按照下图所示 3 步进行操作:

3)配置完成后,点击“Close”按钮,关闭 IP 配置界面,进行相机连接

4)打开相机软件连接正常后,关闭驱动软件。
-
引伸计软件使用
4.0 标定图片采集,将设备固定在工作距离对焦好用相机驱动软件如下图姿态分两个路径存放标定图片,正对着采集 1 张图片用来尺寸标定,分不同姿态采集多张标定图片用来内参标定


尺度标定正视图

内参标定图

标定姿态示意图
4.1 相机类型选择,打开软件安装路径下“config”文件,将“cameraType”参数改为 1

4.2 打开软件
将加密狗 U 盘插入到电脑主机 USB 插口中,双击图标
打开软件。打开软件界面如下:

4.3 图片保存操作
1)选择保存:依次点击软件界面左上角“文件”→ “保存图片”,再次打开时,“保存图片”前端处于勾选状态。
2)设置保存路径:点击“设置保存图片路径”。选择主机中剩余内存空间高于 30G 的硬盘建立文件夹存储图片。
3)不需要保存图片:依次重复上述步骤即可取消勾选状态。

4.4 相机参数设置
1)点击工具栏第二个按钮“参数设置按钮”,点击相机参数配置。
2)按照试验需求设置计算帧率和曝光间隔。

4.5 设备微调
1)点击“相机”按钮。

2)试样图片出现在屏幕上。

3)观察视窗,通过继续调整引伸计位置和角度,直至在视窗中看到清晰的待测试样全貌为止。
4.6 标记测试点(计算标距)
1)自动识别标距:再次点击“相机”按钮,软件可以自动识别相关的标记点。
2)手动调整标距:如果无法自动识别时,请选用手动调整,通过鼠标拖动“十字星”与试样上的标记点重合。根据需要可设置多组标记点,在视窗单击鼠标右键,即可添加。
4.7 创建标定
点击软件界面“标定”弹出窗口,即可修改标定参数,并选择标定文件目录,尺寸标定目录选择“1 张”图片的文件,内参标定目录选择“13 张”图片的文件,点击“确认”,标定矩阵创建成功,创建标定成功。

4.8 计算
1)点击“计算”按钮。

2)软件出现浮窗显示实时数据及位移 - 时间曲线。试验结束时,再次点击计算按钮,停止计算。

4.9 数据输出
1)点击“快捷图表”中工具栏最左侧“保存”图标。

2)即可输出实验数据的 EXCEL 格式文件:如下图

5.0 输出报告
点击报告,填入需要的文件名称,点击确认即可输出。

-
全场测量软件使用
5.1 打开软件,双击图标
打开软件进入软件界面,选择新建项目模块,输入项目名称和保存目录,点击创建新项目进入
计算模式;选择打开项目模块,选择已保存计算数据的文件并打开,可直接进行数据的重
复计算;选择最近使用项目,可以快速打开上一次已关闭项目。

5.2 进入软件计算模式后,通过功能区和工具栏可选择需要进行的操作,功能区和工具栏按钮内容介绍如下:
1)文件:可以选择新建文件,打开文件,打开最近项目,保存试验数据,输入已有测量图片,参数设置及导出点云数据等功能 。
2)编辑:可以选择或者删除在计算区域内构造的点,线,面,应变片等。
3)视图:可以切换不同的显示模式。
4)构造:可以在计算区域内创建点,线,面,应变片,创造点间距等。
5)检测:可以选择需要测量的内容。
6)相机:点击相机按钮,切换是否打开图像采集功能。
7)参数设置:需要连接设备才可以使用参数设置按钮,用来设置采样频率和曝光间隔 。
8)标定:用来设置标定系数,参数设置和文件选择路径方式和引伸计一样。
9)采集:通过相机采集试验过程图像,用于应变分析
10)区域设置:可以通过拖动鼠标框选区域,选择需要分析的区域范围
11)计算:开始/中断对采集图像的应变分析
12)报告:可以输出 PDF 报告和视频报告

5.3 进入软件计算模式后,点击相机按钮实时采集图像进行应变分析,也可以通过点击文件——输入——图形序列,导入已保存的图像数据进行应变分析。

5.4 如果使用相机实时采集图像,先通过参数设置按钮,根据实验要求设置合适的采样频 率和曝光间隔,并点击采集按钮,开始记录并保存试验过程采集到的图像(如使用导入图形序列功能跳过此步骤,直接进行应变分析)。

5.5 点击区域设置按钮,根据实际需要检测的区域选择矩形和多边形按钮,拖动鼠标在图像中框选需要的计算区域,可以通过滚动鼠标滚轮调节图像大小,框选更合适的计算区 域,点击计算,可以通过构造按钮,预先在区域内创建一个点(也可以完成计算后再选择任一点,但是计算过程中没有曲线显示),点击计算按钮,开始进行计算区域的应变分析,可通过下方进度条查看计算进度。

5.6 计算完成后可根据实验需求通过构造和检测查看所需要的数据,并通过点击快捷图标中工具栏最左侧灰色图标,可输出实验数据的 EXCEL 格式文件,点击文件下方保存,可以将此次计算数据保存。


5.7 也可以通过报告按钮导出 PDF 版本报告和 MP4 格式的视频报告。


功能模块使用
疲劳降频功能
功能介绍
常见的 DIC 系统要在一个疲劳周期需采集 10 张以上图片,对于数以万次的疲劳测试,不仅要占用上百 G 的硬盘存储空间,而且会产生数据延迟、系统宕机等问题。针对此问题,海塞姆科技开发了跨周期采集的疲劳模块。如下图所示,该模块可以将接收到的疲劳加载 N 个小周期拟合成 1 个大周期,触发海塞姆视觉引伸计系统跨周期拍照采集。即可以实现全程跟踪计算,同时又减少了数据采集量。

参数说明
点击配置弹出疲劳降频参数

疲劳降频:设置为开,即开启该功能;
峰值计算:设置为开,即采集峰值数据;
降频倍数:小周期拟合大周期数;
周期点数:降频后每个周期采集数据点数;
加载频率:试验机疲劳加载频率;
保存峰值图像:打开即保存峰值图片;
保存路径:设置图片保存位置;

疲劳降频效果 峰值采集效果
裂纹扩展功能
1 功能介绍
背景意义:在材料力学性能测试中,获取裂纹扩展长度是测得材料层间断裂韧性的前提条件,在 GB/T 42903-2023 、ASTM D5528 等测试标准中都需要先获得准确的裂纹长度等信息,然后转换得到相关力学性能参数。
实现功能:通过标记点获取位置信息、表面灰度变化自动识别加载位移和裂纹长度。
应用场景:主要应用于复合材料 (DCB)、金属材料 (CT) 试样的断裂韧性测试,这类测试为预制缺口加载,裂纹沿预制缺口向后扩展,测试目的为获得材料基础力学性能(断裂韧性),一般不需要全场应变,但测试精度要求较高。
基本原理:对待测区域进行小区域划分,结合深度学习、边缘检测和灰度识别准确找到裂纹的尖端点位置,两标记点之间距离为加载位移,裂纹尖端距两标记点中心位置的距离为裂纹长度。
2 前期准备
试样表面处理:使用白色哑光油漆笔在试样表面均匀涂抹白漆。
光源选取与位置:使用投影射灯或平行光,与物体同一高度在夹具的另一侧与相机成 30°夹角打光(反光时可适当增大夹角至 60°或增加偏振片,光源角度可结合实际情况进行适当调整以达到最佳效果)。
相机镜头选型:
| 相机 | 镜头 | 视野 | 精度 |
| 2621 | 大恒 75mm | 50mm | 裂纹宽度≥20um |
| 1220 | Kowa75mm | 25mm | 裂纹宽度≥20um |
| 2621 | Kowa16mm | 200mm | 裂纹宽度≥80um |
表 1.相机镜头选型
3 操作过程描述
引伸计裂纹扩展功能可进行实时监测,也可先采集后处理的方式。
注:对于裂纹与非裂纹的对比度较小,且试样表面处理效果不一致、设备未固定的测试,建议使用采集后处理的方式,由于不同工况的最优阈值存在差异,直接进行实时分析可能会出现识别精度较低的情况;如果裂纹与非裂纹的对比度较大,或者试样表面处理一致、设备固定的测试,最优阈值可提前预知,实时测量也可以达到较高精度。
实时分析:1.标定; 2.计算参数设置;3.打开软件下的检测→裂纹检测开关;3.开始计算。
先采集、后处理方式:1.标定; 2.导入采集的图片;3.计算参数设置;4.打开软件下的检测→裂纹检测开关;5.开始计算。
注:实时分析时,最大计算帧率与图像大小、电脑配置有关,可通过裁剪画幅和提升电脑配置的方式提高最大计算帧率。
裂纹扩展过程中,如果将导致当前裂纹扩展的力卸掉,可能会使试样裂纹张开区域出现闭合现象,导致相机捕捉不到细裂纹,在视觉上出现细裂纹“消失”的情况。所以,在加载过程中如果想准确地观察到裂纹尖端,应尽量在试验机加载状态下进行裂纹识别。


图 1.软件操作流程
先采集后计算的方式下,计算完成后提示计算完成即可查看结果,实时计算需在加载完成后手动结束计算。

图 2.裂纹预测参数设置界面
在进行裂纹识别前应根据当前试样表面、光源、曝光情况对裂纹识别参数进行设置。
灰度阈值:当识别模式为自动模式时,软件将根据当前图像自适应选取阈值,此时灰度阈值的设置不影响计算;当识别模式为手动模式时,灰度阈值将代入计算,识别区域的裂纹尖端灰度值低于灰度阈值时被当作裂纹(例:设置为 210,裂纹上灰度值低于 210 的被识别为裂纹,高于 210 的位置则不被识别为裂纹)。
阈值选取:通过相机软件观察试样表面灰度值、裂纹尖端位置灰度值确定,即取值应小于试样表面灰度值,大于所需检测裂纹尖端灰度值。
识别模式:分别为手动和自动模式,当选项为手动模式时,裂纹尖端位置依据灰度阈值进行识别;当选项为自动模式时,通过自适应阈值方法对裂纹尖端进行识别,此模式下不需设置灰度阈值(自适应阈值方法需要裂纹尖端与试样表面需有较明显的对比度,否则由于裂纹尖端无明显边缘,可能会导致裂纹尖端识别错误)。
4 注意事项
4.1)试样表面尽量保证平整,若试样表面较不平整,可使用砂纸进行打磨。
4.2) 标记点应在预制裂纹的左侧(即标记点的右侧应有可识别的裂纹),如果标记点右侧没有肉眼可见的裂纹,可使用黑色签字笔标出预制裂纹所在位置,或通过预加载使预制裂纹显现出来。
4.3) 测试前调整设备时,先使用相机软件观察表面灰度情况,曝光稍微调低来观察裂纹尖端位置,然后逐渐增加曝光,将曝光调整至裂纹尖端对比低曝光条件下长度一致,且非裂纹区域灰度值尽量接近 230 左右,即在不过曝的情况下尽量多的降低干扰。

图 3.试样表面处理情况
4.4)对于颜色较浅、自身反光等材料,光源与试验表面应避免垂直照射,这样可以减小光线导致的裂纹对比度降低,以及光照反射对相机的干扰。

图 4.加载与测试设备
4.5)试样表面应为均匀白色,首选白色哑光油漆笔在待测区域涂画,若材料会发生大变形则不适用油漆笔直涂,需采用喷漆方式对试样表面进行处理。
4.6)试样加载端与预制裂纹尖端表面若经过处理,可以将两标记点粘贴在试样加载端处,若表面干扰较大或夹具遮挡严重,则将标记点贴在预制裂纹处。两标记点之间距离,DCB 试样可沿试样边缘,CT 试样应尽量与裂纹可能出现的上下范围位置一致。
3. 模拟信号通讯模块使用 1. 硬件构成
主要由 NI-9171 单槽 USB ,NI-9269 电压输出模块,NI9215 电压输入模块和相关线缆构成

NI-9171 NI-9269 NI9215
NI-9171 单槽 USB:用于输出输出模块供电与数据传输;
NI-9269 电压输出模块:以模拟信号实时输出引伸计变形量给试验机;
NI9215 电压输入模块:实时采集试验机力值信号;
-
硬件连接
IO 部分连接试验机,USB 口连接电脑

三、软件设置
1.软件安装,电脑需安装 NI 驱动程序“ni-daqmx_23.8.0_offline”,安装完成打开控制程序“NIDAC_V2.1.2”设置端口号,端口号需与引伸计配置文件一致。

-
NI 控制程序选择和硬件连接对应的端口号。

-
引伸计软件设置好对应的比例系数,比如试验机 5000N 对应 10V,比例系数填写 500,就可以进行测试。

4.采集到试验机采集到变形值,引伸计软件采集到力值就可以生成应力应变曲线,求相关力学性能参数。

引伸计软件生成应力应变曲线

试验机软件生成应力应变曲线
7. 设备保养维护以及注意事项
6.1 未经专业培训,不得单独操作此仪器。
6.2 使用时尽量不要让光源直射人眼,避免可能造成操作人员眼部伤害。
6.3 高温环境下,尽量配戴高温手套,防止人员烫伤,制作高温散斑或者标记点时,注意不要沾到眼睛。
6.4 仪器不使用时,应将其装入箱内,置于干燥处,注意防震、防尘和防潮。
6.5 仪器运输应将仪器装于箱内进行,运输时应小心避免挤压、碰撞和剧烈震动,长途运输填充软件泡沫作为缓冲物。
6.6 仪器安装至三脚架或者拆卸时,要先托住仪器,以防仪器跌落。
6.7 不可用化学试剂擦试塑料部件及有机玻璃表面,可用浸水的软布擦试。
6.8 测量前应仔细全面检查仪器,确信仪器各项指标、功能、电源符合要求时再进行作业。
6.9 即使发现仪器功能异常,非专业维修人员不可擅自拆开仪器,以免发生不必要的损坏。
感谢您选用我公司产品!
海塞姆,点亮机器的眼睛!
深圳市海塞姆科技有限公司
地址:深圳市南山区桃源街道平山社区
留仙大道 4093 号南山云谷创新产业园山水楼 A 座 206
电话:0755-86347753
网址:www.haytham.com.cn

双目三维视觉应变仪使用手册

深圳市海塞姆科技有限公司
目录
1. 设备介绍
双目应变仪主要部件:设备主机、操作软件、加密狗、光源及光源控制器、固定支架及云台、标定板、USB3.0 数据线、散斑喷漆或高温材料。
1.1. 设备主机主要包括固定支架和相机镜头两部分组成,通过底部不同的固定孔位可实现水平放置。

1.2. 光源常温标准视野配置环光,高温炉环境配置射灯,高低温箱环境配置条灯,大视野配摄影灯。

1.3. 固定支架使用三角架、双目横杠和三轴云台,将相机镜头固定好,调整双目设备整体位置,调整水平。

1.4. 散斑 1) 常温试验时,采用标配的黑白颜色散斑喷漆。
- 高温试验时,采用酒精加高温材料,制作高温散斑。

2. 硬件安装
-
固定好旋转支架或三角架。
-
将快装板固定在双目横杠底座上。
-
将双目应变仪安装在云台或支架上,调整好水平及高度。
-
按照应变仪预设的距离参数,调整合适的摆放距离,
例:预设距离参数 210mm。
使用卷尺或长度尺等测量“设备前端边缘到试样”的间距,调整到约为 210mm。完成应变仪和待测试样中心的基本对齐。
-
将光源固定在应变仪主机或者试验夹具周围。
-
光源连接:将电源线连接至光源控制器上,再通过黑色数据线将光源控制器(CH 接口)与光源连接。
-
应变仪连接:用 USB3.0 数据线将应变仪和电脑主机连接(电脑必须支持 USB3.0 接口)。
-
取下设备镜头防尘盖,按下光源控制器开关,蓝色光源点亮,调整亮度使视野亮度适中。
-
按照试验要求,在待检测试样上检测区域喷涂散斑,并将喷好散斑试样固定在加载装置上。
-
打开电脑,进行软件操作,对应变仪、灯光等进行微调。
3. 软件安装
初次使用时,必须在试验机电脑上先进行软件安装。
电脑基本配置要求:i7 处理器 16GB 内存 1TB 固态硬盘 USB3.0 接口/ 64 位 WIN10 操作系统以上。
3.1. 相机驱动安装找到随机 U 盘资料以下相机驱动文件,解压点击安装。
3.2. 应变仪软件安装 1) 找到随机 U 盘资料以下文件(版本号以实际为准),解压点击安装。
- 安装完成后,电脑屏幕上显示相机驱动软件和应变仪软件。

3.3. 软件安装验证 1) 点击电脑屏幕上相机驱动图标;
- 在软件界面左侧,双击”MER-503-36U3M”打开摄像头,以相机型号为准;
- 在新窗口点击软件左上角“开始采集”图标,显示有图像即安装成功。

四:设备使用
4.1. 相机设置:打开相机驱动软件,并进入采集界面。

-
确认软件可以正确读取到相机;
-
批量连接相机和批量开启采集画面;
-
调整合适的曝光时间以适应画面亮度;


-
根据画面内被测区域相对于整个画面的占比调整物距,即设备与被测区域的距离;
-
相机工装应水平放置,相机应保证水平;
-
两相机应对称放置,被测物应保证在两相机中轴线上,两相机到被测区域距离应一致;
-
相机与中轴线的夹角应在 15°~30°范围内;
-
反复调整,使两相机采集画面对称显示,且显示范围一致;
-
调整镜头焦距,使镜头对焦到被测区域,保证成像清晰;
-
调整镜头光圈,与外部光源配合,使画面亮度、光源亮度(80% 亮度以下)、曝光时间(20000 内)、景深效果(光圈 8 左右)都在合适范围内;
4.2. 标定:在硬件调试完毕后,可进行标定步骤,根据视野大小选择合适的标定板,采集 13 张标定图片。
打开应变仪软件,并创建一个新项目

-
进入图片采集界面;
-
打开相机;
-
设置好保存图片的路径;
-
使用单张采集功能进行标定图片采集;
-
进行标定板姿势摆放并逐张采集,标定板摆放注意使三个空心圆成 L 状放置,即黑色角朝向画面的右上方,13 张姿势如下所示:
第一张,正视图,标定板按照对焦物距,正对设备摆放;

第二张,俯视图,在正视图的基础上,将标定板上边沿向前倾斜(15°左右);

第三张,仰视图,在正视图的基础上,将标定板上边沿向后倾斜(15°左右);

第四张,左向正视图,在正视图的基础上,将标定板向左旋转(15°左右);

第五张,左俯视图,在左向正视图的基础上,将标定板上边沿向前倾斜(15°左右);

第六张,左仰视图,在左向正视图的基础上,将标定板上边沿向后倾斜(15°左右);

第七张,右正视图,在正视图的基础上,将标定板向右旋转(15°左右);

第八张,右俯视图,在右向正视图的基础上,将标定板上边沿向前倾斜(15°左右);

第九张,右仰视图,在右向正视图的基础上,将标定板上边沿向后倾斜(15°左右);

第十张,正视图,将标定板回正到第一张正视图位置;

第十一张,向前视图,将标定板在正视图的基础上,向前 1 厘米左右正视放置;

第十二张,向后视图,将标定板在正视图的基础上,向后 1 厘米左右正视放置;

第十三张,正视图,将标定板回正到第一张正视图位置。


-
采集完标定图片后,点击应变仪软件右上角相机图标关闭相机;
-
点击左侧相机标定界面进行标定操作;

- 点击左上角导入图像,根据采集标定前设置的图片保存路径找到标定图片,分左右相机导入标定图片;


- 图片导入完成后,点击计算标定,输入标定参数(按照上图中左侧数据,HSM-Cal-250-6*6-20 1-1 1-4 4-1,6*6 为标定板尺寸,20 为圆点间距,1-1 1-4 4-1 为空心圆位置坐标)

-
标定成功后左下角重投影误差,total 值应小于 0.2;在满足要求后,点击确认标定。
-
在标定成功后,建议将标定图片另存,且按照日期 - 物距 - 实验场景命名。
4.3. 采集实验过程 1) 标定步骤完成后,将被测区域挪到视野内,保证物距准确,点击左侧相机按钮进入图片采集界面,点击右上角相机图标打开相机;


- 实验开始前应进行采集设置,采集方式分为固定频率和时间间隔两种;
固定频率:即按照固定的采集频率进行图片采集,当达到设置的采集持续时间即停止采集,如需手动停止采集,建议将结束方式—持续时间改成最大值(9999s);
时间间隔:即每间隔几秒采集一张图片,当达到设置的采集图片数量时即停止采集。
- 建议将图片的保存路径设置为一个空间较大的固态硬盘,以防数据丢失。
4.4. 数据处理:在实验过程图片采集完毕后,点击右上角相机图标关闭相机

-
点击左侧分析计算按钮进入数据分析界面;
-
点击左上角导入图像按钮进行图像导入,分左右相机导入图片;

- 在计算前需要先进行计算区域框选和计算参数设置;
子区:即 DIC 计算的最小区域,子区越大,特征越多,计算时间越长;
步长,子区与子区的间隔,步长越小,子区越密集,计算越慢;
区域选择:从左到右分别是,框选多边形,框选矩形,框选圆形,扣除多边形,扣除圆形;
- 在计算参数设置完毕后,点击开始计算,即等待计算结果,计算结果分为位移和应变,第一次计算完毕是指位移数据计算完毕,还需转应变,点击结果—应变—主应变,即可开始转应变。

4.5. 结果查看:在位移和应变计算完毕后,可查看结果

- 点击检测,可创建点、线、片,选择对应的方式,在计算区域中点击创建,即可查看点、线、片的数据;


- 点击结果,可查看不同类型的结果,如可查看格林应变、工程应变,应变可查看主应变、次应变、三向应变等,位移可查看三向位移等。

- 在创建点、线、片后,可点击曲线图表以查看图片—应变等曲线,在横轴纵轴右键点击,可切换需查看显示的数据,点击曲线图表右上角保存图标,可导出所有创建数据;

- 点击界面右上角坐标轴图案,可切换不同视图,点击 L 或 R 图标,可显示/关闭一侧画面;

- 右键单击色阶条,可进入图例设置,可自行编辑色阶条数量和颜色,以及设置显示阈值。
4.6. 实时应变片:此外,软件还支持实时应变片功能,可模拟真实应变片效果;

-
点击左侧应变片按钮进入应变片功能界面;
-
点击相机按钮打开相机,手动创建应变片区域(即框选矩形区域),进行采集界面设置,即可开始计算,但受性能影响,实时应变片功能目前只能以 1Hz 运行,建议将相机帧率设置为 1Hz;
-
对于已经做过的实验,也可通过导入图像的方式来重复进行创建应变片计算。
4.7. 云图导出:在数据处理完毕后,可进行云图或者视频的导出;

-
点击左侧报告生成按钮进入报告导出功能界面;
-
在此功能界面,可进行实验报告信息输入、实验报告导出、云图视频导出、全部云图导出、单张云图导出操作;
-
在导出云图视频或者云图图片时,可进行模板设置,以选择纯云图导出,或者在创建点的情况下带曲线图表导出,或选择是否需要显示图例色阶条。
5. 安全操作及注意事项
1.未经专业培训,不得单独操作此仪器。
2.使用时尽量不要让光源直射人眼,避免可能造成操作人员眼部伤害。
3.高温环境下,尽量配戴高温手套,防止人员烫伤,制作高温散斑或者标记点时,注意不要沾到眼睛。
4.仪器不使用时,应将其装入箱内,置于干燥处,注意防震、防尘和防潮。
5.仪器运输应将仪器装于箱内进行,运输时应小心避免挤压、碰撞和剧烈震动,长途运输最好在箱子周围使用软垫。
6.仪器安装至三脚架或者拆卸时,要先托住仪器,以防仪器跌落。
7.不可用化学试剂擦试塑料部件及有机玻璃表面,可用浸水的软布擦试。
8.测量前应仔细全面检查仪器,确认仪器各项指标、功能、电源符合要求时再进行作业。
9.即使发现仪器功能异常,非专业维修人员不可擅自拆开仪器,以免发生不必要的损坏。
感谢您选用我公司产品!
海塞姆,点亮机器的眼睛!
深圳市海塞姆科技有限公司
地址:深圳市南山区桃源街道长源社区学苑大道 1001 号南山智园 C3 栋 15 层
电话:0755-86347753
网址:www.haytham.com.cn

微信公众号 B 站 今日头条
客户独立版本 - 视觉应变仪
本目录包含针对特定客户的视觉应变仪使用手册定制版本。
可用版本
单目 3D 版本
- 成飞定制版本 - 视觉应变仪使用手册(成飞版)
- 东北大学定制版本 - 蓝盒视觉应变仪使用手册(东北大学版)
- 无标单目 3D 版本 - 蓝盒视觉应变仪使用手册(无标版)
双目 3D 版本
- BYD 定制版本 - 视觉应变仪使用手册(比亚迪版)
- 美的定制版本 - 视觉应变仪使用手册(美的版)
- 海军工业定制版本 - 视觉应变仪使用手册(海军工业版)
- 株洲时代新材定制版本 - 视觉应变仪使用手册(株洲时代新材版)
标准化流程文档
- 标准化产品校准流程 - 标准化产品校准流程文档
- 2D 使用手册(海军工业版) - 2D 视觉应变仪使用手册(海军工业版)
最后更新:2026 年 3 月
BLUE BOX 视觉应变仪使用手册

深圳市海塞姆科技有限公司
目录
[一、设备介绍 1](\l)
[1、设备主机 1](\l)
[2、光源 1](\l)
[3、固定支架 2](\l)
[4、散斑 2](\l)
[二、硬件安装 3](\l)
[三、软件安装 4](\l)
[1、相机驱动安装 4](\l)
[2、应变仪软件安装 4](\l)
[3、软件安装验证 4](\l)
[四、软件使用 6](\l)
[1、软件打开 6](\l)
[2、创建新项目 6](\l)
[3、相机采集设置 7](\l)
[4、分析计算 8](\l)
[5、应变片功能 11](\l)
[6、报告生成 12](\l)
[五、安全操作及注意事项 14](\l)
1. 设备介绍
应变仪主要部件:设备主机、操作软件、加密狗、光源及光源控制器、固定支架及云台、标定板、USB3.0 数据线、散斑喷漆或高温材料。
1. 设备主机主要包括蓝色外观方形盒子和防尘盖两部分,通过底部不同的固定孔位可实现水平放置或者呈 90°竖直放置。

2. 光源常温标准视野配置环光,高温炉环境配置射灯,高低温箱环境配置射灯。

3. 固定支架利用试验机安装孔固定的有旋转支架或 45 度支架,可移动式固定支架有三角架或电动支架。


4. 散斑 1)常温试验时,采用标配的黑白颜色散斑喷漆。
2)高温试验时,采用酒精加高温材料,制作高温散斑。


2. 硬件安装
-
固定好旋转支架或三角架。
-
将快装板固定在应变仪底座上。
-
将应变仪安装在云台或支架上,调整好水平及高度。
-
按照应变仪预设的距离参数,调整合适的摆放距离,
例:预设距离参数 210mm。
使用卷尺或长度尺等测量“设备前端边缘到试样”的间距,调整到约 210mm 为好。完成应变仪和待测试样中心的基本对齐。
-
将光源固定在应变仪主机或者试验夹具周围。
-
光源连接:将电源线连接至光源控制器上,再通过黑色数据线将光源控制器(CH 接口)与光源连接。
-
应变仪连接:用 USB3.0 数据线将应变仪和电脑主机连接(电脑必须支持 USB3.0 接口)。
-
取下应变仪防尘盖,按下光源控制器开关,蓝色光源点亮,调整亮度使视野亮度适中。
-
按照试验要求,在待检测试样上检测区域喷涂散斑,并将喷好散斑试样固定在加载装置上。
-
打开电脑,进行软件操作,对应变仪、灯光等进行微调。
3. 软件安装
初次使用时,必须在试验机电脑上先进行软件安装。
电脑基本配置要求:i7 处理器 16GB 内存 1TB 固态硬盘 USB3.0 接口/ 64 位 WIN10 操作系统以上。
相机驱动安装
找到随机 U 盘资料以下相机驱动文件,解压点击安装。
应变仪软件安装
找到随机 U 盘资料以下文件(版本号以实际为准),解压点击安装。
安装完成后,电脑屏幕上显示相机驱动软件和应变仪软件。

-
软件安装验证
- 点击电脑屏幕上摄像头图标。

- 在软件界面左侧,双击”MER-503-36U3M”打开摄像头,以相机型号为准。

3)在新窗口点击软件左上角“开始采集”图标,显示有图像即安装成功。

软件使用
1. 软件打开将加密狗 U 盘插入到电脑主机 USB 插口中,双击软件图标<img src=“../../../assets/products/vision-strain-gauge/image18.png”
style=“width:0.40208in;height:0.44236in” /> ,打开软件页面左侧从上往下图标依次为【主界面】、【图片采集】、【相机标定】、【分析计算】、【实时应变片】、【报告生成】
主界面如下:

2. 创建新项目点击软件“新建项目”弹出新建项目对话框,填写项目名称,选择保存项目路径。

3. 相机采集设置 1)在“图片采集”界面点击相机按钮呈高亮状态,即可实时显示画面。
2)在“采集设置”设置板块,根据测试需求设置采集方式,结束方式,根据视野亮度适当调整曝光时间。
3)单次采集点击一次按钮采集一张图片,点击“开始采集”按钮则按采集设置的采集方式连续采集直到结束;点击“暂停采集”图片采集暂停,再次点击则“暂停”按钮则续接之前的采集直到结束采集图片。


4. 分析计算点击“分析计算”按钮,进入计算界面
1)在“区域选择”中下根据试样形状和检测位置,框选合适的测试区域类型和位置。
2)“图像子区”中设置计算子区大小;“计算步长”设置所需的步长大小。

3)点击“开始计算”按钮,即可进行计算,软件最下端会显示计算进度条,计算完成后软件弹出“计算完成”提示。


4)点击“检测”即可以在计算区域创建点、截面线或者两点距离,再点击“曲线图表”即可弹出数据窗口显示数据。

5)点击“结果”,可以查看所需的数据类型,并显示在主界面。


6)点击“曲线图标”中“导出数据保存”按钮可以导出计算数据。

7)点击“导入图像”按钮可以将已保存的图片,或者在其他单目三维引伸计上保存的图片,导入到本软件进行二次计算。
顺序为:点击“导入图像”按钮,在图片保存的路径下选择要导入的图片,也可按 Ctrl+A 全选图片,导入按之前步骤完成计算即可。

5. 应变片功能 1)点击“应变片”,进入功能界面,点击“相机”按钮进行实时画面显示,在相机设置中设置相机帧率,根据图像明亮程度设置曝光时间,最后设置图片保存路径。
2)相机设置完成,点击“创建”按钮,自定义创建应变片大小、位置。
3)点击“开始计算”即可计算应变片数据。

6. 报告生成 1)点击“报告信息”按钮,弹出填写报告信息窗口。填写信息将体现在报告中。

2)点击“生成报告”,弹出报告预览,可以选择保存或者打印。

3)点击“生成动画”,选择动画保存目录

5. 安全操作及注意事项
-
未经专业培训,不得单独操作此仪器。
-
使用时尽量不要让光源直射人眼,避免可能造成操作人员眼部伤害。
-
高温环境下,尽量配戴高温手套,防止人员烫伤,制作高温散斑或者标记点时,注意不要沾到眼睛。
4. 仪器不使用时,应将其装入箱内,置于干燥处,注意防震、防尘和防潮。
5. 仪器运输应将仪器装于箱内进行,运输时应小心避免挤压、碰撞和剧烈震动,长途运输最好在箱子周围使用软垫。
6. 仪器安装至三脚架或者拆卸时,要先托住仪器,以防仪器跌落。
7. 不可用化学试剂擦试塑料部件及有机玻璃表面,可用浸水的软布擦试。
8. 测量前应仔细全面检查仪器,确信仪器各项指标、功能、电源符合要求时再
进行作业。
- 即使发现仪器功能异常,非专业维修人员不可擅自拆开仪器,以免发生不必要的损坏。
感谢您选用我公司产品!
海塞姆,点亮机器的眼睛!
深圳市海塞姆科技有限公司
地址:深圳市南山区桃源街道平山社区
留仙大道 4093 号南山云谷创新产业园山水楼 A 座 206
电话:0755-86347753
网址:www.haytham.com.cn

微信公众号 B 站 今日头条
DVC 软件使用说明
目录
最后更新:2026 年 3 月
DVC 功能介绍文档
-
新建项目
默认给出了项目名称,可自行修改名称;选择合适的存储路径后进行图片导入,其中参考体图像和变形体图像的宽度、高度、深度都应该保持一致,以确保数据的准确性,点击下一步即完成项目创建

后续可通过【打开项目】打开已经创建的项目进行数据查看

-
框选立方体
点击【VOI】选择工具选中立方体,可通过鼠标左键将区域(右图中的灰色立方体)拖动至感兴趣的区域内,(往里拖为缩小范围,往外拖则是扩大范围),可按住右键对立方体进行 360°旋转动,从而对不同的面进行设置;也可通过修改左侧坐标来设置区域,修改坐标后需点击确定才可生效

-
框选圆柱体
点击【VOI】选择工具选中圆柱体,操作步骤和立方体一致。需要注意设置的区域大小需要预留半个子区大小的范围,否则点击计算会提示区域选择不符合

-
计算
点击“
”按钮,跳转至计算页面,再次点击该按钮,弹出计算弹窗,点击【开始计算】等待计算完成
-
查看结果
通过控制【变量】可查看位移和应变

-
查看切片
勾选不同方向的切片可查看其切片

-
数据导出
选择导出数据按钮,设置名称及保存地址,保存为 csv 文件

智能体的设计、部署、配置与维护
智能体的设计
概述
OpenCode 是一个开源的 AI 编程助手,可以部署为网页客户端,构建私有、安全的 AI 辅助通用工作和编程环境。海塞姆 AI 助手以 OpenCode 为核心构建了智能体系统,通过 Docker 容器化部署,实现代码生成、自动化测试、文档编写等智能辅助功能。

opencode-docker-web 设计与实现
为实现 OpenCode 的容器化部署,@PJ568 设计并实现了 opencode-docker-web。
设计哲学
opencode-docker-web 的设计遵循以下核心原则:
- 最小化依赖冲突:通过 Docker 容器化隔离运行环境,确保 OpenCode 及其依赖在不同系统中行为一致。
- 配置即代码:所有配置通过环境变量和配置文件管理,支持版本控制和自动化部署。
- 开箱即用:镜像预装完整的开发工具链,用户无需手动安装任何依赖。
- 安全优先:默认启用认证、支持 CORS 配置、避免敏感信息硬编码。
- 可观测性:提供详细的启动日志和健康检查支持。
技术架构
基础镜像选型
选择 node:22-slim 作为基础镜像,基于以下考虑:
- 技术匹配:OpenCode CLI 基于 Node.js 开发,需要 Node.js 运行时环境。
- 体积优化:
slim版本相比完整版减少约 200MB 体积,同时保留核心功能。 - 安全性:官方镜像定期更新安全补丁,维护周期明确。
- 兼容性:Node.js 22 是 LTS 版本,提供长期支持。
系统依赖设计
Dockerfile 中安装的系统依赖分为以下几类:
# 基础工具
bash nano wget gnupg jq unzip file
# 浏览器环境(OpenCode 可能需要)
chromium fonts-liberation fonts-noto-cjk fonts-noto-color-emoji
# 开发工具链
git python3 python3-pip build-essential
# 文档处理
pandoc texlive-base texlive-binaries texlive-latex-base \
texlive-fonts-recommended texlive-latex-recommended \
texlive-lang-chinese texlive-latex-extra
# 网络工具
socat websockify
# 容器工具
gosu tini
# 版本控制工具
gh
# 包管理器
nix-setup-systemd
设计决策:
chromium和字体包:为 OpenCode 的浏览器相关功能提供完整渲染环境。pandoc和texlive:支持文档格式转换,满足技术文档编写需求。socat和websockify:提供网络代理和 WebSocket 支持。gosu和tini:改善容器内进程管理和信号处理。gh:集成 GitHub 工作流,便于代码仓库操作。
关键组件实现
Dockerfile 设计
FROM node:22-slim
# 环境变量配置
ENV DEBIAN_FRONTEND=noninteractive \
OPENCODE_CONFIG_DIR=/opt/opencode/config \
PATH="/root/.cargo/bin:/root/.local/bin:/root/.opencode/bin:${PATH}"
# 安装系统依赖(见上文)
RUN apt-get update && apt-get install -y ...
# 安装 chsrc(中国开发者优化)
RUN curl -LO https://gitee.com/RubyMetric/chsrc/releases/download/pre/chsrc_latest-1_amd64.deb
RUN apt install ./chsrc_latest-1_amd64.deb
RUN rm ./chsrc_latest-1_amd64.deb
# 安装 GitHub CLI
RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg \
&& chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
&& apt-get update \
&& apt-get install -y gh \
&& rm -rf /var/lib/apt/lists/*
# 安装 OpenCode
RUN mkdir -p /root/.local/share/opencode
RUN curl -fsSL https://opencode.ai/install | bash
RUN test -x /root/.opencode/bin/opencode && echo "OpenCode installed successfully" || (echo "OpenCode installation failed" && exit 1)
# 安装 x-cmd(增强命令行体验)
RUN eval "$(curl https://get.x-cmd.com)"
# 安装 Rust 工具链
RUN curl -sSf https://sh.rustup.rs --output rustup-init && \
sh rustup-init -y && \
rm rustup-init && \
rustup component add rustfmt clippy
# 创建配置目录
RUN mkdir -p ${OPENCODE_CONFIG_DIR}
# 安装其他工具
RUN curl -sSL https://git.io/JcGER | sh
# 工作目录
WORKDIR /workspace
# 配置卷
VOLUME ${OPENCODE_CONFIG_DIR}
VOLUME /workspace
VOLUME /root
# 复制配置文件
COPY .nanorc /root/.nanorc
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
RUN chmod +x /usr/local/bin/entrypoint.sh
COPY retry-exec /usr/local/bin/retry-exec
RUN chmod +x /usr/local/bin/retry-exec
# 入口点
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
关键设计点:
- 环境变量配置:
DEBIAN_FRONTEND=noninteractive避免交互式提示,OPENCODE_CONFIG_DIR统一配置目录。 - PATH 扩展:包含多个工具链路径,确保 OpenCode、Rust、Python 工具可访问。
- 安装验证:使用
test -x验证 OpenCode 安装成功,失败时立即退出。 - 卷设计:三个卷分别用于配置、工作空间和用户目录,实现数据持久化和配置分离。
entrypoint.sh 启动脚本设计
#!/bin/bash
set -e
# 更新源(后台运行,不阻塞 OpenCode)
{
chsrc set cargo
chsrc set node
chsrc set debian
} &
# 构建参数数组
args=()
# 端口配置
PORT=${OPENCODE_SERVER_PORT:-4096}
args+=("--port" "$PORT")
# 主机名配置
HOSTNAME=${OPENCODE_SERVER_HOSTNAME:-0.0.0.0}
args+=("--hostname" "$HOSTNAME")
# mDNS 配置
if [ "$OPENCODE_SERVER_MDNS" = "true" ] || [ "$OPENCODE_SERVER_MDNS" = "1" ]; then
args+=("--mdns")
if [ -n "$OPENCODE_SERVER_MDNS_DOMAIN" ]; then
args+=("--mdns-domain" "$OPENCODE_SERVER_MDNS_DOMAIN")
fi
fi
# CORS 配置
if [ -n "$OPENCODE_SERVER_CORS" ]; then
# 按逗号分割多个域名
IFS=',' read -ra cors_domains <<< "$OPENCODE_SERVER_CORS"
for domain in "${cors_domains[@]}"; do
args+=("--cors" "$domain")
done
fi
echo "Starting OpenCode web server with arguments: ${args[@]}"
exec opencode web "${args[@]}"
设计特点:
- 模块化参数构建:使用数组
args动态构建命令行参数,提高可读性和可维护性。 - 默认值处理:所有配置都有合理的默认值,降低用户配置负担。
- mDNS 支持:通过环境变量控制 mDNS 服务发现,便于局域网内访问。
- CORS 灵活配置:支持多个域名,自动分割处理。
- exec 优化:使用
exec替换当前进程,减少进程树深度。
docker-compose.yml 编排设计
services:
opencode:
image: ${DOCKER_IMAGE:-ghcr.io/haytham-ai-assistant/opencode-docker-web:latest}
container_name: opencode_web_app
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
# 项目目录(开发时热重载)
- .:/app:z
# 专用工作空间
- ./workspace:/workspace:z
# OpenCode 配置目录
- ./config:/opt/opencode/config:z
# OpenCode 设置目录
- ./opencode:/root/.local/share/opencode:z
# 只读 Git 配置(复用主机配置)
- ~/.gitconfig:/root/.gitconfig:ro
# 只读 GitHub CLI 配置
- ~/.config/gh:/root/.config/gh:ro
environment:
# API 密钥
OPENCODE_API_KEY: ${OPENCODE_API_KEY:-}
ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY:-}
OPENAI_API_KEY: ${OPENAI_API_KEY:-}
GITHUB_TOKEN: ${GITHUB_TOKEN:-}
# 网页服务器配置
OPENCODE_SERVER_USERNAME: ${OPENCODE_SERVER_USERNAME:-}
OPENCODE_SERVER_PASSWORD: ${OPENCODE_SERVER_PASSWORD:-}
OPENCODE_SERVER_PORT: ${OPENCODE_SERVER_PORT:-}
OPENCODE_SERVER_HOSTNAME: ${OPENCODE_SERVER_HOSTNAME:-}
OPENCODE_SERVER_MDNS: ${OPENCODE_SERVER_MDNS:-false}
OPENCODE_SERVER_MDNS_DOMAIN: ${OPENCODE_SERVER_MDNS_DOMAIN:-}
OPENCODE_SERVER_CORS: ${OPENCODE_SERVER_CORS:-}
working_dir: /workspace
stdin_open: true
tty: true
restart: unless-stopped
ports:
- "${OPENCODE_SERVER_HOST_PORT:-4096}:${OPENCODE_SERVER_PORT:-4096}"
编排策略:
-
卷复用设计:
./workspace:/workspace:z:持久化用户代码./config:/opt/opencode/config:z:外部化配置~/.gitconfig:/root/.gitconfig:ro:复用主机 Git 配置~/.config/gh:/root/.config/gh:ro:复用 GitHub CLI 认证
-
环境变量管理:所有配置通过环境变量传递,支持
.env文件管理。 -
端口动态映射:主机端口和容器端口都可配置,支持多实例部署。
-
重启策略:
unless-stopped确保服务异常退出后自动重启。
retry-exec 重试机制设计
#!/bin/bash
set -u
show_usage() {
echo "用法: $0 <command> [args...]"
echo "重试执行命令,最多 64 次,直到成功(退出码为 0)。"
echo "示例:"
echo " $0 curl -I https://example.com"
echo " $0 ping -c 1 8.8.8.8"
echo " $0 'some command with spaces'"
}
if [ $# -eq 0 ]; then
show_usage
exit 1
fi
attempt=1
echo "开始重试执行命令: $*"
echo "按 Ctrl+C 中断。"
while [ $attempt -le 64 ]; do
printf "尝试 #%d: " "$attempt"
if "$@"; then
echo "命令执行成功。"
exit 0
else
ret=$?
echo "命令失败,退出码: $ret"
attempt=$((attempt + 1))
sleep 1
fi
done
echo "已达到最大重试次数 (64),命令最终失败。"
exit $ret
设计思想:
- 通用重试逻辑:适用于任何命令,提高网络不稳定环境下的可靠性。
- 进度反馈:每次尝试都显示进度和退出码,增强可观测性。
- 延迟机制:失败后等待 1 秒,避免高频重试导致的资源浪费。
- 使用安全:
set -u防止未定义变量,提供清晰的用法说明。
Makefile 简化设计
# Docker 命令
# 设置默认 shell 为 bash,兼容 Windows(msys2 和 WSLD)
# 主要目标
.PHONY: up down exec
up:
docker compose up -d
down:
docker compose down
exec:
docker compose exec opencode bash
设计理念:
- 极简抽象:仅封装最常用的三个操作,避免过度抽象。
- 一致性:所有命令都代理到
docker compose,保持行为一致。 - 可扩展:用户可轻松添加自己的目标。
配置系统设计
环境变量层次结构
|-- API 密钥 (敏感信息)
| |-- OPENCODE_API_KEY
| |-- ANTHROPIC_API_KEY
| |-- OPENAI_API_KEY
|
|-- 服务器配置
| |-- OPENCODE_SERVER_USERNAME
| |-- OPENCODE_SERVER_PASSWORD
| |-- OPENCODE_SERVER_PORT
| |-- OPENCODE_SERVER_HOST_PORT
| |-- OPENCODE_SERVER_HOSTNAME
| |-- OPENCODE_SERVER_MDNS
| |-- OPENCODE_SERVER_MDNS_DOMAIN
| |-- OPENCODE_SERVER_CORS
|
|-- Docker 镜像配置
|-- DOCKER_IMAGE
设计原则:
- 分离关注点:API 密钥、服务器配置、Docker 配置分离。
- 默认值机制:所有变量都有合理默认值或空值处理。
- 安全处理:密码等敏感信息通过环境变量传递,避免硬编码。
配置文件管理
配置文件通过卷挂载实现外部化管理:
- 主机路径:
./config/ - 容器路径:
/opt/opencode/config - 文件示例:
opencode.yaml、.opencoderc、settings.json
优势:
- 版本控制:配置文件可纳入 Git 管理。
- 热更新:修改配置文件后重启容器即可生效。
- 环境差异:不同环境可使用不同配置文件。
构建和打包流程
本地构建
# 克隆项目
git clone <repository-url>
cd opencode-docker-web
# 构建镜像
docker build -t opencode-env .
# 测试运行
docker run -it --rm opencode-env opencode --version
自动化构建(GitHub Actions)
name: Build and Push Docker Image to GHCR
on:
workflow_dispatch:
inputs:
tag:
description: "Docker image tag (default: latest)"
required: false
default: "latest"
push_latest:
description: "Push as latest tag"
required: false
default: true
type: boolean
push:
branches: ["master"]
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
jobs:
build-and-push:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Determine tags
id: tags
run: |
# 如果是 workflow_dispatch 事件,使用 inputs.tag,否则使用 'latest'
if [[ -n "${{ github.event.inputs.tag }}" ]]; then
TAG="${{ github.event.inputs.tag }}"
else
TAG="latest"
fi
TAGS="${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${TAG}"
# 如果是 workflow_dispatch 事件,检查 push_latest 输入
if [[ -n "${{ github.event.inputs.push_latest }}" ]]; then
PUSH_LATEST="${{ github.event.inputs.push_latest }}"
else
# 对于 push 事件,默认推送 latest 标签
PUSH_LATEST="true"
fi
if [[ "${PUSH_LATEST}" == "true" ]] && [[ "${TAG}" != "latest" ]]; then
TAGS="${TAGS},${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest"
fi
echo "tags=${TAGS}" >> $GITHUB_OUTPUT
- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
context: .
file: ./Dockerfile
push: true
tags: ${{ steps.tags.outputs.tags }}
cache-from: type=gha
cache-to: type=gha,mode=max
自动化策略:
- 多触发器:支持代码推送和手动触发。
- 标签管理:灵活处理镜像标签,支持同时推送多个标签。
- 缓存优化:使用 GitHub Actions 缓存加速构建。
扩展与定制设计
添加新工具
在 Dockerfile 的 RUN apt-get install 部分添加软件包:
# 示例:添加 PostgreSQL 客户端
RUN apt-get update && apt-get install -y postgresql-client
修改配置默认值
修改 entrypoint.sh 中的默认值:
# 修改默认端口
PORT=${OPENCODE_SERVER_PORT:-8080}
# 修改默认主机名
HOSTNAME=${OPENCODE_SERVER_HOSTNAME:-127.0.0.1}
调整资源限制
在 docker-compose.yml 中添加资源限制:
deploy:
resources:
limits:
cpus: "2"
memory: 4G
reservations:
cpus: "1"
memory: 2G
项目结构复现指南
根据本文档设计,从零开始复现 opencode-docker-web 项目的完整步骤:
- 创建项目结构
mkdir opencode-docker-web
cd opencode-docker-web
# 创建核心文件
touch Dockerfile docker-compose.yml entrypoint.sh retry-exec Makefile README.md .env.example
# 创建目录
mkdir -p config .github/workflows
touch config/.gitkeep
# 创建配置文件
touch .dockerignore .gitignore .nanorc
-
实现 Dockerfile(内容见上文)
-
实现 docker-compose.yml(内容见上文)
-
实现 entrypoint.sh(内容见上文)
-
实现 retry-exec(内容见上文)
-
实现其他配置文件
-
构建和测试
# 构建镜像
docker build -t opencode-env .
# 验证镜像
docker run -it --rm opencode-env opencode --version
# 测试完整功能
docker compose up -d
docker compose logs opencode
设计总结
opencode-docker-web 项目的设计体现了以下工程实践:
- 容器化最佳实践:最小镜像、分层构建、数据卷分离。
- 配置外部化:环境变量 + 配置文件,支持多环境部署。
- 自动化优先:GitHub Actions 自动化构建和部署。
- 用户友好:提供 Makefile 简化操作,详细的错误处理。
- 安全合规:敏感信息隔离,认证机制完善。
MCP 工具聚合平台
调研后采用 MCPHub。
各项配置详见文档。
模型 API 聚合平台
调研后采用 GPT-Load。
各项配置详见文档。
聚合元搜索引擎
采用 SearXNG。
网页内容获取格式化工具
采用 Fetcher MCP。
智能体的部署
部署辅助终端智能体(可选)
可选:安装并登录配置 qwen-code,当出现问题时可执行 qwen 命令启动命令行智能体辅助排障。
创建服务账号
为智能体创建 GitHub 账号,之后智能体的授权和 GitHub 操作都由智能体在此账号上发出。
初始化软件环境
安装 docker、git 和 github-cli。
运行 gh auth login,在其提供的网页地址内使用智能体的 GitHub 账号为其授权。
初始化项目目录
若所有智能体部署相关文件都计划存放在 $HOME/.local/bin/ 目录下。
执行:
mkdir -p $HOME/.local/bin/{caddy,gpt-load,fetcher-mcp,mcphub,opencode-docker-web,searxng}
写入部署计划自述
编辑 $HOME/.local/bin/README,写入:
# 各服务说明
- Caddy(占用 `80`、`443` 端口):
把访问服务器的流量路由至对应服务;
实现对域名的免费自动 SSL 签名和续签。
- OpenCode(占用 `25600` 端口):
多智能体并行驱动的智能体系统。
用户名:(用户名)
密码:(密码)
- MCP Hub(占用 `25601` 端口):
MCP 服务聚合网关。
用户名:(用户名)
密码:(密码)
- GPT Load(占用 `25602` 端口):
大模型 API 聚合透明路由。
密钥:(鉴权密钥)
- SearXNG(占用 `25603` 端口):
聚合元搜索引擎。
已设置优先使用国内搜索引擎信息源,关闭国外搜索引擎。
- Fetcher MCP(占用 `25604` 端口):
先进网页内容获取格式化工具。
## 已弃用
- ~~OpenWebUI~~(占用 `25600` 端口):
智能体网页客户端。
淘汰原因:不稳定,错误处理一坨,错误信息可读性差,无法 debug。
电子邮箱:(电子邮箱)
用户名:(用户名)
密码:(密码)
- ~~Lobe Hub~~(占用 `25600`、`25603` 端口):
重型智能体网页客户端。
淘汰原因:太耗资源,部署维护困难。
- ~~Libre Chat~~(占用 `25600` 端口):
企业级开源智能体网页客户端。
淘汰原因:依赖过多,资源占用过多。
- ~~OpenClaw~~(占用 `18789`、`18790` 端口):
多子智能体规划驱动的智能体。
淘汰原因:理念先进,但代码是玩具等级的实现。
部署各项服务容器
聚合元搜索引擎
在 $HOME/.local/bin/searxng/ 下编写容器文件 docker-compose.yml:
services:
# caddy:
# container_name: caddy
# image: docker.io/library/caddy:2-alpine
# network_mode: host
# restart: unless-stopped
# volumes:
# - ./Caddyfile:/etc/caddy/Caddyfile:ro
# - caddy-data:/data:rw
# - caddy-config:/config:rw
# environment:
# - SEARXNG_HOSTNAME=${SEARXNG_HOSTNAME:-http://localhost}
# - SEARXNG_TLS=${LETSENCRYPT_EMAIL:-internal}
# logging:
# driver: "json-file"
# options:
# max-size: "1m"
# max-file: "1"
# redis:
# container_name: redis
# image: docker.io/valkey/valkey:8-alpine
# command: valkey-server --save 30 1 --loglevel warning
# restart: unless-stopped
# networks:
# - searxng
# volumes:
# - valkey-data2:/data
# logging:
# driver: "json-file"
# options:
# max-size: "1m"
# max-file: "1"
searxng:
container_name: searxng
image: docker.io/searxng/searxng:latest
restart: always
networks:
- searxng
ports:
- "127.0.0.1:25603:8080"
volumes:
- ./searxng:/etc/searxng:rw
- searxng-data:/var/cache/searxng:rw
environment:
- SEARXNG_BASE_URL=https://${SEARXNG_HOSTNAME:-localhost}/
logging:
driver: "json-file"
options:
max-size: "1m"
max-file: "1"
networks:
searxng:
volumes:
# caddy-data:
# caddy-config:
# valkey-data2:
searxng-data:
创建配置文件,执行:
mkdir $HOME/.local/bin/searxng/searxng
touch $HOME/.local/bin/searxng/searxng/{limiter.toml,settings.yml,uwsgi.ini}
在 limiter.toml,写入:
# This configuration file updates the default configuration file
# See https://github.com/searxng/searxng/blob/master/searx/limiter.toml
[botdetection.ip_limit]
# activate link_token method in the ip_limit method
link_token = true
在 settings.yml,写入:
# see https://docs.searxng.org/admin/settings/settings.html#settings-use-default-settings
use_default_settings: true
engines:
- name: bing
disabled: false
- name: 360search
disabled: true
- name: baidu
disabled: true
- name: sogou
disabled: true
- name: brave
disabled: true
- name: duckduckgo
disabled: true
- name: google
disabled: true
- name: qwant
disabled: true
- name: startpage
disabled: true
- name: wikidata
disabled: true
- name: wikipedia
disabled: true
general:
instance_name: "My SearXNG"
server:
# base_url is defined in the SEARXNG_BASE_URL environment variable, see .env and docker-compose.yml
secret_key: "(此处需更改)" # change this!
limiter: false # can be disabled for a private instance
image_proxy: false
search:
autocomplete: baidu
formats:
- json
- html
ui:
static_use_hash: true
results_on_new_tab: true
infinite_scroll: true
query_in_title: true
redis:
url: false
更改 secret_key 字段。
在 uwsgi.ini,写入:
[uwsgi]
# Who will run the code
uid = searxng
gid = searxng
# Number of workers (usually CPU count)
# default value: %k (= number of CPU core, see Dockerfile)
workers = 4
# Number of threads per worker
# default value: 4 (see Dockerfile)
threads = 4
# The right granted on the created socket
chmod-socket = 666
# Plugin to use and interpreter config
single-interpreter = true
master = true
plugin = python3
lazy-apps = true
enable-threads = 4
# Module to import
module = searx.webapp
# Virtualenv and python path
pythonpath = /usr/local/searxng/
chdir = /usr/local/searxng/searx/
# automatically set processes name to something meaningful
auto-procname = true
# Disable request logging for privacy
disable-logging = true
log-5xx = true
# Set the max size of a request (request-body excluded)
buffer-size = 8192
# No keep alive
# See https://github.com/searx/searx-docker/issues/24
add-header = Connection: close
# Follow SIGTERM convention
# See https://github.com/searxng/searxng/issues/3427
die-on-term
# uwsgi serves the static files
static-map = /static=/usr/local/searxng/searx/static
static-gzip-all = True
offload-threads = 4
在该服务的目录下启动容器,执行:docker compose up -d。
执行 ssh -f -N -L 25603:127.0.0.1:25603 (用户名)@(主机名) 将服务器的端口映射到本地。
用浏览器访问 http://127.0.0.1:25603,检查服务功能是否正常。
网页内容获取格式化工具
在 $HOME/.local/bin/fetcher-mcp/ 下编写容器文件 docker-compose.yml:
services:
fetcher-mcp:
image: ghcr.io/jae-jae/fetcher-mcp:latest
container_name: fetcher-mcp
restart: unless-stopped
deploy:
resources:
limits:
cpus: "0.10"
memory: 1024M
ports:
- "25604:3000"
environment:
- NODE_ENV=production
# Using host network mode on Linux hosts can improve browser access efficiency
# network_mode: "host"
volumes:
# For Playwright, may need to share certain system paths
- /tmp:/tmp
# Health check
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:3000"]
interval: 30s
timeout: 10s
retries: 3
在该服务的目录下启动容器,执行:docker compose up -d。
MCP 工具聚合平台
在 $HOME/.local/bin/mcphub/ 下编写配置文件 mcp_settings.json:
{
"mcpServers": {
"fetch": {
"command": "uvx",
"args": ["mcp-server-fetch"],
"prompts": {
"fetch-fetch": {
"enabled": true,
"description": "Fetch a URL and extract its contents as markdown (Should only use when fetcher-fetch_url(s) is not working)"
}
}
},
"searxng-search": {
"command": "npx",
"args": ["-y", "searxng-mul-mcp"],
"env": {
"SEARXNG_URL": "http://172.17.0.1:25603"
},
"type": "stdio",
"owner": "admin",
"enabled": true,
"options": {
"timeout": 256000
}
},
"arxiv-paper": {
"enabled": true,
"owner": "admin",
"type": "stdio",
"command": "npx",
"args": ["-y", "@langgpt/arxiv-paper-mcp@latest"],
"tools": {
"arxiv-paper-mcp-get_recent_ai_papers": {
"enabled": false
},
"arxiv-paper-get_recent_ai_papers": {
"enabled": false
}
}
},
"fetcher": {
"enabled": true,
"owner": "admin",
"type": "streamable-http",
"url": "http://172.17.0.1:25604/mcp",
"options": {
"timeout": 256000,
"resetTimeoutOnProgress": true
},
"enableKeepAlive": false,
"tools": {
"fetcher-browser_install": {
"enabled": false
},
"fetcher-fetch_url": {
"enabled": true,
"description": "Retrieve web page content from a specified URL (Use fetch-fetch if this is not working)"
},
"fetcher-fetch_urls": {
"enabled": true,
"description": "Retrieve web page content from multiple specified URLs (Use fetch-fetch if this is not working)"
}
}
},
"context7": {
"enabled": false,
"owner": "admin",
"command": "npx",
"args": ["-y", "@upstash/context7-mcp@latest"],
"env": {}
}
}
}
在 $HOME/.local/bin/mcphub/ 下编写容器文件 docker-compose.yml:
services:
mcphub:
image: samanhappy/mcphub:latest
ports:
- "25601:3000"
volumes:
- ./mcp_settings.json:/app/mcp_settings.json
environment:
- PORT=3000
- REQUEST_TIMEOUT=60000
restart: always
deploy:
resources:
limits:
cpus: "0.20"
memory: 1024M
# 可选:用于智能路由的 PostgreSQL
# postgres:
# image: pgvector/pgvector:pg16
# environment:
# POSTGRES_DB: mcphub
# POSTGRES_USER: mcphub
# POSTGRES_PASSWORD: passwd
# volumes:
# - postgres_data:/var/lib/postgresql/data
# ports:
# - "5432:5432"
volumes:
postgres_data:
在该服务的目录下启动容器,执行:docker compose up -d。
执行 ssh -f -N -L 25601:127.0.0.1:25601 (用户名)@(主机名) 将服务器的端口映射到本地。
用浏览器访问 http://127.0.0.1:25601,初始化管理账户,检查服务功能是否正常。
模型 API 聚合平台(可选)
在 $HOME/.local/bin/gpt-load/ 下编写容器文件 docker-compose.yml:
services:
gpt-load:
image: ghcr.io/tbphp/gpt-load:latest
# build:
# context: .
# dockerfile: Dockerfile
container_name: gpt-load
ports:
- "${PORT:-25602}:${PORT:-3001}"
env_file:
- .env
restart: always
volumes:
- ./data:/app/data
stop_grace_period: ${SERVER_GRACEFUL_SHUTDOWN_TIMEOUT:-10}s
healthcheck:
test: wget -q --spider -T 10 -O /dev/null http://localhost:${PORT:-3001}/health
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
# depends_on:
# mysql:
# condition: service_healthy
# restart: true
# postgres:
# condition: service_healthy
# restart: true
# redis:
# condition: service_healthy
# restart: true
# 如果需要安装 MySQL、PostgreSQL 或 Redis,请取消以下注释并配置相应的环境变量。
# 并且要在上方的 depends_on 中取消注释相应的依赖服务。
# mysql:
# image: mysql:8.2
# container_name: gpt-load-mysql
# restart: always
# environment:
# MYSQL_ROOT_PASSWORD: 123456
# MYSQL_DATABASE: gpt-load
# volumes:
# - ./data/mysql:/var/lib/mysql
# healthcheck:
# test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
# interval: 5s
# timeout: 5s
# retries: 10
# postgres:
# image: "postgres:16"
# container_name: gpt-load-postgres
# environment:
# POSTGRES_USER: postgres
# POSTGRES_PASSWORD: 123456
# POSTGRES_DB: gpt-load
# volumes:
# - ./data/postgres:/var/lib/postgresql/data
# healthcheck:
# test: ["CMD-SHELL", "pg_isready -U postgres -d gpt-load"]
# interval: 5s
# timeout: 5s
# retries: 10
# redis:
# image: redis:latest
# container_name: gpt-load-redis
# restart: always
# healthcheck:
# test: ["CMD", "redis-cli", "ping"]
# interval: 5s
# timeout: 3s
# retries: 3
在该服务的目录下启动容器,执行:docker compose up -d。
执行 ssh -f -N -L 25602:127.0.0.1:25602 (用户名)@(主机名) 将服务器的端口映射到本地。
用浏览器访问 http://127.0.0.1:25602,初始化账户,配置模型 API 路由,检查服务功能是否正常。
智能体核心
拉取并初始化必要文件
在 $HOME/.local/bin/opencode-docker-web/ 下,执行:
wget -c 'https://github.com/haytham-ai-assistant/opencode-docker-web/raw/refs/heads/master/docker-compose.yml' && \
wget -c 'https://github.com/haytham-ai-assistant/opencode-docker-web/raw/refs/heads/master/.env.example' && \
cp .env.example .env && \
mkdir {config,opencode,workspace}
编辑 .env 配置必要的鉴权,智能体的 GitHub 账号的访问令牌等信息。
在该服务的目录下启动容器,执行:docker compose up -d。
执行 ssh -f -N -L 25600:127.0.0.1:25600 (用户名)@(主机名) 将服务器的端口映射到本地。
用浏览器访问 http://127.0.0.1:25600,检查服务功能是否正常。
总路由
在 $HOME/.local/bin/caddy/ 下编写容器文件 docker-compose.yml:
services:
caddy:
image: caddy:latest
container_name: caddy-reverse-proxy
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- ./www:/var/www/static
- caddy_data:/data
- caddy_config:/config
networks:
- caddy-network
# 资源限制,防止占用过多服务器资源
deploy:
resources:
limits:
cpus: "0.5" # 最多使用 0.5 个 CPU 核心
memory: 256M # 最大内存限制为 256MB
reservations:
cpus: "0.1" # 预留 0.1 个 CPU 核心
memory: 64M # 预留 64MB 内存
# 健康检查,确保服务正常运行
healthcheck:
test: ["CMD", "caddy", "validate", "--config", "/etc/caddy/Caddyfile"]
interval: 30s
timeout: 5s
retries: 3
start_period: 10s
# Docker 日志限制,防止日志文件过大
logging:
driver: "json-file"
options:
max-size: "10m" # 单个日志文件最大 10MB
max-file: "3" # 最多保留 3 个日志文件
networks:
caddy-network:
driver: bridge
volumes:
caddy_data:
caddy_config:
编写 Caddyfile:
域.名 {
handle {
reverse_proxy * 172.17.0.1:25600
}
# 只记录错误级别日志
log {
output stdout
level ERROR
format json
}
# 禁用访问日志
log / {
output discard
}
}
在该服务的目录下启动容器,执行:docker compose up -d。
用浏览器访问 http://(主机名),检查服务功能是否正常。
智能体的配置
当今智能体较强,可一定程度上自行配置自己。
安装 Oh My OpenCode 插件
对智能体说:
根据下述指南安装并配置插件:
https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/refs/heads/dev/docs/guide/installation.md
接入聚合 MCP 服务
对智能体说:
根据 OpenCode 的[文档](https://opencode.ai/docs/zh-cn/mcp-servers),在你的配置文件配置 MCP:
地址:`http://172.17.0.1:25601/mcp`
密钥:`(密钥内容)`
配置大模型 API
对智能体说:
根据 OpenCode 的[文档](https://opencode.ai/docs/zh-cn),在你的配置文件配置大模型 API:
地址:`http://172.17.0.1:25602/proxy/agents`
格式:`openai-compatible`
密钥:`(密钥内容)`
可用模型:`(可用模型的 ID)`
如果已安装了 Oh My OpenCode,根据模型性能分配 Oh My OpenCode 的子智能体所用模型。
智能体技能
对智能体说:
根据 OpenCode 的[文档](https://opencode.ai/docs/zh-cn),在你的总配置文件配置以下智能体技能:
`https://github.com/obra/superpowers`、`https://skills.sh/vercel-labs/skills/find-skills`。
智能体的维护
模型身份主仓库
在智能体的 GitHub 上创建与其 GitHub 账号用户名相同名称的仓库,如 username/username。
最高指示提示词
在该仓库初始化 AGENTS.md,在其中详细描述并约束:
- 语言与身份:强制使用中文回答,明确定义为其身份(GitHub 账号
username)。 - 自主性:用户无法手动干预,所有问题(如 Git 提交失败)必须自行解决并完成。
- 记忆管理:任务前后必须检索并更新
memory技能中的历史记录。 - 意图判断:必须明确复述用户意图(查询或任务),并按不同流程处理:
- 查询意图:优先在本文档中检索。
- 任务意图:在无头服务器环境中自动管理,遵循 Fork 至分支至合并请求的工作流程,不得直接克隆上游仓库。
- 操作规范:Git 操作需重试或配置镜像源;高危操作前需用户批准;每个临时任务需创建独立文件夹并在完成后清理。
记忆技能
在该仓库创建 .agents/skills/memory/SKILLS.md,定义记忆结构和内容。
数据同步
命令智能体将该仓库克隆至智能体容器的 /workspace/.username。
将 /workspace/.username/AGENTS.md 和 /workspace/.username/.agents/skills 符号链接至 OpenCode 配置文件目录。
将 /workspace/.username/.agents 符号链接至每个智能体角色工作区目录。
工作区分配
为每一个智能体角色分配一个工作区,如:
/workspace/问答、/workspace/运维、/workspace/编程。
为防止文件读写冲突,每个工作区内由智能体自行创建任务文件夹,如:
/workspace/编程/定时任务项目、/workspace/编程/文档维护项目。
智能体相关代办
优先级从高到低:
- 智能体整体的速度优化
- 经调查,目前国内所有主流大模型 API 都负载较高,速度慢且限购,速度快、性价比高的是阿里云的 Coding Plan 套餐, 其提供千问系列模型和部分非千问模型。千问 3.5 系列模型支持多模态,但能力较弱,建议仅在子智能体角色上使用; 其中非千问模型都是阉割版本,不建议使用。
- 当前 OpenCode 采用 Oh My OpenCode 多智能体编排插件,这个插件过于繁杂,占用太多上下文,会拖慢智能体推理速度, 建议移除该插件并添加 Oh My OpenCode Slim 插件作替代。 需重新配置新插件各子智能体角色所用模型,并更新配置文档。
- 当前智能体耗费大量时间在任务前文档检索上。
项目
https://github.com/hsingjui/ContextWeaver声称能做到文档和代码的快速语义召回。 可设法在 OpenCode 容器内配置。 - 项目
https://github.com/rtk-ai/rtk声称可为智能体节省大量上下文,可设法在 OpenCode 容器内配置。
在线文档维护
本章节记录本在线文档仓库的维护流程。
软件环境初始化
可选在线维护和本地维护两种方式。
在线维护仅需网页环境即可修改维护,但对 Git 提交(Commit)的修改和文档的测试需依赖仓库持续集成。
本地维护需安装并配置多个软件并拉取仓库到本地,对 Git 提交(Commit)的修改和文档测试更友好。
在线维护
仓库配置
点击我以复刻(Fork)本仓库,选择“Create fork”按钮。
您应看到在您的命名空间中的仓库如 your-user-name/public-docs,其中 your-user-name 为您的 GitHub 用户名。
地址似 https://github.com/your-user-name/public-docs。
下文称做“您的仓库”。
接下来请配置自动测试工作流。
本地维护
软件安装
开始在本地维护前,请确保已安装以下软件:
-
Git:
确保运行
git --version命令无报错。 -
mdBook,选择版本:{{ mdbook-version }}:
- 使用包管理器安装,如执行
pamac install mdbook。 - 对应操作系统下载后解压出可执行文件并放到环境变量包含的目录中。
确保运行
mdbook --version命令无报错。 - 使用包管理器安装,如执行
-
AutoCorrect(可选):
- 使用包管理器安装,如执行
pamac install autocorrect-bin。 - 对应操作系统下载后解压出可执行文件并放到环境变量包含的目录中。
确保运行
autocorrect --version命令无报错。 - 使用包管理器安装,如执行
仓库配置
点击我以复刻(Fork)本仓库,选择“Create fork”按钮。
您应看到在您的命名空间中的仓库如 your-user-name/public-docs,其中 your-user-name 为您的 GitHub 用户名。
地址似 https://github.com/your-user-name/public-docs。
下文称做“您的仓库”。
接下来请配置自动测试工作流。
自动测试工作流
下文中“您的仓库”指的是您复刻(Fork)的仓库;
如 your-user-name/public-docs,其中 your-user-name 为您的 GitHub 用户名。
- 在您的仓库的主页面(
Code页面)中,点击顶栏的Settings,然后点击左侧的Actions,选择General, 确保Actions permissions设置为Allow all actions and reusable workflows; 确保Workflow permissions设置为Read and write permissions。 - 在您的仓库的主页面(
Code页面)中,点击顶栏的Actions, 点击页面中部的确认I understand my workflows, go ahead and enable them。 - 点击顶栏的
Settings,然后点击左侧的Pages。 设置Build and deployment下的Source为GitHub Actions。
文档的编写
启动编辑器
如果您在软件环境初始化时配置了:
在线编辑器
在您的仓库的主页面(Code 页面)中,按下键盘上的句号键 .,
或访问 https://github.dev/your-user-name/public-docs 启动网页编辑器进行编辑。
拉取仓库并本地编辑
在终端模拟器或命令行执行:
git clone https://github.com/your-user-name/public-docs.git
即可拉取仓库到本地目录 public-docs。
在该目录下启动您喜好的编辑器(如 VSCode),就可开始编写文档了。
目录结构示例
src/
├── index.md # 文档首页
├── SUMMARY.md # 目录配置文件
├── products/ # 产品类
│ ├── index.md
│ ├── videoextensometer/ # 视频引伸计类
│ │ ├── index.md
│ │ └── ...
│ └── visualstraingauge/ # DIC 系统类
│ ├── index.md
│ └── DIC_Tracker_ONS-B-10/
│ ├── v0.5.1/ # 版本
│ │ ├── index.md
│ │ └── ...
│ └── v0.5.0/
│ ├── index.md
│ └── ...
├── ...
└── doc-maintain/ # 文档维护(当前目录)
├── index.md # 文档维护首页(章节描述)
├── env-init.md
├── doc-write.md # 文档的编写(当前页面)
└── doc-format.md
须知
src/SUMMARY.md文件为目录结构,请勿删除。- 所有的文档名称、相对文件路径和层级关系必须在
src/SUMMARY.md文件中定义,否则无法在在线文档中显示。- 名称保持与文章大标题一致。
- 层级关系和目录层级保持一致。
- 为防止自动化脚本解析出错,所有目录(文件夹)名称仅能由英文字母、下划线、减号、点和数字组成,且不能以下划线、减号、点或数字开头。
文档的格式
本在线文档使用 mdBook 构建,可在 mdBook 文档 - 格式查看详细信息。

