从零搭建WebGoat靶场:Docker部署与Web安全实战指南

发布时间:2026/8/26 18:49:08

从零搭建WebGoat靶场:Docker部署与Web安全实战指南
1. 项目概述为什么我们需要一个自己的WebGoat靶场如果你正在学习网络安全尤其是Web应用安全那么“靶场”这个词对你来说一定不陌生。它就像是一个虚拟的“射击场”只不过你瞄准的不是靶子而是各种精心设计、存在已知漏洞的Web应用。在这里你可以安全地、合法地练习各种攻击技术从基础的SQL注入、跨站脚本XSS到复杂的业务逻辑漏洞、API安全测试而不用担心触犯法律或造成实际损害。在众多靶场中WebGoat无疑是一个经典且强大的存在。它由OWASP开放Web应用安全项目维护专门设计用于教学涵盖了从入门到高级的数十种Web安全漏洞场景。那么为什么还要专门写一篇“从入门到精通”的搭建指南呢原因很简单知其然更要知其所以然。很多新手会直接下载一个打包好的虚拟机镜像或者跟着教程一键运行却对背后的环境依赖、配置原理、网络结构一头雾水。当遇到“容器启动失败”、“端口被占用”、“数据库连接不上”这些问题时往往束手无策。搭建过程本身就是一次绝佳的学习机会。你会接触到Java环境配置、容器化技术如Docker、网络端口映射、服务依赖管理等基础知识这些正是安全工程师日常工作中必须掌握的技能。通过亲手从零搭建WebGoat你不仅能获得一个随时可用的练习环境更能深刻理解一个Web应用是如何被部署和运行的这对于后续的漏洞分析和利用至关重要。本文的目标读者是那些希望扎实入门Web安全不满足于“照葫芦画瓢”想要掌控整个学习环境的安全爱好者、在校学生或初级安全工程师。2. 环境准备与核心工具选型解析在开始动手之前我们需要一个清晰的环境蓝图。WebGoat本质上是一个基于Java的Web应用程序因此它的运行离不开Java环境。随着技术的发展部署方式也从传统的直接运行Jar包演进到更便捷的容器化部署。这里我将对比几种主流方案并解释为什么我推荐当前的最佳实践。2.1 操作系统与基础环境选择首先你需要一台机器。对于安全学习而言Kali Linux是一个被广泛使用的选择因为它预装了海量的安全工具。但我要强调的是WebGoat的搭建对操作系统没有强依赖。你完全可以在Windows 10/11、macOS或者任何你熟悉的Linux发行版如Ubuntu, CentOS上完成。选择你用得最顺手的系统即可这样可以避免在环境问题上耗费过多精力。关键在于后续的Java环境。WebGoat 8.x版本通常要求Java 8或Java 11。更高版本的Java可能会遇到兼容性问题。我的建议是统一使用Java 11它在性能和兼容性上取得了很好的平衡也是目前许多企业级应用的主流选择。注意切勿在系统中安装多个主要版本的Java如同时装Java 8和Java 17这会导致环境变量混乱引发各种“命令找不到”或“版本不匹配”的错误。如果之前安装过其他版本建议先彻底卸载。2.2 部署方案对比传统Jar包 vs. 容器化Docker这是搭建路上第一个关键决策点。方案一直接运行Jar包这是最“原始”的方式。你需要从OWASP的GitHub仓库下载一个独立的、名为webgoat-server-8.x.x.jar的文件。然后通过命令行java -jar webgoat-server-8.x.x.jar来启动它。优点过程透明直接与Java进程交互适合深入学习Java应用启动参数和调试。缺点需要手动管理Java版本确保完全匹配。需要处理端口冲突默认8080端口可能被占用。如果靶场需要数据库如WebGoat内置的H2你需要额外确保数据库连接配置正确。不便于环境隔离和清理。方案二使用Docker容器部署这是目前最推荐、最主流的方案。Docker可以把WebGoat应用及其所有依赖特定版本的Java、运行时库、甚至内嵌的数据库打包成一个独立的“镜像”。你只需要一条命令就能在任何安装了Docker的系统中拉取并运行这个镜像生成一个隔离的“容器”。优点环境隔离容器内的环境是独立的不会污染宿主机也不会受宿主机已有软件的影响。一键部署简化了安装和配置过程几乎不会遇到依赖问题。一致性在任何地方运行的都是完全相同的环境避免了“在我机器上好好的”这类问题。易于管理启动、停止、删除容器非常方便学习结束后可以轻松清理。缺点需要先学习Docker的基本概念和命令对于纯新手有一点点入门门槛。我的选择与理由除非你有特殊的调试或学习Java部署的需求否则无脑选择Docker方案。它极大地降低了搭建复杂度让你能更专注于安全技术本身的学习。接下来我们的教程也将以Docker方案为主线展开。2.3 工具清单与安装要点无论你选择哪种系统请确保准备好以下工具Docker Docker Compose这是容器化方案的基石。Windows/macOS直接安装 Docker Desktop 它包含了Docker引擎和Docker Compose。安装过程基本是“下一步”到底。Linux (如Ubuntu)需要通过包管理器安装。以Ubuntu为例命令序列如下# 更新软件包索引 sudo apt-get update # 安装依赖包允许apt通过HTTPS使用仓库 sudo apt-get install ca-certificates curl gnupg # 添加Docker官方GPG密钥 sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod ar /etc/apt/keyrings/docker.gpg # 设置稳定版仓库 echo deb [arch$(dpkg --print-architecture) signed-by/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable | sudo tee /etc/apt/sources.list.d/docker.list /dev/null # 安装Docker引擎 sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin # 验证安装运行hello-world镜像 sudo docker run hello-world安装后验证打开终端或命令提示符/PowerShell输入docker --version和docker compose version能显示版本号即说明安装成功。一个趁手的终端/命令行工具Windows用户建议使用Windows Terminal或Git Bash体验远好于默认的CMD。macOS和Linux用户直接用系统自带的终端即可。浏览器推荐使用Chrome或Firefox并提前安装好开发者工具F12。这是你查看网络请求、调试JavaScript、分析页面结构的核心工具在完成WebGoat课程时将频繁使用。3. 实战使用Docker一键部署WebGoat靶场理论准备就绪现在我们进入实战环节。用Docker部署WebGoat简单到超乎你的想象。3.1 获取WebGoat官方Docker镜像OWASP官方已经将WebGoat制作成了Docker镜像并发布到了Docker Hub公共仓库。我们只需要将其“拉取”到本地。打开你的终端执行以下命令docker pull webgoat/webgoat-8.0这条命令的含义是让Docker引擎去Docker Hub上寻找名为webgoat/webgoat-8.0的镜像并下载到本地。webgoat是发布者的名称命名空间。webgoat-8.0是镜像的名称和标签代表WebGoat的8.0版本。执行后终端会显示下载进度。这是一个几百MB的镜像下载速度取决于你的网络。完成后你可以输入docker images命令来查看本地已有的镜像列表中应该能看到webgoat/webgoat-8.0。实操心得有时拉取镜像会很慢或失败这通常是网络问题。可以尝试配置Docker国内镜像加速器。例如在Docker Desktop的设置中找到Docker Engine在配置JSON文件中添加registry-mirrors: [https://registry.docker-cn.com, https://mirror.ccs.tencentyun.com]等国内镜像地址保存并重启Docker。3.2 运行WebGoat容器镜像下载好后它只是一个静态的模板。我们需要基于这个模板创建并启动一个活的“容器”实例。运行以下命令docker run -d -p 8080:8080 -p 9090:9090 --name my-webgoat webgoat/webgoat-8.0这条命令拆解开来每个参数都很关键docker run告诉Docker要创建并运行一个新容器。-d代表“detached”让容器在后台运行。这样你启动后终端不会被占用可以继续输入其他命令。-p 8080:8080这是端口映射是核心概念。格式是-p 宿主机端口:容器内部端口。这里的意思是将容器内部的8080端口映射到你电脑宿主机的8080端口。WebGoat的应用服务默认就在容器内的8080端口监听。-p 9090:9090同理映射容器内的9090端口到宿主机的9090端口。WebGoat 8.x版本通常将WebWolf一个辅助学习工具用于演示客户端攻击运行在9090端口。--name my-webgoat给这个容器起一个名字方便后续管理。这里我命名为my-webgoat你可以改成任何你喜欢的名字。webgoat/webgoat-8.0指定基于哪个镜像来创建容器。执行命令后它会输出一长串容器ID表示容器已启动。你可以用docker ps命令查看正在运行的容器应该能看到my-webgoat的状态是 “Up”。3.3 验证与首次访问现在打开你的浏览器在地址栏输入http://localhost:8080/WebGoat。如果一切顺利你将看到WebGoat的登录/注册页面。首次使用你需要点击“Register a new user”来创建一个账户。这个过程很简单填写用户名、密码即可。注册成功后用这个账户登录你就正式进入了WebGoat的学习主界面。同时你也可以访问http://localhost:9090/WebWolf来打开WebWolf工具用同样的账户登录。在后续一些涉及邮件接收、文件上传的课程里你会用到它。重要提示localhost代表你的本地计算机。如果你是在虚拟机如VMware中的Kali里运行Docker那么应该在虚拟机的浏览器里访问。如果你是在Windows/macOS主机上运行Docker Desktop那么就在主机的浏览器里访问。如果无法访问请首先检查容器是否正常运行docker ps然后检查防火墙是否阻止了8080和9090端口。4. 深入配置与管理让靶场更贴合你的需求基础搭建完成但作为一个希望“精通”的玩家我们还得知道如何驾驭这个环境进行一些自定义配置和日常管理。4.1 理解容器内的服务与数据运行docker ps时你可能好奇容器里到底在跑什么。我们可以通过命令深入容器内部看看docker exec -it my-webgoat /bin/bashdocker exec在正在运行的容器中执行命令。-it分配一个交互式的终端-i -t 的组合。my-webgoat容器名。/bin/bash要执行的命令即启动一个Bash shell。执行后你的终端提示符会变成类似root容器ID:/#的样子这意味着你已进入容器内部。你可以用ls、ps aux等命令查看容器内的文件结构和进程。通常你会看到一个Java进程在运行WebGoat的Jar包。输入exit可以退出容器。关于数据持久化默认情况下你在WebGoat里做的练习进度、注册的用户信息都保存在容器内部。如果你删除了容器docker rm my-webgoat这些数据就丢失了。如果你想持久化保存学习进度可以在运行容器时通过-v参数将宿主机的一个目录挂载到容器内的数据目录。不过对于WebGoat这种主要用于一次性练习的靶场通常不需要这么做。重要的学习成果是你的笔记和技能而非容器里的数据。4.2 自定义启动参数与端口也许你电脑的8080端口已经被其他程序比如另一个开发中的Web应用占用了。这时你可以修改映射的端口。例如你想用宿主机的8888端口来访问WebGoatdocker run -d -p 8888:8080 -p 9999:9090 --name webgoat-test webgoat/webgoat-8.0这样你就需要通过http://localhost:8888/WebGoat来访问了。如果你想传递一些Java启动参数给WebGoat应用虽然很少需要可以在docker run命令的最后镜像名的后面添加。例如调整JVM内存docker run -d -p 8080:8080 -p 9090:9090 --name my-webgoat webgoat/webgoat-8.0 --server.port8080 --Xmx512m但请注意WebGoat的Docker镜像可能有自己的入口点定义更复杂的配置建议通过环境变量或自定义Dockerfile实现这属于进阶内容。4.3 日常管理命令汇总学会搭建更要学会管理。下面这些命令会让你操作起来游刃有余操作命令说明查看运行中的容器docker ps列出正在运行的容器查看状态、端口映射。查看所有容器docker ps -a列出所有容器包括已停止的。停止容器docker stop my-webgoat优雅地停止指定容器。启动已停止的容器docker start my-webgoat启动一个已存在的容器。重启容器docker restart my-webgoat重启容器适用于修改了某些配置后。进入容器终端docker exec -it my-webgoat /bin/bash如前所述用于调试或查看容器内部。查看容器日志docker logs my-webgoat查看容器的输出日志排查启动失败问题的首选命令。删除容器docker rm my-webgoat删除已停止的容器。加-f参数可强制删除运行中的容器。删除镜像docker rmi webgoat/webgoat-8.0删除本地镜像释放磁盘空间。一个典型的工作流是今天学习结束后运行docker stop my-webgoat关闭它。明天想继续时运行docker start my-webgoat即可恢复所有数据和进度都在。当你彻底不再需要这个环境时先docker stop再docker rm删除容器最后可以docker rmi删除镜像。5. 常见问题排查与实战技巧实录即使按照步骤操作你也可能会遇到一些“坑”。这里我汇总了搭建和使用WebGoat过程中最常见的问题及解决方法这些都是我亲身踩过并填平的坑。5.1 容器启动失败与端口冲突问题现象执行docker run后用docker ps查看不到容器或者容器状态是 “Exited”。用docker logs my-webgoat查看日志可能看到 “Port already in use” 或类似绑定端口失败的报错。原因与解决端口被占用这是最常见的原因。8080或9090端口可能被其他软件如Tomcat、Jenkins、或其他正在运行的开发服务占用。解决方法A推荐换用其他端口。如前所述修改-p参数例如-p 8088:8080 -p 9099:9090。方法B找出并关闭占用端口的进程。Linux/macOS在终端运行sudo lsof -i :8080或sudo netstat -tulpn | grep :8080查看占用8080端口的进程ID然后用kill -9 进程ID结束它。Windows在管理员权限的PowerShell中运行netstat -ano | findstr :8080找到PID后在任务管理器中结束对应进程。Docker服务未启动特别是Windows/macOS用户确保Docker Desktop应用已经启动任务栏或菜单栏有Docker图标。镜像拉取不完整网络问题可能导致镜像损坏。尝试删除旧镜像重新拉取docker stop my-webgoat docker rm my-webgoat docker rmi webgoat/webgoat-8.0 docker pull webgoat/webgoat-8.0 # 再次运行run命令5.2 浏览器无法访问 localhost:8080问题现象容器运行正常docker ps显示 Up但浏览器访问http://localhost:8080或http://127.0.0.1:8080时连接被拒绝、超时或显示错误页面。排查步骤确认容器IP和端口有时容器可能没有绑定到0.0.0.0所有网络接口。首先获取容器的内部IPdocker inspect -f {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}} my-webgoat假设输出是172.17.0.2。然后尝试在浏览器访问http://172.17.0.2:8080/WebGoat。如果这样能通说明是本地回环地址localhost映射有问题可能是Docker Desktop的网络配置问题在Windows/macOS上更常见。检查防火墙宿主机尤其是Windows的防火墙可能阻止了Docker的入站连接。尝试暂时关闭防火墙测试或者为Docker添加防火墙入站规则。检查Docker Desktop设置在Windows/macOS的Docker Desktop中进入Settings - Resources - Network确保Docker有可用的网络连接。有时重置Docker网络可以解决问题。查看应用日志运行docker logs my-webgoat看WebGoat应用是否真的启动成功。有时Java应用启动较慢或者因为内存不足启动失败日志里会有明确错误信息。5.3 课程加载缓慢或部分功能异常问题现象登录后课程列表加载很慢或者点击某个课程如“SQL Injection”时一直转圈或报错。原因与解决网络问题WebGoat的部分课程如“Http Basics”可能会尝试从外部网络加载一些资源如图片。如果你的环境无法访问外网可能会导致加载缓慢或失败。这通常不影响核心漏洞练习可以忽略。浏览器缓存与插件浏览器的广告拦截插件如AdBlock、脚本拦截插件有时会误判靶场页面中的某些脚本为恶意内容并加以阻止导致功能异常。解决尝试在浏览器中打开开发者工具F12切换到“网络(Network)”选项卡刷新页面查看是否有标红的请求失败。同时可以尝试在无痕模式禁用所有插件下访问WebGoat看是否正常。容器资源不足如果宿主机内存较小分配给Docker的内存又不足可能导致容器内的Java应用运行缓慢甚至崩溃。解决调整Docker Desktop的资源分配Settings - Resources增加内存如从2GB增加到4GB。对于Linux需要调整Docker守护进程的配置。5.4 与Burp Suite等代理工具联用配置真正的Web安全测试离不开代理工具如Burp Suite或OWASP ZAP。你需要将浏览器流量先经过代理再由代理转发给WebGoat这样才能拦截、查看和修改请求。配置步骤启动代理工具启动Burp Suite确保Proxy监听在某个端口默认是127.0.0.1:8080。注意这里就和WebGoat的8080端口冲突了所以你需要先修改WebGoat的映射端口比如用-p 8088:8080启动WebGoat。配置浏览器代理在浏览器中安装代理插件如SwitchyOmega或者直接在系统网络设置中配置HTTP代理为127.0.0.1:8080Burp的监听地址。访问靶场此时浏览器应通过http://localhost:8088/WebGoat访问靶场因为WebGoat服务跑在宿主机的8088端口。你的所有请求都会先经过Burp。处理HTTPS如果靶场配置了HTTPSWebGoat默认是HTTPBurp会提示证书错误。你需要将Burp的CA证书导入到浏览器的受信任根证书颁发机构中。具体操作在Burp的Proxy - Options - Import / export CA certificate中导出证书然后在浏览器设置中导入。实操心得强烈建议为安全测试准备一个专用的浏览器配置文件或者使用浏览器无痕模式并配置好代理。避免和日常浏览混用防止误拦截或证书警告干扰正常上网。另外在Burp中可以设置“Proxy - Options - Match and Replace”规则自动修改请求中的Host头这对于一些需要特定主机头才能触发的漏洞练习很有帮助。6. 学习路径建议从WebGoat出发构建你的技能树成功搭建WebGoat只是第一步更重要的是如何有效地利用它。面对几十个课程从哪里开始如何进阶6.1 WebGoat核心模块学习顺序WebGoat的课程设计大体遵循了从易到难的顺序。我建议按以下路径进行通用篇General从这里开始。特别是“Http Basics”它教你理解HTTP协议、请求方法、状态码、Cookie和Session这是所有Web安全的基石。“Developer Tools”教你使用浏览器开发者工具这是你观察和调试的“眼睛”。注入漏洞Injection这是Web安全的“重灾区”。按顺序完成SQL Injection (SQL注入)从初级到高级理解数字型、字符型、盲注、堆叠注入等。务必亲手构造每一个Payload并观察数据库的响应。Cross-Site Scripting (XSS)分为反射型、存储型、DOM型。理解Payload如何构造如何绕过简单的过滤。失效的访问控制与认证Broken Access Control AuthenticationAuthentication Bypasses学习如何绕过登录、暴力破解、多因素认证等。Insecure Direct Object References (IDOR)理解如何通过修改参数如用户ID、订单号来访问未授权的资源。跨站请求伪造CSRF理解CSRF的攻击原理以及如何构造恶意页面让受害者在不知情的情况下执行操作。可以结合网络热词中提到的“通关cross-site request forgeries”进行专项练习。不安全的反序列化Insecure Deserialization、XXEXML External Entity、安全配置错误Security Misconfiguration等这些属于更高级的漏洞在你有了一定基础后再挑战。6.2 如何高效练习从“做题”到“实战思维”不要仅仅满足于完成课程提示的步骤。试着用以下方法深化学习主动探索在完成一个基础攻击后问自己还有别的利用方法吗如果输入被过滤了如何绕过如果错误信息被隐藏了盲注我该怎么办结合工具一定要将Burp Suite用起来。用Repeater模块反复修改和重放请求用Intruder模块进行自动化模糊测试和暴力破解用Scanner进行自动漏洞扫描虽然对靶场意义不大但可以熟悉工具。查看源码WebGoat的每个课程页面通常都有“Show Hints”和“Show Code”选项。一定要点开“Show Code”看看漏洞的源代码是如何写的修复方案又是怎样的。这能帮你从根源上理解漏洞成因。记笔记建立一个自己的知识库。记录每个漏洞的原理、利用步骤、关键Payload、修复方案。可以用Markdown文档也可以用思维导图。6.3 超越WebGoat构建你的综合靶场环境WebGoat虽好但场景相对独立和标准化。要模拟更真实的网络环境你需要接触其他靶场。这也是为什么网络热词中会出现DVWA、pikachu、vulhub、sqli-labs、upload-labs等名字。DVWA (Damn Vulnerable Web Application)另一个极其流行的PHP靶场难度可调从Low到Impossible非常适合新手。Pikachu皮卡丘一个中文的、覆盖漏洞类型很全面的靶场对国内用户非常友好。vulhub这不是一个单独的靶场而是一个基于Docker-Compose的漏洞环境集合。一键编译、运行一个包含已知漏洞的完整应用例如一个存在Struts2漏洞的网站。这是从“漏洞练习”过渡到“真实漏洞复现”的绝佳桥梁。sqli-labs / upload-labs专注于单一漏洞类型的靶场适合做专项突破训练。我的建议是以WebGoat作为主线教材系统学习漏洞原理。同时用DVWA或Pikachu作为辅助练习场。当你对常见漏洞有了一定感觉后利用vulhub去复现一些历史上真实的、影响深远的CVE漏洞这会极大地提升你的实战感和成就感。最后记住靶场的终极目的不是“通关”而是培养一种思维模式以攻击者的视角审视每一个输入点、每一次数据交互、每一处逻辑判断并以防御者的身份思考如何设计和编写安全的代码。当你搭建起自己的靶场矩阵并游刃有余地在其中练习时你已经走在成为一名合格Web安全工程师的路上了。这个过程中每一次排错、每一个新漏洞的复现都会让你的技能树更加枝繁叶茂。

