Skill Atlas 本地预览与评估覆盖
当前项目入口:skill(2026-10-25 迁移)
用户指定项目名为单数 skill,唯一维护目录改为 ${DATA_ROOT}/dev/skill,运行副本 ${HOME}/app/skill,端口仍为 4477,继续沿用 skill-atlas.service 服务名。旧源码与旧运行副本保留、不再作为维护入口;完整迁移备份在 ${AI_ARCHIVE_ROOT}/skill-project-migration/20261025-152910/。下文旧路径是历史交付记录,不代表当前入口。
aform 0.5.1 CSS/JS/version.json 与固定发行包逐字节一致,已是本机 latest,无需重复升级或重造 UI。保留中文简介、原文对照、瀑布流、筛选及收藏。项目补 deploy/publish.py 白名单发布工具和 deploy/skill-atlas.service 维护源:备份旧产物、记录基准 commit + dirty 状态 + 文件哈希,不误提交迁移前的未提交工作区改动。
在新路径运行 11 项测试及 JS 语法检查通过;部署后健康 200,中文简介覆盖 3757 条,9 个发布文件哈希核对一致;systemd 工作目录/ExecStart 均指向新运行副本。实际浏览器确认 aform 外壳、中文卡片、无横向溢出。该迁移不发布公网,不新增费用、不修改安装技能。
中文简介审阅展示(2026-10-25)
用户明确仅在给本人审阅的页面显示中文简介,不要求翻译运行时技能库。3757 条现有简介均已生成中文缓存;卡片与详情默认中文,原文折叠对照,中英文均可搜索。采用无需密钥的公共翻译端点处理公开上游简介,无付费 API/账户;标记机译,少量重点项人工润色,未逐条人工校对。浏览时只读取本地缓存,不发翻译请求。候选技能的 name、description 与正文不变。
11 项测试通过;已读取部署后的 JSON 核对3757条中文覆盖、原文保留及文件哈希;实际浏览器用“内存分配”搜索到 workers-profiling,简介为中文,页面无外部资源请求,原文对照默认折叠。保留现有瀑布流及其他未提交改动;本轮仅更新运行副本的 app.js 和 catalog.json,不将其他人的工作区改动打包提交。数据/JS 旧副本在 ${AI_ARCHIVE_ROOT}/skill-discovery-20261025/review-zh-backup/,翻译缓存与方法见项目 README。
用户要求对 Awesome 聚合库中的具体技能做详细评估,并用 Web 服务查看;预算零新增费用,只使用现有本机与免费账号,不启用付费推理/API、云主机、连接服务或新域名。
交付
- 源码:
${HOME}/dev/skill-atlas;本地 Git 提交5a611587a92280ba3ada53e2336b599022050a1d。 - 运行副本:
${HOME}/app/skill-atlas,与源码分离。 - 用户级服务:
skill-atlas.service,端口 4477,私网预览。未配置公网域名/隧道,未推送仓库。 - 前端复用本机 aform 0.5.1 模板,资源本地固定,无 CDN/第三方请求。服务器仅 Python 标准库;无写接口、安装接口、账户连接或 shell 调用。
- 临时开发预览进程已停止,仅留正式预览服务。
数据与评估边界
从已有 GitHub API 文件树记录对应的固定提交归档,读取 sickn33/agentic-awesome-skills、ComposioHQ/awesome-claude-skills、composio-community/awesome-codex-skills 的规范目录 SKILL.md,共 4610 份;排除规则命中的 4 份,再按正文指纹去重,另加入 4 份已抽读的官方样本,最终 3757 条。
- 3753 条规则初评;4 条人工抽查;没有业务运行验收。
- 2139 条本地优先候选:仅表示没有识别强制计费项,不能保证永久免费。
- 36 条作者提及免费额度、659 条成本未知、914 条额外平台依赖、9 条付费前提信号。
- 920 个聚合 README 外链作为“目录外链待评”,不计入已评估技能。
- 同正文合并来源,同名不同正文保留变体;与现有库同名只提示比对,不宣称完全重复。
- 每条提供简介、类别、场景/工作流原文节选、成本依据、命令/变量名依赖、工具适配、风险信号、许可证状态、源文件 URL 与版本。
- 没有运行下载的技能代码,没有新安装候选技能,未读取全部 scripts/references。未联网逐项核实套餐、限额、地区及许可法律适用性。正则规则可能误判,不把批量分类包装成人工审计。
验证
- 10 项单元测试通过;JavaScript 语法检查通过。
- 实际浏览器验证搜索 cf-cli 得 1 条、人工抽查筛选得 4 条、收藏/详情/证据链接/来源方法页可用。
- 桌面与 390px 手机视口无横向溢出,卡片分别为双列与单列;未要求用户通过截图确认。
- 浏览器资源请求仅本站,无额外平台/付费请求。
- 回环、LAN、Tailscale 地址健康探测均返回 200;静态目录白名单阻止 server.py、脚本和路径穿越读取;CSP 与 nosniff 已检查。
- 运行数据哈希与源生成数据一致。强制脱敏识别 6 个疑似凭据字段并完整移除,随后复查无新变化;不输出命中值。源文件内容按本机可见性清单过滤,但不宣称覆盖所有未知风险。
复跑与维护
原始证据与归档位于 ${AI_ARCHIVE_ROOT}/skill-discovery-20261025/,不放知识库或静态服务目录。源码 README 有数据重建、测试和启动方法。生成器复用已有 PyYAML 与 Hermes 脱敏模块,不安装依赖。生成时原子替换 JSON,检查失败保留旧数据。
停止预览:systemctl --user stop skill-atlas.service;按需启动:systemctl --user start skill-atlas.service。当前按用户要求持续提供预览,未宣称发布到互联网。后续重点是沿具体筛选结果逐项人工验证与复测,而不是为扩数量自动安装。
2026-10-25:卡片改为连续瀑布流
- 用户明确要求同时完善 aform 并修改本站卡片列表。旧版的
size=24与上下页按钮属于本站业务逻辑;现已取消页码,按卡片自然高度排列,每批追加 36 条,接近底部自动追加,并保留可用键盘操作的“加载更多”、已显示数量及结束状态。原有卡片 DOM 保留,收藏操作不重建整个列表;搜索与筛选重新建立结果集,详情与全部匹配结果导出仍可用。 - 从 aform 维护源码复制独立
web/masonry.js,外壳 vendor 继续固定正式版 0.5.1。本站app.css增加展开按钮焦点框向内偏移的兼容修正;截图中由本站 DOM 导致的图标缺失、菱形与文字间距按用户要求不改。服务器仅新增该布局模块的静态白名单路由,访问范围与 CSP 保持原约束。 - 已同步源码与运行副本的
web/app.js、web/app.css、web/masonry.js、server.py和 README,并重启既有skill-atlas.service。部署前校验运行文件仍匹配修改前哈希;部署后首页、vendor 与 catalog 哈希保持原样,未复制并发新增的翻译脚本,也未改动数据。临时 17987 开发预览已关闭,仅保留 17988 局域网服务。 - 验证:10 项 Python 单元测试及 JavaScript 语法检查通过;源码预览与实际 LAN 分别通过 3 项浏览器测试。LAN 测试包含明暗主题、1440px 双列与 390px 单列、36 条触底追加、原卡片位置稳定、无重叠和横向溢出、收藏焦点、搜索详情、筛选结束与空状态,以及禁用
IntersectionObserver时键盘加载到 72 条。实际内嵌浏览器也目视核对手机卡片间距与完整焦点框。 http://${LANIP}:17988/、健康检查及 JS/CSS/新模块返回 200;/server.py仍为 404,CSP 与 nosniff 保留。新布局不会调用第三方服务;数据仍一次读取本地 JSON,分批追加仅控制 DOM 数量,并非服务端分页或虚拟列表。- 本次仅为既有局域网 UI 更新,未提交、推送、互联网发布或执行内容扫描;不扩展原有技能内容与安全结论。备份、哈希清单及完整日志位于
${AI_ARCHIVE_ROOT}/aform/2026-10-25-navigation-focus/:atlas-before/、atlas-predeploy/、atlas-deployed-files.json、atlas-lan-runtime-check.json、atlas-unit.log、atlas-browser-lan.log;可复跑浏览器用例与配置同目录保存。