在企业出海、跨境电商、海外营销越来越普遍的背景下,“如何稳定访问国际互联网”已经不再是技术问题,而是一个合规 + 稳定 + 成本综合考量的问题。

很多企业一开始用“临时方案”,能用但不稳定;但是到后续就会遇到卡顿、掉线、账号风控等一系列问题,这篇文章,就把这件事讲清楚。

一、为什么要接入国际互联网?

对于企业来说,接入国际互联网通常不是“为了上网”,而是业务需要:

1、跨境电商 / 外贸业务
访问海外平台(独立站、Amazon、Shopify等)
与海外客户沟通(邮件、IM、视频会议)

2、海外社媒运营
使用 TikTok、Facebook、Instagram 等平台
内容发布、广告投放、数据分析

3、AI工具与SaaS系统
使用 Claude、ChatGPT 等工具
海外CRM、营销工具、数据分析平台

4、企业全球化办公
海外分公司互联
跨区域系统访问

简单来说:只要业务在海外,网络就必须先跟上。

二、合法接入国际互联网的方式有哪些?

这里直接说重点:企业能长期使用的方式,主要就两类:

  1. 传统国际网络专线
    这是最“正统”的方式,本质是:
    企业通过运营商,直接接入国际互联网出口

通常由三大运营商提供:

  • 中国电信
  • 中国联通
  • 中国移动

特点:

  • 合规性强
  • 稳定性高
  • 延迟低

缺点是:
成本高(通常按带宽计费)
开通周期长
灵活性差(扩容、调整麻烦)
更适合:大型企业、对稳定性要求极高的场景

  1. SD-WAN 跨境网络专线(主流方案)

SD-WAN 本质是:
用软件定义网络,把多条链路“智能组合”,实现更灵活的跨境连接
你可以理解为:“更聪明、更便宜的企业专线”

核心优势:

  • 成本更低(相比传统专线)
  • 部署快(支持软件/硬件接入)
  • 多线路智能调度(自动选最优路径)
  • 支持全球节点加速

目前大多数跨境电商、外贸公司,基本都在用这一类方案。

三、SD-WAN 跨境网络专线有哪些?

目前市场上主要分两类服务商:

  1. 运营商 SD-WAN
    还是三大运营商提供:
    中国电信、中国联通、中国移动

优势:
合规性强、网络资源稳定

不足:
灵活性一般、成本相对较高

  1. 第三方专业服务商(更灵活)

比如:OSDWAN(专注跨境网络)

这一类厂商通常具备:

  • 多运营商资源整合能力
  • 全球节点布局
  • 更灵活的部署方式

对中小企业来说,性价比更高、落地更快。

四、OSDWAN有哪些优势?

相较于传统的SD-WAN服务商,OSDWAN跨境网络专线也有极大突出优势:更好用、更高性价比、更安全、更可控、更安心。

01、更好用:相比传统SD-WAN服务商只支持CPE设备,OSDWAN不仅提供多种型号的CPE设备,还支持经过安全认证的相应软件。支持Windows、Mac、iPhone、安卓、iPad,让您随时随地一键连接全球互联网。

02、更高性价比:相比传统SD-WAN服务商与运营商接近的高额网络费用,OSDWAN仅需一半不到的成本即可享受同等优质的网络线路。

03、更安全:OSDWAN采用自研双重加密机制,对数据进行多层加密处理,有效防止数据泄露、保证信息安全传输。

04、更可控:企业管理后台,可以管理员工子账号、限制使用设备数、管控访问范围、监管访问日志。

05、更安心:相比传统SD-WAN服务商需要5-8个工作日按照工单解决客户问题,OSDWAN提供专属售后支持,配备专属售后顾问。同时还提供分流解锁,路由优化等服务。让您的业务安心出海。

总的来说,OSDWAN兼具合规合法、稳定安全、简单易用、高性价比等优势,支持一键访问全球互联网。是企业办公、网络营销、跨境直播、社媒运营的不二之选。

image.png

五、OSDWAN怎么开通?

OSDWAN支持软件硬件连接,提供多种型号的CPE设备,还支持多终端连接,如Windows、Mac、iPhone、安卓、iPad,让您随时随地一键连接全球互联网。

OSDWAN只需简单三步,即可开通,大致流程如下:

1、明确需求,咨询顾问
首先得明确自身的业务需求,比如是做社媒运营还是外贸办公,OSDWAN会根据您的需求来推荐合适的套餐。

2、购买后开通账号
选择合适的套餐后,提供对应的信息(营业执照、实名、 手机、邮箱),为您开通OSDWAN账号

3、登录连接
下载OSDWAN专属APP,输入账号密码,连接成功后即可稳定访问国外软件了。

image.png

总结
企业接入国际互联网,本质上不是“能不能上”,而是:是否稳定、是否合规、是否能支撑业务长期发展,如果业务涉及跨境电商、AI工具、海外营销,建议优先考虑SDWAN。

OSDWAN是国内专业的跨境网络专线服务商,专注于为出海企业提供合规、稳定、低延迟的跨境网络解决方案。支持硬件部署与软件接入,满足不同规模企业的灵活组网需求。

目前已覆盖全球 50+ 数据中心节点,200+ POP 接入点,可提供包括海外加速、SaaS 加速、SD-WAN 组网、跨境专线、云专线互联等多种产品,帮助企业建立长期可持续的国际网络架构。

产品支持从入门版到企业级独享专线多种方案,适用于外贸办公、海外AI加速、社媒运营、跨境电商、品牌出海、跨境直播等多行业场景。

最近把这段时间做的东西整理了一下,想发出来跟大家聊聊。

简单说就是,我们早期一直在给不同产品单独写 AI 客服,后来发现这条路越走越重,于是干脆把这件事做成了一个通用产品,叫微林智能。

一开始遇到的问题

最开始的做法很直接:一个产品写一套 AI 客服逻辑,按各自的页面结构、业务流程和数据规则去适配。

前期能跑,但系统一多,问题就很明显了:相同能力反复实现,公共逻辑很难复用,一个功能改动往往要在多个项目里重复修,代码量和维护成本都越来越高。

后来我们慢慢发现,问题不在于要不要继续做下一套 AI 客服,而在于一直没有一套更省事的通用做法。

现在怎么做

我们现在的思路很简单:把通用问题和业务问题分开处理。

  • 智能体负责角色、人设和回答边界
  • 知识库负责承接产品说明、FAQ 、操作文档这类静态内容
  • 外部工具负责接业务接口和实时数据

这样做的好处是,常见问题可以直接靠知识库回答,跟具体业务状态相关的问题再通过工具去处理,不用每个系统都从头再写一遍。

这 5 个多月做到什么程度了

去年 12 月立项到今年 1 月发布了第一个内部测试版本,到现在已经更新了 5 个大版本。

这几个月我们基本就在反复做一件事:根据真实反馈一直改,把“能演示”慢慢做成“真能用”。如果粗略量化一下,最开始它大概只能解决 20% 左右的问题,现在已经提升到了 95% 左右,基本能把大部分问题处理掉。

数据安全和模型

这个问题大家一般都会问,所以也直接说。

目前我们所有的 AI 端点都采用自部署硬件,数据都在我们自己手里,不依赖第三方托管推理服务。简单说,核心请求不会跑到外部公共服务上去。

模型这边现在主要是两条:主要请求由 qwen3.6-35b-a3b 处理,一部分请求由 gemma-26b-a4b 处理。我们平时也会持续比较不同模型在不同问题上的表现,再决定后面怎么调。

为什么现在拿出来分享

因为做到这个阶段,我们觉得它已经不只是一个概念产品了,而是一个已经在真实场景里反复改过、也基本能解决问题的东西。