相关新闻

宠物皮肤病检测数据集与YOLO目标检测实践

宠物皮肤病检测数据集与YOLO目标检测实践

2026/8/26 7:53:59

1. 项目背景与数据集价值 这个宠物皮肤病检测数据集是计算机视觉领域一个非常实用的资源,特别适合想要入门目标检测或者从事宠物健康相关AI应用开发的从业者。我在实际工作中发现,高质量的宠物医疗数据集一直比较稀缺,而这个包含2973张标注图…

索尼相机深度解锁:3大核心功能揭秘与OpenMemories-Tweak实战指南

索尼相机深度解锁:3大核心功能揭秘与OpenMemories-Tweak实战指南

2026/8/25 16:07:47

索尼相机深度解锁:3大核心功能揭秘与OpenMemories-Tweak实战指南 【免费下载链接】OpenMemories-Tweak Unlock your Sony cameras settings 项目地址: https://gitcode.com/gh_mirrors/op/OpenMemories-Tweak 你是否曾被索尼相机的30分钟录制限制困扰&#x…

Java集成OpenCV:从环境搭建到实时人脸检测实战

Java集成OpenCV:从环境搭建到实时人脸检测实战

2026/8/22 10:47:22

1. OpenCV与Java环境搭建OpenCV作为计算机视觉领域的瑞士军刀,在Java生态中同样能发挥强大威力。我最初在Android项目中使用OpenCV时,发现其Java API的文档比较分散,这里把踩坑经验系统整理出来。环境配置是第一步,也是最容易出问…

