Mihomo远程部署

Mihomo远程部署 前言 因为在WSL中需要下载一些东西,而因为电脑又在远程,无法使用GUI,且如果直接调用Windows中的Mihomo,会导致ssh无法正常连接,故在此直接在WSL中部署Mihomo。 工作环境 WSL2环境 Tailscale SSH 步骤 下载Mihomo 此部分不要直接完全复制,请根据最新版本替换链接 # 创建目录 mkdir ~/mihomo && cd ~/mihomo # 下载链接,根据最新链接进行替换,注意应选择mihomo-linux-amd64-vx.xx.x.gz wget https://github.com/MetaCubeX/mihomo/releases/download/v1.18.9/mihomo-linux-amd64-v1.18.9.gz # 解压并重命名 gunzip mihomo-linux-amd64-v1.18.9.gz mv mihomo-linux-amd64-v1.18.9 mihomo chmod +x mihomo 配置核心文件 下载地理文件 这个文件一般Mihomo在初次运行时会自动下载,但是经常失败,所以直接手动下载 wget -O Country.mmdb https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geoip.metadb 配置设置文件 你应该会有一个订阅链接,通过这个订阅链接可以下载一个config.yaml文件,使用以下语句进行下载: curl -L -o config.yaml "https://api.v1.mk/sub?target=clash&url=你的订阅链接" 初步测试 ./mihomo -d . 如果一切正常,应该会看到Start initial configuration successful之类的内容,并且在shell中它展开了一个服务。 常驻后台 移动文件 将Mihomo文件移动到/usr/local/bin中,这样就可以直接使用mihomo命令了。 sudo mv mihomo /usr/local/bin/ sudo mkdir -p /etc/mihomo sudo cp Country.mmdb /etc/mihomo/ sudo cp config.yaml /etc/mihomo/ 使用systemd守护进程 创建服务文件sudo nano /etc/systemd/system/mihomo.service ...

March 19, 2026 · 云雾海

Qwen3-ASR远程部署

Qwen3-ASR部署 前言 模型介绍 Qwen3-ASR是阿里的千问团队开发的一个语音识别模型,包括两个版本Qwen3-ASR-1.7B 与 Qwen3-ASR-0.6B,以及一个创新的语音强制对齐模型 Qwen3-ForcedAligner-0.6B。 Qwen3-ASR最具特色的是其支持52个语种和方言的语种识别和语音识别,这在传统只能标准英语和普通话的语音识别模型中有较大突破。 部署目标 本人有一台装有4070TIS的Windows主机,同时有一台性能普通的笔记本。因为个人研究需求,需要将Qwen3-ASR模型部署到一台服务器上,刚好这个Windows主机就可以成为我的测试服务器,而笔记本作为客户端与服务器进行通信调用。 部署思路 基本的部署思路是,在Windows主机中通过WSL安装miniconda环境,然后部署Qwen3-ASR环境,通过tailscale将主机与笔记本连接,通过ssh在笔记本控制运行WSL,通过tailscale提供的局域网进行通信。本文主要详述Qwen3-ASR部署流程,关于远程部署部分只会简单提及,有需求可以根据提及的部分进行对应搜索。 准备工作 一台高性能Windows主机,在本文中其显卡为4070TIS,系统为Windows11,后续我们称为服务器。 另一台电脑,本文中为笔记本,系统为Windows11,后续我们称为客户端。 服务器Windows系统中的tailscale和OpenSSH Server服务。因为我很早之前就已经为这个主机安装了ssh服务器,所以本文默认已经在Windows系统中有ssh服务,并且整个操作均在远端通过ssh访问,而因为服务器没有公网,所以内网穿透由tailscale提供。 部署流程 WSL安装 经过尝试,直接在Windows上部署Qwen3-ASR模型的话,比较容易安装失败,尽管可以通过docker安装,但是在后续开发上仍然可能出现一些类似的踩坑,毕竟我们是为了进行软件开发,所以在WSL上进行安装是更好的选择。 关于WSL的安装,可以参考官方文档进行,我直接默认安装的Ubuntu系统。 tailscale安装 安装完WSL后,我们需要在WSL中安装tailscale,这样我们就可以在远端直接用ssh访问WSL的文件系统了,尽管我们也可以先访问Windows,然后在一个Powershell终端里面通过wsl命令访问WSL,但是这种做法无法打开WSL的文件系统,所以直接用tailscale在内部穿透是比较好的方法。关于tailscale的安装,可以参考官方文档。 ssh服务器 在tailscale安装完成后,就已经获得了一个新的内网IP,此时我们可以通过ssh连接WSL了,不过在此之前需要为WSL安装ssh服务器,安装命令如下: sudo apt update sudo apt install openssh-server 由于 WSL2 的一些限制(如默认不支持密码登录或端口冲突),我们需要微调一下配置文件:sudo nano /etc/ssh/sshd_config 取消以下内容的注释并根据需要进行修改: Port 2222(建议将端口改为 2222,因为 Windows 自身可能已经占用了 22 端口)。 PasswordAuthentication yes(如果你想用密码登录,请确保这里是 yes)。 ListenAddress 0.0.0.0(允许从任何 IP 访问)。 最后保存并退出,按Ctrl+O保存,Enter确认,Ctrl+X退出。 然后重启服务:sudo service ssh restart。 通过tailscale ip指令可以获取IP地址,然后通过ssh连接WSL。 为了方便,我们可以在vscode中安装Remote Development来辅助远程开发。 Miniconda安装 我们当然不希望只在WSL中安装一个Qwen3-ASR模型后就不玩其它模型了,所以Python环境管理工具是很重要的,因为我们在WSL中且不需要什么界面环境,所以安装miniconda即可,参考官方文档进行安装。 安装完成后,我们创建一个conda环境:conda create -n qwen-asr-env python=3.10 -y。实际上官方推荐的使用python=3.12,但是因为我个人的需求,部分依赖库没有后续更新,所以我选择了3.10版本。 之后启动这个环境conda activate qwen-asr-env。 ...