如果你们也在做类似的事情,也在想怎么把 AI 更稳地接进现有系统里,那微林智能也许正好能帮你们省掉一部分重复工作。

有兴趣的话可以直接看下:https://www.vxai.link

也欢迎直接提问题。

最近碰到个奇怪问题:

1、windows系统提示音正常。
2、potPlayer播放正常。
3、部分游戏有声音,部分游戏没有声音。
4、windows media player没声音,报错。
5、foobar2000、 TTPlayer、 GoldenWave找不到音频输出设备,报错。

然后找AI问来问去,各种系统设置、 驱动重装、测试软件或脚本,仍然没解决。
最后AI说让我用Process Monitor监测软件访问文件或注册表是否报错,发现foobar2000拼命找一个DevObj.dll的文件,最终没找到。于是去华军站下了一个放到C:\Windows\SysWOW64目录下,上述问题居然神奇地解决了~

年龄:35 | 学历:大专 | 邮箱:[email protected]

跑去做小买卖的原因是上份工作已经对我造成实质性伤害(轻度抑郁)。
我并没有放弃这份职业,只是想换个环境调整下自己,即使最终不得不放弃我也会把编程作为余生的爱好。

个人优势

  • 技术深度:10 年以上的开发经验,精通 aspnetcore (从.net core 1.0 开始使用)。
  • 全栈能力:后端(.net core ),前端( react/vue/typescript ),移动端( react-native ),桌面端( winform/wpf/electron ),运维( linux/nginx/windows ),以上技术均有实际项目应用经验。
  • 政府项目经验:主导完成信创项目的技术选型、开发、适配、安全攻防演练等合规要求。
  • 团队能力:带领 3-5 人团队经验。
  • 持续学习能力:掌握多门其他语言并有实际运用到项目中解决问题的经验。英语阅读良好,无需翻译查阅技术文档书籍,查询、提交 github issues 解决问题。

发展轨迹

具体公司及项目,有意者来信详聊。

  • 早期做 WMS,winform 为主。
  • 中期做电商、门户,webform 、mvc 、aspnetcore ,aspnetcore 为主。
  • 后期作为主力,领导小团队,不分前后端主动学习突破自身技术背景限制,解决实际问题。

如题。
我目前有两个方案构想:
方案 1:是从 0 起步,全部用 ai 生成一个包含前后端的 CRUD 脚手架
方案 2:找出以前的低代码 CRUD 平台,在其基础之上,让 ai 遵循其开发风格的前提下,进行业务代码开发

方案 1 的好处是,没有框架限制,自由度大,ai 可以不用操心上下文,自由发挥。但是缺点是前期还得把脚手架的基础功能补上,非常耗 token 。还得验证 ai 开发的基础功能,如登录、权限控制、菜单管理等等是否正确。

方案 2 的好处是,前期非常省力,基础功能都具备。缺点是,框架限制太死,开发业务代码时,得时刻让 ai 知道框架的开发规则,别写出屎山代码。特别是针对脚手架自带的前端页面,如果想换套 UI 界面,改动面也非常大。

一时不知道如何权衡,想请教 V 友们,有哪些比较好的推荐实践方式

我看到有很多人在抢 GLM 等的 coding plan,也有人抱怨断流的,我之前也没买过,很好奇:
如果模型是完全开源的,那么云计算的大厂大可以在模型开源后很快就部署好,然后开始竞争(卖)。论卡、稳定性,这些大模型企业应该不是这些云中心的对手,那么这些大模型企业到底怎么竞争呢?
混元千问什么的有自己的生态,但是像 zai 这种又怎么盈利呢

这两天在统计自己几个订阅的历史开销,因为 Codex 可以接通 OTEL 这点还比较方便
找到一个典型账号
正好是在 4 月 12 日 Plus 额度削减之后用了 47%的周限额
47%的周限额按 GPT-5.4 计费用了 50 刀,那么一周的限额大概就是 100 刀出头的 Token 用量

你刚写了个酷炫的滚动动画,结果一滑,帧率掉到10帧,电脑风扇狂转,用户直接关掉网页。今天我们不聊首屏,专治“运行时卡顿”——滚动、动画、输入框打字都能卡成狗。5招下去,让你的页面像吃了德芙,纵享丝滑。

前言

你有没有这种体验:滑动页面,感觉像在拖拽一块湿水泥;鼠标滚轮滚一下,页面半秒后才动;输入框打字,字母一个一个蹦出来。这就是运行时性能差——不是加载慢,而是交互不流畅。

原因通常是:重排重绘太频繁、JS执行时间太长、动画没用GPU。今天我们就来逐一击破,让你写出60帧满跑的页面。

一、帧率是怎么回事?60帧才是丝滑

浏览器理想刷新率是60fps,也就是每16.6毫秒要渲染一帧。如果JS任务或渲染任务超过这个时间,就会丢帧,用户就感觉“卡”。

Chrome DevTools → Performance 录制,看帧率条,红色就是掉帧了。我们的目标:每帧任务控制在10ms以内,留出余量。

二、第1招:用transformopacity做动画,别动left/top

最经典的性能优化。修改lefttopwidthmargin会触发重排(Layout),修改颜色、背景会触发重绘(Paint),而修改transformopacity只触发合成(Composite),直接走GPU,完全不卡。

差代码

.box {
  transition: left 0.3s;
  left: 0;
}
.box.active {
  left: 100px;
}

好代码

.box {
  transition: transform 0.3s;
  transform: translateX(0);
}
.box.active {
  transform: translateX(100px);
}

记住:能用transform绝不用left,能用opacity绝不用visibility

三、第2招:滚动事件用passiverequestAnimationFrame

滚动时触发scroll事件,如果你在里面做复杂操作,浏览器会等你的代码执行完才滚动,导致卡顿。

解决方案1:passive: true
告诉浏览器:我不会调用preventDefault(),你可以直接滚动。

window.addEventListener('scroll', handler, { passive: true });

解决方案2:用requestAnimationFrame节流
滚动事件触发频率很高,不需要每一帧都处理。用requestAnimationFrame保证只在浏览器要渲染时才执行。

let ticking = false;
window.addEventListener('scroll', () => {
  if (!ticking) {
    requestAnimationFrame(() => {
      // 做滚动相关操作
      ticking = false;
    });
    ticking = true;
  }
});

四、第3招:输入框防抖,别每敲一个字都发请求

搜索框实时搜索,用户每打一个字母就发请求,不仅卡,还把服务器打爆。

防抖(debounce):用户停止输入300ms后才执行。

function debounce(fn, delay) {
  let timer;
  return function(...args) {
    clearTimeout(timer);
    timer = setTimeout(() => fn.apply(this, args), delay);
  };
}
const search = debounce((keyword) => {
  fetch('/search?q=' + keyword);
}, 300);
input.addEventListener('input', (e) => search(e.target.value));

五、第4招:虚拟列表,一万条数据也不怕

渲染长列表(比如聊天记录、商品列表)时,一次性生成所有DOM节点会导致页面卡死。虚拟列表只渲染可视区域内的几条,滚动时动态替换。

实现思路:监听滚动,计算当前显示哪些索引,只创建这些DOM。推荐直接用库:react-windowvue-virtual-scroller

import { FixedSizeList as List } from 'react-window';
const Row = ({ index, style }) => <div style={style}>行 {index}</div>;
<List height={400} itemCount={10000} itemSize={35}>
  {Row}
</List>

瞬间渲染一万条,丝滑。

六、第5招:Web Worker,把重活丢到后台

复杂计算(比如数据加密、图像处理、大量数据排序)会阻塞主线程,导致页面无法交互。用Web Worker在后台线程执行,完事通知主线程。

// worker.js
self.onmessage = (e) => {
  const result = heavyComputation(e.data);
  self.postMessage(result);
};