深入理解 AI Agent · AGENT #03:从单 Agent 到多 Agent

深入理解 AI Agent · AGENT #03:从单 Agent 到多 Agent

2026/8/26 18:46:41

📘 《深入理解 AI Agent》系列 第八篇 | AGENT-03 前篇回顾:Agent 基础篇 #01 从LLM到Agent → Agent 基础篇 #02 四大核心机制 → Agent 基础篇 #03 从单Agent到多Agent 开篇:单 Agent 能走多远? 做 AI Agent 的开发者常有一个…

Django金融时间序列数据中的异常检测与风险预警系统设计与实现机器学习选题方向大数据毕设项目

Django金融时间序列数据中的异常检测与风险预警系统设计与实现机器学习选题方向大数据毕设项目

2026/8/26 18:46:41

3.2系统可行性分析3.2.1 技术可行性​在数据处理技术方面,Python 拥有丰富的数据分析库,如 Pandas、NumPy 等,能够高效处理金融时间序列数据中的清洗、插值、标准化等任务。对于异常检测算法,无论是基于统计的 3σ 准则、贝叶斯推…

Yolo 小白入门 08:图片、视频、摄像头、RTSP 一次搞清——source 参数实战

Yolo 小白入门 08:图片、视频、摄像头、RTSP 一次搞清——source 参数实战

