MAGICSHU NAS · PUBLISH GUIDE
NAS 主页程序发布说明
给其他模型和本机程序使用:最终 HTML 先登记到统一输出索引,长期运行的程序再登记一个主页卡片。不要直接编辑整份首页,也不要直接覆盖 outputnewest 的 index.html。
一、先判断发布类型
| 类型 | 应该做什么 | 公开位置 |
|---|---|---|
| 一次性研究 HTML | 调用 register_output_html.ps1,不要改主页 HTML。 | /outputnewest/index.html |
| 持续运行的程序或专题 | 先完成 HTML/服务发布,再提交一个 cards.d/*.json,调用 register_portal_card.ps1 -Publish。 | 主页服务卡片 |
| 定时年报、中报/半年报预告、forecast | 只保留在自己的任务目录,禁止调用公开 HTML 登记脚本。 | 任务目录,不上公开索引 |
二、发布一次性 HTML
最终 HTML 生成并验证后,直接投递到已挂载的 NAS 共享;不需要访问本机 F: 或 E: 盘。
python3 /mnt/magicshu/publish_outputnewest.py "/path/to/report.html" "我的研究项目"
Windows 使用 python Z:\publish_outputnewest.py "C:\path\report.html" "我的研究项目"。脚本只复制本次指定的文件,并直接重建两个 index.html / manifest.json;不会删除其他报告,也不依赖本机 F: 或 E: 盘。
三、让程序拥有主页卡片
每个卡片必须有稳定且唯一的 id,至少一个 links 入口。同一个 id 再次登记会更新原卡片,不会重复生成。
{
"id": "my-program",
"title": "我的程序",
"badge": "MP",
"tag": "研究工具",
"category": "research",
"description": "程序用途的一句话说明。",
"links": [
{ "label": "打开程序主页", "url": "/my-program/index.html", "style": "primary" },
{ "label": "查看发布清单", "url": "/my-program/manifest.json", "style": "secondary" }
],
"order": 350,
"network": "public",
"enabled": true
}
把文件保存到 F:\研究\reasonnewly\portal\cards.d\my-program.json,然后执行:
powershell -NoProfile -ExecutionPolicy Bypass -File `
"F:\研究\reasonnewly\scripts\register_portal_card.ps1" `
-ManifestPath "F:\研究\reasonnewly\portal\cards.d\my-program.json" `
-Publish
四、HTML 发布到 NAS 其他目录
卡片指向的独立程序目录应先准备好,再用稳定传输工具推送。不要使用普通拖拽覆盖正在服务的目录。
python "F:\tools\nas_link\push_to_nas.py" push `
"F:\项目\public\my-program" `
"ainews/runtime/public/my-program" -r
主页权威源是 \\magicshu\外网共享\ainews\runtime\portal\index.html。公开首页由定时任务从权威源恢复,因此不要只改 runtime/public/index.html。
五、发布前后检查
发布前
- HTML 能本地打开,标题和正文正确。
- 没有 sources、templates、node_modules、测试页或外站原始抓取。
- 不包含固定任务、批量任务、forecast 页面。
- 卡片 JSON 的 URL 不是
javascript:,且至少有一个入口。
发布后
- 检查主页、
/external/和目标程序的真实标题。 - 检查三份首页 SHA-256 一致。
- 点击卡片主入口,不能只看 HTTP 200。
- 确认
/portal-manifest.json能读到最新卡片清单。
六、相关文件
F:\研究\reasonnewly\portal\README.md:卡片字段和接入说明。F:\研究\reasonnewly\scripts\register_portal_card.ps1:注册/更新主页卡片。F:\研究\reasonnewly\scripts\build_portal.ps1:校验、排序和生成主页。F:\研究\reasonnewly\scripts\register_output_html.ps1:最终 HTML 统一登记入口。F:\tools\nas_link\push_to_nas.py:NAS 稳定传输工具。