// main.js
const worker = new Worker('worker.js');
worker.postMessage(largeData);
worker.onmessage = (e) => {
  console.log('计算结果', e.data);
};

注意:Worker里不能操作DOM,只能做计算。

七、额外绝招:避免强制同步布局

当你在JS里读取布局属性(offsetTopclientWidth等),又紧接着修改样式,浏览器会强制同步重排,非常卡。

// 坏
boxes.forEach(box => {
  box.style.width = box.offsetWidth + 'px'; // 读,触发重排
});
// 好
const widths = boxes.map(box => box.offsetWidth); // 先全读
boxes.forEach((box, i) => {
  box.style.width = widths[i] + 'px'; // 再全写
});

读写分离,批量操作。

八、工具检测:Performance面板使用技巧

  • 录制一段操作,看火焰图里长任务(Long Task)——超过50ms的任务会标记为红色。
  • 勾选“Screenshots”能看到卡顿时的画面。
  • 看“Summary”标签,如果“Layout”或“Paint”占比高,说明需要减少重排重绘。

九、总结:运行时优化口诀

  • 动画用transform,不用left/top
  • 滚动加passive,事件用rAF
  • 输入做防抖,长列表用虚拟。
  • 重计算丢Worker,读写要分离。

优化完,你再滑动页面,就像摸到丝绸一样顺滑。用户会惊讶:“这网站怎么这么快?”


如果你觉得今天的“丝滑课”够流畅,点个赞让更多人看到。明天我们聊聊前端工程化——从脚手架到自动化部署,让你一键发布,告别手动上传FTP。我们明天见!

背景: https://www.v2ex.com/t/1207417

由于家里原来的宽带被限速+频繁断流,本来都保修了,想看看其他运营商宽带,无意间发现咸鱼有 230 块钱,上下行 300m ,带固定 ip ,不限端口、不限速度、不限流量(只要别有巨大跨省流量就行)。业务员跟我说的是“专线”网络。

这个是有啥坑吗?

https://www.v2ex.com/t/862056
https://www.v2ex.com/t/1105874
https://www.v2ex.com/t/870970
https://www.v2ex.com/t/1125501

搜了下以前的讨论,商宽都贵得离谱,为啥我这个这么便宜?

Mplus是一款统计建模软件,主要用于结构方程模型(SEM)的估计和拟合,Mplus界面简单、数据和分析结果以图形显示,为研究人员提供广泛的模型、估计和算法的选择。

一、安装准备

二、安装步骤

1. 解压安装包

右键点击【Mplus8.11(64bit)】压缩包 → 选择【解压到 Mplus8.11(64bit)】。

2. 运行安装程序

打开解压后的文件夹 → 双击运行【Setup】。

3~4. 设置安装路径

  • 点击【Next】。
  • 点击【Change】→ 修改路径地址中的首字符“C”可更改安装位置(例如将 C 改为 D)→ 点击【OK】。

5~6. 执行安装

点击【Next】→ 点击【Install】。

7~9. 完成安装

等待安装进度完成 → 点击【Finish】→ 点击【No】(不重启)。

    • *

三、验证安装

10. 启动软件

双击桌面【Mplus Demo Editor】图标。

11. 安装成功

成功进入 Mplus 编辑器界面,表示安装完成,可开始编写语法进行数据分析。

最近我有点痴迷一件事:用 AI 快速写项目、快速上线,然后尽快去验证想法。
比如验证一个词是不是“新词”,以及这种新词大概要配多少外链,才能更快拿到结果。

这一路折腾下来,花销其实不算少。
我前后主要用了两个 AI 工具:

一个是 antigravity,具体花了多少有点记不清了,差不多小一千。后来基本没怎么用,已经属于吃灰状态。
另一个是 codex,我是官方买的,花了 1630 元,20x pro。现在我用得更多的还是 codex,虽然像“老爷车”,但整体确实更稳一点。

说实话,antigravity 我个人并不太推荐。最大的问题不是完全不能用,而是经常给人一种在“摸鱼划水”的感觉,用着很容易把人心态搞崩,体验挺让人无语的。

最近我也用 AI 写了不少项目,但真正觉得对大家有参考意义的,可能就两个:

1. 海外低价渠道

如果你想找相对便宜一些的 codex 和 antigravity 渠道,可以看看这个:

GetCodexPro

不过还是提醒一句:进群之后不要轻信所谓“质保”,很多承诺其实并不靠谱。
建议自己多斟酌、多对比,选一个适合自己的、性价比更高的渠道。别像我一样,直接按官方价格买,当了回冤大头。
至于低价渠道到底怎么样,我只能说身边确实有同事用过,价格从几十到几百的都有,但具体稳不稳定、值不值得,还是要自己判断。

2. 外链包

如果你是做 SEO 的,这个可能对你更有用:

submitora

这是我这些年做出海时慢慢整理下来的一批外链资源,现在做了一个打包处理。整体价格比较便宜,基本上 DR 都在 10 以上。
如果你本身就在做 SEO,这类资源能省掉不少时间;如果你不做 SEO,那它对你基本没什么意义。

总之,这一波折腾下来最大的感受就是:
AI 确实能帮你把“从想法到上线”的速度提得很快,但工具本身是否稳定、成本是否合理,也非常重要。
如果你也在做类似方向,希望上面这两个链接能给你一点参考。

今年高企的硬件价格,让搬瓦工/DMIT 都不再投入资源,守着现金;再加上国内环境变化,海外 IDC 厂家各个都惜售手里的产品,小厂家也借机推出自己的产品,个个都卖爆了

先说结论,VMRack 机器的 IP 质量和解锁都挺好,线路的话只建议买 L3 级别产品,落地的话只建议 L2 、L1 (其中 L1 只能拿来做落地用,直连有点费劲)

洛杉矶线路分为 3 个级别,有 30 多款产品:

3 个级别分别是 L3 三网精品 L2 三网优化 L1 美国原生

L3 三网精品是优化线路机器,三网各自优化,IPv4-电信 CN2GIA 联通 9929 移动 CMIN2 无 IPv6
L2 三网优化是没有优化完全的机器,IPv4-电信 163 联通 10099 移动 CMI 无 IPv6
L1 美国原生,无优化线路,IPv4-普通线路 无 IPv6

① L3 三网精品

三网各自优化就是顶呱呱,再加上 IP 干净,是线路机+落地鸡 合二为一优选,上一个这么优秀的机器,还是 Zgo 美西新三网各自优化精品机器(配置和流量稍逊 VMRack 一点)

L3.VPS.1C2G.Base (特价机)

1 、本机基本信息(可以看得出来是 AMD EPYC 系列 CPU )

image

2 、YABS 跑分,单核 1245 分(磁盘读写一般,国际方向带宽也一般,但 CPU 得分还可以,没有严重超售)

image

3 、IP 质量(还别说,新开的机器 IP 质量都很好,流媒体解锁,AI 也都全解锁)

image

4 、媒体解锁(流媒体解锁,AI 也都全解锁)

image

5 、三网回程(电信 CN2GIA 联通 9929 移动 CMIN2,脚本问题显示为 cmi)

image

6 、PING 及测速

image

image

image

L3 三网各自优化精品( 6/10 款有货)