March 18, 2026 · 云雾海

如何在hugo博客中添加mermaid支持

如何在hugo博客中添加mermaid支持 前言 对于很多hugo博客的主题,他们并没有直接填完关于mermaid语法的支持,这也就导致了我们制作的一些mermaid图表无法被渲染,可读性急剧下降。为此,为hugo添加mermaid支持就非常有必要了。 在很多博客里面,我们可以看到可以通过添加短代码的方式来实现添加mermaid支持,但是通过这种方式支持的mermaid需要在markdown文件中添加短代码语法,类似于这样: {{< mermaid >}} graph LR A[开始] --> B{思考} B -->|是| C[行动] B -->|否| D[放弃] {{< /mermaid >}} 而不是: ```markdown graph LR A[开始] --> B{思考} B -->|是| C[行动] B -->|否| D[放弃] ``` 这让页面组织会显得有点怪,而且这篇文章如果需要发到某些支持mermaid的markdown的平台上时就会产生混乱。 为此我们可以选择通过hugo的partial功能来实现这个效果。 创建局部模板文件 在layouts/partials目录下创建一个局部模板,我们将其命名为mermaid.html。 然后将以下代码填入其中: {{ if .Params.mermaid }} <script type="module"> import('https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs') .then((mermaidModule) => { const mermaid = mermaidModule.default; mermaid.initialize({ startOnLoad: true, theme: 'neutral' // 可以修改主题 }); Array.from(document.getElementsByClassName("language-mermaid")).forEach((el) => { el.parentElement.outerHTML = `<div class="mermaid">${el.innerHTML}</div>`; }); mermaid.init(undefined, '.mermaid'); }) .catch((error) => { console.warn('Mermaid 加载失败,图表将显示为代码块:', error); }); </script> {{ end }} 现在,我们就拥有了mermaid模块了,可以将其添加在一个界面模板中,以供加载。 ...

October 31, 2025 · 云雾海

Qt Creator打开时报错python27.dll和报错应用程序错误解决办法

记录一下,实测有效 《 QT找不到python27.dll解决办法》 《打开Qt Creator软件时报警告:xxx.exe应用程序错误》

May 5, 2022 · 云雾海

Git笔记

本文是基于廖雪峰大佬的Git教程进行的记忆笔记,主要目的是用于快速回忆和精炼Git的一些常用命令,同时补充结合一些网络上的其它关于git的知识,本笔记不适合直接用来零基础学习,如果需要可以通过前面的链接跳转至廖雪峰的教程。本笔记可能存在疏漏,如有问题欢迎指正。 安装 仓库管理(repository) 创建仓库 克隆仓库 版本控制 缓存修改 提交修改 查看状态 内容比较 版本日志 撤销修改 删除文件 版本回退 远程操作 添加关联 查看关联 取消关联 上传代码 下载代码 分支管理 连接分支 创建分支 切换分支 合并分支 删除分支 查看分支 现场管理 保存现场 查看现场 恢复现场 删除现场 获取修改 标签管理 添加标签 查看标签 删除标签 推送标签 安装 Linux直接用apt安装,Windows官网下载安装,Mac用Xcode安装,安装完毕后在命令行使用如下内容进行设置: git config --global user.name "Your Name" git config --global user.email "email@example.com" 若要使用Github或Gitee等远程仓库,其初始化过程请在往上自行搜索。 仓库管理(repository) 创建仓库 git init:将一个文件夹初始化为git仓库,可以在命令行中进入该文件夹并使用此命令。 克隆仓库 git clone <URL> <name>:将远程仓库拷贝到自己电脑上,其中<URL>为远程仓库地址,<name>为赋值后对该项目进行重命名(文件夹的名字)。 版本控制 缓存修改 git add <file>:将工作区修改过的文件存入缓存区,其中<file>为需要缓存的文件,可同时添加多个文件,也可以添加文件夹,若输入git add .则将该路径下所有的内容全部添加。 提交修改 git commit <file> -m <message>:将缓存区的内容提交至本地仓库,其中<file>为需要提交的文件,可多个或文件夹,若不填写则全部提交。-m <message>为添加注释内容,如果在其中添加-a指令,如git commit -am <message>,则可以跳过add步骤,直接工作区内容提交到本地仓库中。同时每次commit也相当于提交了一个新的版本。 ...

January 15, 2022 · 云雾海