2026/8/26 18:46:41

Yolo 小白入门 08:图片、视频、摄像头、RTSP 一次搞清——source 参数实战 [!NOTE] 你现在位于《Yolo 全速入门到精通【持续更新中】》的 第一章 零基础跑通。这一篇不追求堆满参数,而是带你设计“多种输入源”的最小可验证闭环,并能说清它在数据、模型与业务之间的位置。我…

Java 程序员第 46 阶段15:大模型调用链路追踪,SkyWalking 排查线上性能,集群部署实战OAP集群加高可用存储落地

Java 程序员第 46 阶段15:大模型调用链路追踪,SkyWalking 排查线上性能,集群部署实战OAP集群加高可用存储落地

2026/8/26 18:46:41

前面 14 篇我们已经把大模型链路的采集、拆解、关联、告警、存储选型全部打通。但所有这些能力都建立在一个前提上:SkyWalking 自身是稳定可用的。如果 OAP 是单节点,它一宕机,全公司的链路监控就黑屏,正在发生的大模型事故你将完…

Codex 客户端接入 88API:Windows、macOS 和 Linux 配置教程

Codex 客户端接入 88API:Windows、macOS 和 Linux 配置教程

2026/8/26 18:46:41

文章说明 本文适用于会读取本机 ~/.codex 配置目录的 Codex 桌面客户端、IDE 插件及相关客户端。部分只支持 Codex 账号登录的云端入口不能填写第三方 API 地址,不适用本教程。 实际可用模型请以 88API 控制台为准。下面使用 88API 文档当前示例模型 5.6-sol 演示。…