产品名称 CPU 内存 硬盘 带宽 流量 价格 库存 购买
L3.VPS.1C2G.Base 1 核 2G 20G 500Mbps 1000GB $7.99/1 个月 ~~$24.00~~ (-67%) ❌ 无货 购买 #AFF
L3.VPS.2C2G.Base 2 核 2G 40G 500Mbps 1500GB $13.99/1 个月 ~~$38.00~~ (-63%) ❌ 无货 购买 #AFF
L3.VPS.2C4G.Base 2 核 4G 60G 500Mbps 2000GB $19.99/1 个月 ~~$47.00~~ (-57%) ❌ 无货 购买 #AFF
L3.VPS.4C4G.Plus 4 核 4G 80G 1Gbps 4TB $49.99/1 个月 ~~$86.00~~ (-42%) ✅ 有货( 22 台) 购买 #AFF
L3.BVPS.2C2G.Base 2 核 2G 50G 20Mbps 不限流量 $89.00/1 个月 ~~$127.50~~ (-30%) ⚡ 紧张( 20 台) 购买 #AFF
L3.VPS.4C8G.Plus 4 核 8G 100G 1Gbps 8TB $96.99/1 个月 ~~$163.00~~ (-40%) ✅ 有货( 24 台) 购买 #AFF
L3.VPS.1C1G.Base 1 核 1G 20G 500Mbps 600GB $102.00/6 个月 ❌ 无货 购买 #AFF
L3.VPS.8C16G.Pro 8 核 16G 200G 1Gbps 16TB $189.99/1 个月 ~~$324.00~~ (-41%) ✅ 有货( 25 台) 购买 #AFF
L3.BVPS.2C4G.Plus 2 核 4G 80G 50Mbps 不限流量 $219.00/1 个月 ~~$315.00~~ (-30%) ⚡ 紧张( 20 台) 购买 #AFF
L3.BVPS.4C8G.Pro 4 核 8G 100G 100Mbps 不限流量 $459.00/1 个月 ~~$626.00~~ (-27%) ⚡ 紧张( 20 台) 购买 #AFF

L3 测速地址: https://L3.vpszdm.com

② L2 三网优化

VMRack 的三网优化,其实是半优化的机器,优化不完全

L2.VPS.2C2G.Base (特价机)

1 、本机基本信息(可以看得出来是 AMD EPYC 系列 CPU )

image

2 、YABS 跑分,单核 1308 分 双核 1887 分( CPU 得分还可以,没有严重超售)

image

3 、IP 质量(还别说,新开的机器 IP 质量都很好,流媒体解锁,AI 也都全解锁)

image

4 、媒体解锁(流媒体解锁,AI 也都全解锁)

image

5 、三网回程(脚本测出来怎么都走联通 4837)

image

6 、PING 及测速

image

image

L2 三网优化( 7/10 款有货)

产品名称 CPU 内存 硬盘 带宽 流量 价格 库存 购买
L2.VPS.2C2G.Base 2 核 2G 40G 5Gbps 2TB $4.88/1 个月 ~~$14.00~~ (-65%) ❌ 无货 购买 #AFF
L2.VPS.2C4G.Base 2 核 4G 60G 5Gbps 4TB $8.88/1 个月 ~~$23.00~~ (-61%) ❌ 无货 购买 #AFF
L2.VPS.4C4G.Plus 4 核 4G 80G 5Gbps 6TB $12.88/1 个月 ~~$32.00~~ (-60%) ⚡ 紧张( 1 台) 购买 #AFF
L2.VPS.4C8G.Plus 4 核 8G 100G 5Gbps 10TB $20.88/1 个月 ~~$49.00~~ (-57%) ✅ 有货( 25 台) 购买 #AFF
L2.VPS.8C8G.Pro 8 核 8G 150G 10Gbps 20TB $36.88/1 个月 ~~$85.50~~ (-57%) ✅ 有货( 25 台) 购买 #AFF
L2.VPS.1C1G.Base 1 核 1G 20G 5Gbps 1TB $48.00/6 个月 ❌ 无货 购买 #AFF
L2.VPS.8C16G.Pro 8 核 16G 200G 10Gbps 30TB $54.88/1 个月 ~~$126.00~~ (-56%) ✅ 有货( 25 台) 购买 #AFF
L2.BVPS.2C2G.Base 2 核 2G 50G 100Mbps 不限流量 $79.00/1 个月 ~~$107.50~~ (-27%) ⚡ 紧张( 19 台) 购买 #AFF
L2.BVPS.2C4G.Plus 2 核 4G 80G 200Mbps 不限流量 $159.00/1 个月 ~~$214.00~~ (-26%) ⚡ 紧张( 20 台) 购买 #AFF
L2.BVPS.4C8G.Pro 4 核 8G 100G 500Mbps 不限流量 $390.00/1 个月 ~~$526.00~~ (-26%) ⚡ 紧张( 20 台) 购买 #AFF

L2 测速地址: https://L2.vpszdm.com

##③ L1 美国原生

VMRack 的 L1 是叫美国原生,线路到国内没有优化


L1.VPS.2C2G.Base (特价机)

1 、本机基本信息(可以看得出来是 AMD EPYC 系列 CPU )

image

2 、YABS 跑分,单核 1196 分 双核 1944 分( CPU 得分还可以,没有严重超售)

image

3 、IP 质量(还别说,新开的机器 IP 质量都很好,流媒体解锁,AI 也都全解锁,适合落地)

image

4 、媒体解锁(流媒体解锁,AI 也都全解锁)

image

5 、三网回程

image

6 、PING 及测速

image

image

L1 美国原生( 6/10 款有货)

产品名称 CPU 内存 硬盘 带宽 流量 价格 库存 购买
L1.VPS.2C2G.Base 2 核 2G 40G 5Gbps 2TB $3.66/1 个月 ~~$9.80~~ (-63%) ❌ 无货 购买 #AFF
L1.VPS.2C4G.Base 2 核 4G 60G 5Gbps 4TB $5.66/1 个月 ~~$14.60~~ (-61%) ❌ 无货 购买 #AFF
L1.VPS.4C4G.Plus 4 核 4G 80G 5Gbps 8TB $9.66/1 个月 ~~$21.20~~ (-54%) ❌ 无货 购买 #AFF
L1.VPS.4C8G.Plus 4 核 8G 100G 5Gbps 16TB $16.66/1 个月 ~~$33.40~~ (-50%) ✅ 有货( 24 台) 购买 #AFF
L1.BVPS.2C2G.Base 2 核 2G 50G 100Mbps 不限流量 $27.50/1 个月 ~~$37.50~~ (-27%) ⚡ 紧张( 19 台) 购买 #AFF
L1.VPS.8C8G.Pro 8 核 8G 150G 10Gbps 30TB $28.66/1 个月 ~~$52.50~~ (-45%) ✅ 有货( 25 台) 购买 #AFF
L1.VPS.1C1G.Base 1 核 1G 20G 5Gbps 1TB $35.40/6 个月 ❌ 无货 购买 #AFF
L1.VPS.8C16G.Pro 8 核 16G 200G 10Gbps 40TB $36.66/1 个月 ~~$72.00~~ (-49%) ✅ 有货( 25 台) 购买 #AFF
L1.BVPS.2C4G.Plus 2 核 4G 80G 200Mbps 不限流量 $55.00/1 个月 ~~$75.00~~ (-27%) ⚡ 紧张( 20 台) 购买 #AFF
L1.BVPS.4C8G.Pro 4 核 8G 100G 500Mbps 不限流量 $126.00/1 个月 ~~$176.00~~ (-28%) ⚡ 紧张( 20 台) 购买 #AFF

L1 测速地址: https://L1.vpszdm.com


最后说一下,值得买的是 L3 ,特价款最值得买了,但经常缺货

🔥 限时特价( 0/2 款有货)

产品名称 CPU 内存 硬盘 带宽 流量 价格 库存 购买
L3.VPS.1C2G.Base 1 核 2G 20G 500Mbps 1000GB $7.99/1 个月 ~~$24.00~~ (-67%) ❌ 无货 购买 #AFF
L3.VPS.1C1G.Base 1 核 1G 20G 500Mbps 600GB $25.00/6 个月 ~~$102.00~~ (-75%) ❌ 无货 购买 #AFF

