功能定位与版本演进
HelloWorld IDE & Sandbox 在 2026-03 发布的 v6.3.0 把「自定义模块」从原先的「单文件脚本」升级为「可独立版本化的包单元」,并首次把「外部 API 调用」纳入官方工作流。过去开发者只能把请求写在 main.py 里,靠环境变量硬编码密钥;现在模块级封装后,密钥可被托管到「Secrets Manager」并自动注入,CI 日志默认脱敏。该变动让教学场景下的「一键分享」不再泄露 Token,也让开源 Demo 的公网链接可直接复现,而使用者看不到敏感信息。
值得注意的是,自定义模块与「AI Pair-Programming 2.0」深度耦合:GPT-4.5-turbo-2026 会在你声明模块依赖时,自动建议缺失的字段与错误码映射。经验性观察,启用 AI 助手后,首次配置成功率从约六成提到九成以上,但生成代码仍需人工复核,否则可能出现过度宽松的异常捕获。
前置检查:账号、配额与网络
动手之前,先确认三件事,能省掉后续一半排障时间。
1. 登录后右上角头像 → Settings → Plan,确认「API Outbound」开关为 ON;免费版默认每日 1000 次外联请求,超出返回 429,可次日清零或付费叠加包。
2. 若目标 API 为大陆节点,建议在 Settings → Network 把 Endpoint 切到 https://cn-helloworld.ai,延迟可压到 60 ms 内;切换后需重新登录,Secrets 会同步迁移。
3. 教育网用户若遇到「TLS handshake timeout」,把 DNS 改为 223.5.5.5 即可,经验性观察可降低一半握手时间。
新增自定义模块的 3 条入口
入口 A:文件树顶部「+」→ New Module
适合从零开始。系统会弹出「Module Manifest」向导,帮你生成 hw.yml 与 __init__.py,一步到位。
入口 B:现有文件夹右键 → Refactor → Extract to Module
适合把遗留 utils 拆成包。IDE 会自动扫描 import 语句,把硬编码的 BASE_URL 提到 manifest 的 env 段,并给出警告列表。
入口 C:终端输入 hw module init --name=foo
适合自动化脚本。加上 --with-template=http 可直接拿到官方 HTTP 封装模板,含重试、退避与日志规范。
编写 Manifest:字段含义与取舍
hw.yml 是模块的「身份证」。以下字段最易踩坑:
- apiVersion:必须与平台侧一致,截至当前的最新版本为 v1beta3,写错会导致推送失败。
- env:数组形式,支持
{{secrets.KEY}}占位符;注意大小写敏感,IDE 会在推送前做语法检查。 - scopes:声明最小权限,如 http: outbound、file: read。经验性观察,权限越窄,冷启动越快,因为沙箱省略了不必要的 capability 注入。
示例:一个天气查询模块只需要 http: outbound,无需 file: write,把 scopes 写成 ["http:outbound"] 后,冷启动耗时从 900 ms 降至 420 ms。
写完 manifest 不要急着推送,本地执行 hw module validate 可提前发现 90% 的拼写与权限错误,节省一次 CI 排队。
未来趋势:模块即微服务
官方路线图透露,v6.4 将支持「模块一键发布到 Edge Function」,届时自定义包可直接暴露 HTTPS Endpoint,成为真正的 serverless 微服务。若你现在就按最小权限原则写好 scopes,届时无需改造即可上架。提前把日志格式对齐 OpenTelemetry,也能在公测阶段获得可观测性加成。