如何安装dsh deepseek harness

如何安装dsh deepseek harness

2026/8/26 18:36:41

目录 安装 nvm 安装dsh 使用npx deepseek-ai/dsh weba安装 使用git clone https://github.com/deepseek-ai/deepseek-harness.git 下载到本地安装 准备工作: 1:首先去存盘里找到文件夹 2:在输入框中打上cmd ​编辑 指令的输入 1&am…

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

2026/8/26 1:50:39

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

2026/8/26 1:49:16

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

2026/8/26 17:50:58

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

Python random 模块常用函数详解:从入门到实战

Python random 模块常用函数详解:从入门到实战

2026/8/26 0:05:45

目录 1. 引言2. 准备工作3. 基础随机函数4. 序列相关函数5. 随机种子与复现6. 实战案例7. 注意事项8. 常见问题与排查9. 总结 1. 引言 摘要: 本文系统介绍 Python 标准库 random 模块中最常用的随机数生成函数。内容涵盖基础随机函数(random()、unifor…

Hermes接入团队协作后,我推翻了三个效率假设

Hermes接入团队协作后,我推翻了三个效率假设

2026/8/26 0:05:45

聊《Hermes真能提效吗?先看流程里最慢的那一步》之前,先说一句实在的:别急着背概念,先看它在真实项目里到底解决什么问题。摘要团队把 Hermes 接进项目三个月后,交付速度没有提升反而慢了。复盘后发现,最先…

免费AI大模型调教指南:打造专属网文写作助手

免费AI大模型调教指南:打造专属网文写作助手

2026/8/26 0:05:45

1. 先搞清楚“AI小说扩展模式”到底能帮你做什么如果你是一个刚开始写网文、或者卡在L3级别以下的作者,最头疼的可能是情节推进不下去、人物对话干瘪,或者世界观设定不够丰满。自己对着空白文档硬憋,效率很低。这时候,一个能理解你…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/22 2:02:26

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/26 18:07:30

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/26 17:57:52

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…