引用论坛某位资深大佬的话是,vmrack 每周一早上 9 点-10 点会小批量放货,放货之前登录账号,点击购买,多点几次支付就能抢到

另外,根据祖训,大家抢特价机之前,一定要先注册好账号,务必做到一号一机!一号一机!一号一机!

可千万不要一号多机,玩够了难以出手。一号一机非常容易出手。按现在的硬件趋势,未来这个特价机还会溢价,买到 L3 低配特价机就是赚到

补货监控: https://stock.vpszdm.com

最近我做了一个很轻量的项目:不是做资源下载站,也不是做安装包分发站。

它的核心目标很简单:当用户搜索某个聊天功能、某个应用入口、某个平台安装方式时,给他一个更清楚、更安全的答案,而不是把他继续带到来源不明的下载页里。

更有意思的是,这个站从想法到落地,我是直接用 ChatGPT Codex 辅助完成的。整个过程算下来,真正把一个可访问、可承接内容、可继续扩展的雏形搭出来,差不多只用了半个小时。

站点示例在这里:

下载引导站示例

为什么我没有做“资源站”,而是做“引导站”

这类关键词本身就有明显的搜索需求,比如:

  • 下载入口
  • 安卓版本
  • 应用商店安装
  • 网页端能不能用
  • 是否已经开放
  • 使用路径到底是什么

但问题在于,很多页面一看到这类需求,第一反应就是放“下载按钮”,甚至直接做成聚合页、镜像页、安装包页。流量上可能见效快,但从长期看,风险也高,信任感也弱。

我最后确定的方向是:只做引导,不做分发。

也就是说,这个站只解决三件事:

  1. 帮用户理解现在到底应该从哪里进入。
  2. 帮用户判断 Android、iPhone、Web 端分别怎么用。
  3. 帮用户避开不明来源的安装包和高风险页面。

这个思路定下来以后,整个项目就一下子清晰了。

ChatGPT Codex 帮我做了什么

这次我没有把它当成“代码补全工具”,而是把它当成一个真正能协同做站的搭档。

我先给了一个非常明确的方向:

  • 做一个独立的下载引导站
  • 页面围绕高意图搜索词组织
  • 所有结论尽量指向更可靠的来源
  • 不提供 APK
  • 不假装官方
  • 首页负责承接主搜索意图
  • 细分页负责承接 Android、应用商店、FAQ、上线信息这些长尾需求

接着,它就能很快往下推进:

  • 帮我整理页面结构
  • 生成首页文案骨架
  • 拆出不同搜索意图对应的独立页面
  • 统一页面 SEO 信息
  • 加上跳转路由和说明文案
  • 把“独立站、非官方、只做引导”的边界写清楚

对我来说,最省时间的不是“它替我写了多少代码”,而是“它帮我把想法迅速变成了一个成型的网站结构”。

半小时内,一个雏形站点至少要具备什么

我这次的经验是,如果目标只是先把站跑起来,而不是一步做到很重,那么半小时里最值得优先完成的是这几部分。

1. 首页必须先能承接搜索意图

首页不是简单介绍站点,而是直接回答用户最想知道的问题:

  • 到底有没有独立入口
  • 现在最稳妥的使用路径是什么
  • 安卓和 iPhone 分别怎么看
  • 有没有网页端
  • 哪些来源不建议碰

这一点很关键。因为很多站首页写得像公司介绍页,搜索用户一进来就找不到重点,很快就走了。

2. 长尾页一定要拆开

我后来发现,把所有问题塞到一个页面里并不好。真正有价值的是把不同需求拆开,比如:

  • 安卓说明页
  • 应用商店说明页
  • 常见问题页
  • 上线时间或可用性页面
  • 使用方法页

这样既方便内容组织,也更适合后续持续补充。

3. 一开始就把“边界”写清楚

这个项目里,我最看重的一条就是:

不做下载包托管,不做来源不明的安装分发,只做引导和信息整理。

很多站点后面越做越乱,往往不是技术问题,而是一开始边界没定好。边界一旦清楚,站点内容就会自然稳定很多。

为什么这种站点适合用 AI 协同来做

这个项目让我更明显地感觉到,像这种“内容结构明确、页面逻辑清楚、产品边界稳定”的站,非常适合用 AI 协同开发。

原因有三个。

第一,需求虽然不复杂,但很碎

这种站的难点,不是某个功能特别复杂,而是页面多、文案多、结构多、SEO 点位多。如果完全手写,其实很耗时间。

第二,它特别适合先出骨架再慢慢迭代

你不需要一开始就把所有内容做满。先把首页、几个核心页、基础跳转和说明做出来,站就已经可以跑。后面再慢慢补 FAQ、补长尾页、补内容密度就行。

第三,AI 很适合处理“重复但不能太机械”的工作

比如:

  • 类似页面的统一结构
  • 多个页面的标题和描述
  • 风险提示的统一表达
  • 独立站声明的复用
  • 页面之间的内链设计

这些事情人做当然也行,但让 AI 先搭好第一版,会快很多。

这个项目给我最大的感受

以前很多人会觉得,做一个站至少要准备很久,设计、前端、SEO、文案、结构、部署,每一步都要花不少时间。

但这次我的体感是,只要方向明确,一个轻量、聚焦、能承接真实搜索需求的小站,真的可以非常快地跑起来。

关键不在于“AI 替你做完了全部工作”,而在于它把从 0 到 1 这一步压缩得很短。

你不再需要先花几天时间画一个很完整的方案,再慢慢开始。很多时候,只要先把目标说清楚,把边界说清楚,把不该做的事情也说清楚,剩下的推进速度会比想象中快很多。

如果让我总结这半小时最重要的决定

不是技术栈,也不是页面数量,而是下面这三条。

  1. 不做资源分发,做下载引导。
  2. 不抢“官方”叙事,只强调独立整理。
  3. 不追求一次做满,而是先把首页和关键长尾页跑通。

把这三件事想清楚之后,ChatGPT Codex 更像是在帮我提速,而不是替我做决定。

结语

这次做这个下载引导站,让我更确定一件事:AI 最适合的,不只是生成代码,而是帮助我们更快完成“从想法到上线”的那段过程。

如果方向明确、边界清晰、需求聚焦,那么半个小时做出一个可以继续生长的站点雏形,并不是一件特别夸张的事。

对个人开发者、小团队,或者想快速验证搜索需求的人来说,这种方式其实很值得试一遍。

如果你也想看看这种轻量下载引导站大概长什么样,可以直接参考这个示例:

ChatAppReviews

模力工场新鲜事

  1. 4 月 24 日(本周五)-4 月 26 日(本周日),2050 大会将盛大开启!

  • 地点:中国杭州 · 云栖小镇国际会展中心

今年的 2050 大会干货超满!两天一夜,130+场论坛、500+分享者,从早 8 点讲到深夜。

2050 大会,是王坚院士在 2018 年发起了一个面向年轻人的“科技乌托邦式聚会”。

极客邦科技创始人兼 CEO 霍太稳(Kevin)也是最早的共创者之一。10 年前,几人在上海的一间酒店会议室里聊天,聊着聊着就冒出一个问题——能不能做一个规模大一点、真正属于年轻人的科技聚会?名字反复打磨,形式一再推敲,这些想法一点点长成了今天的 2050 大会。

2017 年 10 月 29 日在上海某个酒店的会议室,2050 大会开始发芽

从左至右:薛贵荣、王坚、锦木、霍太稳

在每年 4 月最后一个周五六日,全球最有趣的年轻开发者、创客、AI 爱好者将齐聚杭州——没有架子、没“大咖席”,只有纯粹的热爱和好玩的灵魂,以及这个时代最前沿、最鲜活的思考。

