dsh-campus-net:DSH 校园网状态查询与按需认证

前言

在 DeepSeek Harness(DSH)里做本地智能体时,校园网认证往往卡在「能不能上网」这一步:网关可能对任意 HTTP 请求回登录页,单纯看 200 并不等于已出网;休眠、重启或门户超时后又要重新登录,而 DSH 没关时插件还能跑,DSH 一关进程就没了。手工连 Wi-Fi、打开浏览器填门户,和让模型通过 tool 查状态、一键登录,是两套路。

下面介绍社区插件 dsh-campus-net(维护者 GUANUI,SkillHub 分类 admin-security):在 DSH 里提供四个 tool,外加本机设置页与可选后台守护进程,用于检查在线状态、按需登录,并在 Windows 上支持凭据加密落盘与开机自启。内置 南京审计大学(NAU) 预设,也可选可配置的 JSON 门户模式;不实现 Srun(深澜)或 Dr.COM 协议。

这是什么

dsh-campus-net 是面向 DSH >= 0.2.0-rc.1 < 0.3.0 的校园网自动登录插件(package 版本 0.1.0,MIT)。账号密码与配置保存在本机,无遥测、无第三方上报;插件与守护进程在当前用户与 DSH 进程权限下运行,安装前建议在 GitHub 阅读源码与许可证。

核心功能

资料中明确列出的能力如下。

  1. 状态一览:在线/离线、Wi-Fi SSID、守护进程状态、最近一次操作与错误;campus_net_status 支持 quick: true 仅读缓存。
  2. 按需登录:一次 tool 调用完成认证,磁盘上加密保存凭据;密码错误不会重试,避免部分门户因多次失败锁号。
  3. 本机设置页:扫描并勾选校园 Wi-Fi、填写账号密码与门户地址、检查间隔、自启等;绑定 127.0.0.1,每次运行带 token。首次加载会打开五步用户指南(可通过 autoOpenGuide: false 关闭)。
  4. 可选后台守护进程:独立 Node 进程,不随 DSH 子进程退出;install 可在 Windows 注册隐藏 Startup 项,休眠/重启/门户超时后尝试重连。
  5. NAU 预设与 JSON 门户:NAU 门户与 Wi-Fi 字段预填;其他与 NAU 类似的 JSON HTTP 门户(含 reply_code 及 getinfo / login / logout / challenge)可在设置里选 Custom JSON portal 调整。

在线判定:仅探测 URL 返回 HTTP 204 视为在线;返回 200(常见为登录页)刻意视为离线。

环境与限制

  • DSH:>= 0.2.0-rc.1 < 0.3.0
  • Node.js:20+(DSH 自带捆绑亦可)
  • Windows 10/11:完整能力(DPAPI 凭据、netsh 切 Wi-Fi、Startup 自启)。macOS/Linux 下门户登录与守护进程可用,自动切 Wi-Fi 跳过,自启需手动配置。

安装与启用

在 DSH 插件市场搜索 dsh-campus-net 安装即可。

若从本地目录手动安装,README 给出的命令为:

dsh plugin add link:/absolute/path/to/dsh-campus-net

安装后若四个 tool 未立即出现,重启 DSH。

社区目录页:dsh-campus-net(SkillHub)。源码与文档:GUANUI/dsh-campus-net(SkillHub 为独立社区站点,与 DeepSeek / 幻方无官方从属关系)。

典型配置与用法

1. 打开设置页

让 DSH 执行 campus_net_setup,返回形如 http://127.0.0.1:<port>/?token=… 的 URL。该链接仅在插件进程存活时有效;重启 DSH 后需再次执行 campus_net_setup。

2. 向导中的五步

  1. 在 Campus Wi-Fi 点 Scan nearby Wi-Fi 并勾选校园网(NAU 免费网为 i-NAU、i-NAU-Lib;chinanet / cmcc / unicom 为运营商付费网,不会自动连接)。
  2. 填写校园账号与密码,Save。
  3. Login now 验证。
  4. 需要掉线后仍自动维持时,点 Enable autostart,或执行 campus_net_daemon { "action": "install" }。

亦可随时运行 campus_net_setup,在设置页顶部打开 User guide。

3. 四个 tool

Tool 作用
campus_net_status 在线状态、SSID、守护进程、最近错误
campus_net_login 立即登录;优先尝试已配置 Wi-Fi
campus_net_setup 启动本机设置页并返回带 token 的 URL
campus_net_daemon status / start / stop / install / uninstall / logs

4. NAU 预设字段(摘录)

字段 值
Portal http://login.nau.edu.cn
Login API /api/portal/v1/login
Success reply_code === 0
Wi-Fi i-NAU(备选 i-NAU-Lib)
Online probe http://connect.rom.miui.com/generate_204 → HTTP 204

账号为学生学号;该门户不接受手机号登录。

适用场景与注意

适合:在 DSH 智能体工作流里需要可重复的「是否出网 → 必要时认证」、希望凭据与配置留在本机、且门户形态接近 NAU 式 JSON HTTP 的用户(尤其 Windows 校园环境)。

务必注意:

  • 插件不以系统服务运行;敏感操作依赖本机 DPAPI/AES 与 127.0.0.1 设置页 token,使用前请自行评估环境与门户政策。
  • Windows 扫描 Wi-Fi 需开启位置服务与桌面应用位置权限;也可手填 SSID,无权限时登录仍可进行。
  • 全局代理或游戏加速器可能导致门户报 请重新获取地址!;登录前应退出或给门户 IP 配直连路由。
  • DSH 关闭后仅插件本身无法维持网络;需安装守护进程才能在 DSH 退出后继续保活。
  • 卸载顺序:campus_net_daemon { "action": "uninstall" } → 在 DSH 移除插件 → 可选删除 %LOCALAPPDATA%\dsh-campus-net。

数据目录(Windows 默认 %LOCALAPPDATA%\dsh-campus-net\)含 config.json、cred.dat、campus-net.log、state.json;可通过环境变量 DSH_CAMPUS_NET_HOME 更换根路径。

结尾

dsh-campus-net 把校园网「204 才算在线」的探测、按需登录与可选守护进程封装成 DSH tool,并用本机设置页完成首次配置;NAU 用户可直接用预设,其他类似 JSON 门户可走自定义模式。进一步说明见 GitHub README,安装入口见 SkillHub 目录页。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