参与活动请扫描下方二维码,更多攻略一步到位,还可以抽取大会门票和模力工场精美周边哦~

  1. 全新内容栏目上线!「Q:Lab」专注于 AI 产品深度探索、测评

如果你已经看腻了“这个 AI 很强”、“那个 Agent 很聪明”的 PR 介绍;那我们换一种更直接的方式:把各种 AI 产品拉进不同场景,让真实用户现场实操,结果好不好一眼见分晓。

在此,向大家介绍 InfoQ 中国推出的全新 AI 产品深度探索、测评直播栏目:「Q:Lab」

这里不讲概念、不教部署——每期围绕一个真实职业场景,让 AI 产品同时接受测评,由一线从业者亲手操作,现场出结果。

第一季「龙虾季」由模力工场和 InfoQ 共创,聚焦 AI Agent 产品,覆盖 9 款核心产品,共 3 期直播。

不是广告!干货满满!欢迎预约~

  1. 直通「AI 界春晚」机会来啦!WAIC Future Tech 开启“一人公司”先行者大赛

现在,初创公司和普通开发者,也有机会成为 AI 界顶级盛会世界人工智能大会(WAIC)的参展方,向顶级投资人、媒体、30 万+参观者展示推广你的产品或成果。

玩法很简单:4 月线上提交 Demo 筛选,5 月城市路演(北京、上海、深圳、成都、新加坡等 10 城联动),7 月进入 WAIC 总决赛。

为了让更广泛的群体参与进来,主办方设置了“双轨制赛道”。

目前活动正在火热进行中!报名持续开放、滚动筛选。

如果你已经用 AI 做出点东西,这是一次将其放到聚光灯下的特别好的机会。更多详情可见《Future Tech | 你的idea只差一个AI:直通WAIC世界舞台,寻找“一人公司”先行者》

模力工场 037 周榜单总介绍

模力工场

第 037 周 AI 应用榜来袭!前 10 名如下:

XT-AIGC

XT-AIGC 是一款轻量化 AI 创作工具,集成文生图、角色三视图、图生视频及漫剧制作,支持多模型密钥管理,接入即可使用。

MonkeyCode 智能开发平台

通过 AI 驱动的编程助手、自动化工作流和智能开发工具,帮助开发者更快速地构建应用程序。

来福

你的私人 AI 电台,海量内容、打开就播,个性化推荐、越听越懂你,语音聊天、智控点播,多种 AI 主播随心选。

Moras

一款面向内容电商的 AI Agent,把选品、脚本、视频生成、发布到数据分析这一整套流程自动化,让个人也能跑通带货。简单理解:它把原本需要一整个团队完成的卖货链路,压缩成一个人+AI 就能完成。

MemoryLake

一个记忆护照。伴你穿梭于 ChatGPT、Claude、Qwen、OpenClaw,跨越每一个智能体、每一次会话。

镖行AI标书

镖行 AI 标书,标书 AI 智能写作工具。一键智能生成图文并茂高质量标书,高效辅助投标。操作简单,急标、新手友好。

TalkAI

用 AI 模拟真实对话场景的口语练习工具,让你在没有语言环境和搭档的情况下,也能随时练习并获得即时反馈与纠正。

讯飞译制

基于科大讯飞语音识别技术的 AI 视频字幕制作软件

讯飞写作

基于科大讯飞星火大模型的一款 AI 智能写作助手

问小白

探索世界的 AI 搭子,一款支持多模态输入的 AI 助手,帮你快速获取信息、生成内容并处理文档,甚至可以一键把回答生成可用的网页页面。

本周必试应用

【应用名称】:XT-AIGC

【关键词】:图像设计|视频多媒体| 新媒体创作

【用户热评】:

我开发这款软件,核心是解决普通创作者用 AI 太麻烦、太分散的问题

  1. 市面上 AI 工具零散,文生图、视频、漫剧要切换多个平台,效率低

  2. 新手不会部署本地模型,接口复杂难上手

  3. 短剧、动漫创作缺少一站式工具,流程繁琐

  4. 所以做一款聚合型 AIGC 软件,降低门槛,让普通人也能高效完成 AI 创作。

——用户 @孔庆荣

【使用场景】:

  1. 文生图,图生图,文生视频,图生视频。

  2. 自己定义图片节点进行人物换装,换场景等等。

  3. 调整人物拍摄角度。

  4. 人物补充灯光。

  5. 内置摄像头等提示词,可以快速仿照传统相机出对应的图片。

  6. 漫剧制作。

  7. 图片提示词解析。

本周上榜应用趋势解读

首先,是“连接层”开始出现,生态意识增强。

像 MemoryLake 这种产品,其实在解决一个更底层的问题:ChatGPT、Claude、Qwen、OpenClaw 各自割裂,而且用户数据和记忆不互通,而它做的,就是在不同 Agent/模型之间做“记忆中枢”。

其二,是现在的 AI 应用已经从“单点工具”转换成“一整条链路助手”,最近这几周的 AI 应用都或多或少地体现了这个特点。

Moras、XT-AIGC、MonkeyCode 这些产品上都能看到这点。

  • Moras:选品 → 脚本 → 视频 → 发布 → 数据分析(完整电商链路)

  • XT-AIGC:文生图 → 图生视频 → 漫剧制作(完整内容生产链路)

  • MonkeyCode:写代码 → 工作流 → 自动化开发(完整开发链路)

其二,是门槛在被系统性压低,越来越多的 AI 应用也开始“非技术背景用户”。

这批产品明显在做一件事:复杂能力在后台,用户只需要“说一句话”,零基础的人也能用,例如:

  • XT-AIGC:把多模型调用、提示词、图像节点都封装好

  • 镖行 AI 标书:直接一键生成完整标书(新手也能用)

  • TalkAI:模拟真实对话+实时纠错,替代语言环境

  • 问小白:自然语言+多模态+文件理解,甚至直接生成网页

还有一点,就是多模态成为标配,而不是卖点。

这一周几乎所有产品,都在不同程度上“多模态化”。例如:

  • XT-AIGC:图像 + 视频 + 漫剧

  • 问小白:文本 + 文件 + 图片解析

  • 讯飞译制:语音 → 字幕 → 视频处理

但它们的重点已经不是“我支持多模态”,而是多模态只是完成任务的手段之一。

首先说的时间是早上 8 点半,下午五点半,但是还说忙的话八九点才能下班。



这不是要人命,下午一点半就要开始干活了,五点半还不能下班,八点半就上班了,加班到晚上九点,第二天顶多可以晚半个小时



这工作时间,谁受得了啊

Web 3D 可视化开发中,模型动画、材质质感、渲染扩展性是提升产品体验的关键,但其底层逻辑复杂,如骨骼蒙皮、光照计算,导致开发门槛高、效率低。图扑软件自研 HT for Web(简称 HT)高性能 Web 3D 渲染框架,为 FBX/glTF 模型的骨骼动画、材质切换及自定义 Shader 开发提供完善支持,可大幅降低开发门槛,提升 3D 应用的开发效率与视觉呈现质量。

此图片的alt属性为空;文件名为2.gif

系统分析

01 FBX/glTF 模型骨骼动画实现

骨骼动画是复杂 3D 模型动态交互的核心能力。HT 框架通过底层渲染逻辑封装,大幅简化骨骼蒙皮、帧插值、动画调度等复杂流程,开发者可通过标准化流程快速实现模型动画。

建模与导出规范

设计师可在 3ds Max、Maya、Blender 等主流工具中完成模型构建、骨骼绑定与权重绘制,并编辑关键帧动画(如机械运动、角色行走、设备动作等)。

模型导出需遵循以下规范(确保动画数据完整、加载高效):

  • FBX:保留完整动画通道信息,确保骨骼与动画数据完整;
  • glTF:优先使用 .glb 二进制格式,资源打包密度更高、网络加载更快。

此图片的alt属性为空;文件名为3-1.gif

动画加载与播放

开发者无需关注底层渲染(如骨骼蒙皮计算、动画帧插值),通过简洁代码即可实现动画,具体步骤如下:

1 创建 3D 视图

初始化视图并挂载到 DOM,为模型加载提供渲染容器。

var g3d = new ht.graph3d.Graph3dView();
g3d.addToDOM();

此图片的alt属性为空;文件名为4-2.gif

2 加载模型节点

FBX 与 glTF 仅 modelType 差异,glTF 支持 .gltf/.glb 格式。

var walkMan = new ht.Node();
// FBX配置(glTF设为modelType: "gltf",url对应.gltf/.glb文件)
var modelJson = {
    modelType: "fbx",
    url: 'assets/graph3dView/fbx/walk.fbx',
    cube: true,
     center: true,
    playAutomatically: true
};
walkMan.s('shape3d', modelJson);
g3d.dm().add(walkMan); 

此图片的alt属性为空;文件名为5-3.gif

3 动画控制

支持播放、暂停、多片段切换,适配所有模型格式。

var animNames = walkMan.getAnimationNames(); // 获取所有动画名(如["walk", "run"])
// 播放指定动画:参数依次为动画名、速度(1=原速)、起始时间(0=从头播)、循环模式walkMan.playAnimation(animNames[0], 1, 0, 'repeat'); 
// 暂停动画(按需调用)
// walkMan.pauseAnimation();
// 切换动画(如从行走切到跑步)
// walkMan.playAnimation(animNames[1], 1.2, 0, 'repeat');

此图片的alt属性为空;文件名为6-2.gif

此图片的alt属性为空;文件名为7-2.gif

HT 框架封装了底层骨骼蒙皮、帧插值等复杂计算逻辑,开发者无需编写专业蒙皮算法,即可快速实现专业级 3D 动画,且支持与内置动画系统无缝融合,轻松构建复杂动态场景。

此图片的alt属性为空;文件名为9-2.gif

02 HT 框架材质系统解析

材质是决定模型物理质感与场景氛围的核心要素。HT 提供三层材质体系,并在 FBX/glTF 模型上保持配置逻辑完全统一,具备超强的工程化复用能力

核心材质类型

1 PBR 物理渲染材质(Physicallly-Based Rendering)

  • 原理: 基于物理规律模拟光线与物体表面的交互,支持金属度(metalness)、粗糙度(roughness)、环境光反射(environmentMap)等参数;
  • 优势: 真实感强,在动态光影、多光源场景下,仍能呈现真实质感(如金属反光、玻璃折射);
  • 适配: glTF 格式原生支持 PBR,导出时可直接携带 PBR 参数,FBX 需在 HT 中重新配置;
  • 场景: 数字孪生工厂(设备金属外壳)、3D 产品展示(家电塑料/金属部件)。

此图片的alt属性为空;文件名为10-2.gif

2 Blinn-Phong 材质

  • 原理: 经验光照模型,将光线分为环境光(ambient)、漫反射(diffuse)、高光(specular)三部分;
  • 优势: 计算开销低、渲染效率高,适合低性能设备(如移动端);
  • 场景: 轻量化 3D 界面(如设备状态图标)、简单模型展示(如立方体控件)。

此图片的alt属性为空;文件名为11-1.gif转存失败,建议直接上传图片文件

3 litePhong 材质(HT 自研)

  • 定位: 平衡性能与效果,简化 Blinn-Phong 计算,保留核心参数调整能力;
  • 关键参数:

    • 漫反射:diffuse(基础颜色,默认 #fff)、map(漫反射贴图,支持 .jpg/.png)
    • 自发光:emissive(发光颜色,默认 #000000,设为 #ff0000 可实现红色发光);
    • 透明:opacity(0-1 取值,0=完全透明,1=不透明)、transparent(需设为 true 才生效);
    • 粗糙度:roughness(0-1 取值,0=镜面反射,1=漫反射);
  • 场景: 指示灯(自发光)、半透明设备外壳(透明参数)。

材质设置方式

1 材质注册·全局复用
通过 ht.Default.setMaterial 注册材质,支持直接传入配置或 JSON 文件路径,后续可通过名称复用,避免重复编码。

// 1. 直接传配置(PBR材质示例)
ht.Default.setMaterial('metalMat', {
     type: 'pbr',
     metalness: 0.9, // 高金属度
     roughness: 0.1, // 低粗糙度(镜面效果)
     environmentMap: 'assets/textures/env.jpg'// 环境贴图(增强真实感)
});
// 2. 传JSON文件路径(复杂材质配置,如多贴图)
ht.Default.setMaterial('plasticMat', 'materials/plasticMat.json');

此图片的alt属性为空;文件名为12-2.gif

2 普通节点材质设置

普通 3D 节点(如立方体、球体)可直接通过 shape3d.material 绑定材质:

var cube = new ht.Node();
cube.s('shape3d', 'cube'); // 设节点为立方体
// 方式1:用已注册的材质名
cube.s('shape3d.material', 'metalMat');
// 方式2:直接传临时材质配置(不复用)
cube.s('shape3d.material', {
     type: 'litePhong',
     diffuse: '#409EFF',
     emissive: '#1E90FF'
});
g3d.dm().add(cube);

3 FBX/glTF 模型材质设置

FBX/glTF 模型需依赖设计师在建模软件中预留的材质通道(如通道名 body、arm),通过 matDef 为指定通道绑定材质,实现“局部材质修改”:

var robot = new ht.Node();
robot.s('shape3d', { modelType: 'gltf', url: 'assets/robot.glb' });
// 为通道"body"设metalMat,"arm"设plasticMat
robot.s('matDef', {
    "body": "metalMat",
     "arm": "plasticMat"
});
// 也可直接传材质配置
// robot.s('matDef', { "body": { type: 'pbr', metalness: 0.8 } });
g3d.dm().add(robot);

此图片的alt属性为空;文件名为13-1.gif
4 单独节点材质修改·避免复用冲突

若多个节点复用同一材质,直接修改材质会导致所有节点同步变化,需通过“复制材质”实现单独修改(以调整透明度为例):

// 单独修改节点透明度(FBX/glTF通用)
functionsetNodeOpacity(node, targetOpacity) {
    // 1. 获取节点当前材质定义(matDef)
    var matDef = node.s('matDef');
    // 若节点未自定义matDef,从模型默认配置中获取
    if (!matDef || Object.keys(matDef).length === 0) {
        matDef = ht.Default.getShape3dModelMap()[node.s('shape3d')].matDef;
    }
    // 2. 深拷贝材质配置(避免修改原材质)
    var matDefCopy = {};
    for (var key in matDef) {
        // 克隆已注册的材质(ht.Default.clone确保深拷贝)
        matDefCopy[key] = ht.Default.clone(ht.Default.getMaterialMap()[matDef[key]]);
        // 3. 修改材质参数(设透明)
        matDefCopy[key].transparent = true;
        matDefCopy[key].opacity = targetOpacity;
    }
    // 4. 重新绑定材质到节点
    node.s('matDef', matDefCopy);
}
// 调用:将机器人模型透明度设为0.6(半透明)
setNodeOpacity(robot, 0.6);

此图片的alt属性为空;文件名为14-1.gif

03 HT 框架自定义 Shader 开发

Shader(着色器)可突破固定渲染管线限制,HT 支持自定义顶点着色器(Vertex Shader)与片段着色器(Fragment Shader),实现卡通渲染、溶解、辉光等个性化效果,且 FBX/glTF 模型的适配逻辑统一。

Shader 职责划分

  • 顶点着色器: 处理顶点的几何信息,如坐标变换(模型→视图→投影)、法线计算,输出最终屏幕坐标;
  • 片段着色器: 处理像素颜色,如纹理采样、光照计算、透明度叠加,决定模型最终视觉呈现。

16.gif

自定义 Shader 实现流程

格式规范

  • 文件后缀: .glsl;
  • 代码分隔: 用 // FS 区分顶点着色器与片段着色器;
  • 编译选项: 通过 // Hints 指定,如 glsl3(使用 WebGL 2.0 语法)、bloomSelective(支持独立辉光)。

示例(红色纯色 Shader):

// Hints: glsl3, bloomSelective
// 顶点着色器(处理顶点坐标)
attribute vec3 aPosition; // HT内置:顶点位置
uniform mat4 uModelViewMatrix; // HT内置:模型视图矩阵
uniform mat4 uProjectMatrix; // HT内置:投影矩阵
voidmain() {
    // 计算顶点最终屏幕坐标
    gl_Position = uProjectMatrix * uModelViewMatrix * vec4(aPosition, 1.0);
}
// FS(分隔标记)
// 片段着色器(处理像素颜色)
uniform vec4 uColor; // 自定义:颜色参数
voidmain() {
    gl_FragColor = uColor; // 设像素颜色
}

17.gif

内置变量(无需手动传递)

HT 为 Shader 提供丰富内置变量,直接声明即可使用,避免手动传参繁琐,常用变量及作用如下:

此图片的alt属性为空;文件名为18-1024x877.png

19.gif

Shader 注册与调试

通过 ht.Default.setShader 注册 Shader,支持文件路径或代码字符串,同时提供错误调试工具,便于排查问题:

    // 1. 按文件路径注册(复杂Shader,如卡通渲染)
    ht.Default.setShader('toonShader', 'assets/shaders/toon.glsl');
    // 2. 按代码字符串注册(简单Shader,如红色纯色)
    ht.Default.setShader('redShader', `
        // Hints: glsl3
        attribute vec3 aPosition;
        uniform mat4 uModelViewMatrix, uProjectMatrix;
        void main() {
            gl_Position = uProjectMatrix * uModelViewMatrix * vec4(aPosition, 1.0);
        }
        // FS
        uniform vec4 uColor;
        void main() {
            gl_FragColor = uColor;
        }
    `);
    // 3. 调试:获取Shader编译错误(若报错)
    console.log(ht.Default.getShaderErrorLog());
    // 4. 监听Shader加载完成(异步加载时用)
    ht.Default.handleShaderLoaded = function(name, resource) {
        console.log(`Shader "${name}" 加载完成,可使用`);
    };

此图片的alt属性为空;文件名为20-2.gif

Shader 使用-结合材质

自定义 Shader 需与材质绑定,通过 type 指定 Shader 名称 / 路径,同时传递自定义参数(uniform),适配所有模型格式:

    let redMat = {
        type: 'redShader', // 指定已注册的Shader名称
        renderMode: 'triangles', // 绘制模式(默认triangles,支持lines/points等)
        transparent: false, // 是否透明
        cullFace: false, // 是否背面裁切(默认false,复杂模型可设为true优化)
        // 自定义uniform参数(传递给Shader的uColor)
        uColor: [1, 0, 0, 1] // RGBA:红色不透明
    };
    // 绑定到节点(FBX/glTF通用)
    robot.s('matDef', { "body": redMat });

此图片的alt属性为空;文件名为21-2.gif
实战案例-溶解效果

通过 uTime(时间)控制纹理采样,实现模型溶解:

此图片的alt属性为空;文件名为22-2.gif

1 Shader 代码-溶解核心逻辑

    // Hints: glsl3
    attribute vec3 aPosition;
    attribute vec2 aUv; // UV坐标
    uniform mat4 uModelViewMatrix, uProjectMatrix;
    uniform float uTime; // 时间参数
    uniform sampler2D uNoiseTex; // 噪声纹理
    varying vec2 vUv; // 传递UV到片段着色器
    voidmain() {
        vUv = aUv;
        gl_Position = uProjectMatrix * uModelViewMatrix * vec4(aPosition, 1.0);
    }
    // FS
    uniform float uTime;
    uniform sampler2D uNoiseTex;
    uniform vec4 uDissolveColor; // 溶解边缘颜色
    varying vec2 vUv;
    voidmain() {
        // 采样噪声纹理
        float noise = texture2D(uNoiseTex, vUv).r;
        // 计算溶解阈值(随时间增加,模型逐渐消失)
        float threshold = 0.5 + sin(uTime) * 0.3;
        // 溶解逻辑:噪声值小于阈值则丢弃像素
        if (noise < threshold) discard;
        // 溶解边缘:接近阈值的像素设为边缘色
        float edge = smoothstep(threshold, threshold + 0.1, noise);
        gl_FragColor = mix(uDissolveColor, vec4(1), edge);
    }

2 材质配置

    var dissolveMat = {
        type: 'dissolveShader',
        uNoiseTex: 'assets/textures/noise.png', // 噪声纹理
        uDissolveColor: 'rgb(255,85,0)'// 溶解边缘橙红色
    };
    robot.s('matDef', { "body": dissolveMat });

此图片的alt属性为空;文件名为23-2.gif

04 HT 框架技术优势总结

开发效率与工程化能力突出

  • 封装底层逻辑: 无需编写骨骼蒙皮、光照计算代码,动画加载 3 步完成,材质与 Shader 配置通过简洁 API 实现,大幅降低 3D 开发技术门槛;
  • 复用机制: 材质、Shader 支持全局注册与复用,适配大型项目与团队协作;
  • 调试工具: 提供 Shader 编译日志、模型包围盒调试、加载监听等功能,快速定位问题,减少调试时间。

此图片的alt属性为空;文件名为24-2.gif

视觉表现力与场景覆盖全面

  • 材质覆盖全场景: PBR/Blinn-Phong/litePhong 三级材质体系兼顾真实感与性能;
  • 动画控制灵活: 支持播放速度调节、循环模式切换(repeat/once)、多动画切换(如行走→跑步),满足复杂交互需求;
  • 自定义渲染无限制: 通过 Shader 实现卡通渲染、溶解、辉光等个性化效果,突破固定渲染管线,适配虚拟展厅、教育仿真等创意场景。

此图片的alt属性为空;文件名为25-2.gif

模型格式兼容性与一致性强

  • 支持主流 3D 格式: 原生支持 FBX、glTF 2.0、glb 等主流格式;
  • 配置逻辑统一: 动画、材质、Shader 在不同格式下接口完全统一,降低跨格式开发与维护成本

Web 端性能优化到位

  • 轻量化渲染: litePhong 材质简化光照计算,Blinn-Phong 模型减少 GPU 负载,适配移动端、嵌入式、低性能设备;
  • 资源加载优化: 资源压缩、异步加载、背面裁切、光照烘焙等优化手段完善;
  • 渲染效率提升: 复杂数字孪生场景可稳定保持高帧率运行。

总结

图扑软件 HT 框架通过封装底层 3D 渲染逻辑,为 Web 3D 开发提供高效、灵活、高性能的解决方案,降低开发门槛,推动 3D 可视化技术在各行业落地。无论是数字孪生、3D 产品展示,还是虚拟仿真等场景,开发者均可基于 HT 框架快速实现专业级三维可视化效果,同时兼顾 Web 端的兼容性与流畅性。随着 WebGL 技术的发展,HT 框架还将持续优化对 glTF 2.0 新特性(如动画片段、顶点颜色)的支持,进一步降低 Web 3D 开发门槛。

此图片的alt属性为空;文件名为26-1024x576.png