Commit Graph

2 Commits

Author SHA1 Message Date
xyx
f7f4fcd035 fix: 内置 Office 技能离线资源与中文校验 / offline Office schemas and XML validation (#218)
## 中文

内网环境显式使用 Office skill 校验含 `docProps/core.xml` 的文件时,Schema 仍引用远程 Dublin
Core XSD;Windows 默认 GBK 读取中文 UTF-8 XML 也会报错。本修改让 docx/pptx/xlsx 独立携带完整本地
Schema 闭包,并按 XML 编码声明读取文件,保留完整校验。

- 三个 Office skill 分别随包加入 Dublin Core 三份 XSD,复用本地
xml.xsd,补齐来源、原始摘要、许可与适配说明。
- 修正两个 Microsoft XSD 的 ST_String 类型引用,以及 presentation-forge 编辑器脚本路径。
- 市场版本 1.5.11;docx 1.0.4、pptx 1.0.5、xlsx 1.0.4、presentation-forge
0.1.1,同步目录元数据。
- 新增定向回归:遍历所有内置技能的 XSD,拒绝远程依赖并离线编译;模拟 GBK 校验中文 XML,确认非法 Word 节点仍被拒绝。

验证:126 份 XSD 离线编译、2 项回归通过;i18n/catalog 校验均为 0 errors / 105 既有
warnings;translate --check 与 git diff --check 通过。README
两种语言同步。工作树、路径、Git 元数据与发布正文隐私检查通过。

Windows x64 dev 10.0.181 已通过产品 prepare-static 准备随包依赖,并真实调用
Skill(docx):创建、全校验、解包编辑、重新打包、再全校验均退出 0,两次校验各 18 valid / 0 skipped / 0
errors。该实验禁用 pip/npm 依赖索引,保留模型连接;不等同于正式包或全机断网验收。辅助 Grep
有一次旧参数错误,改正后成功;Python 缓存污染安装摘要另列真机测试跟踪。主仓 market.zip 尚未刷新,源 PR 合并后需通过
sync-market 纳入产品。

## English

Office validation in an intranet deployment still depended on remote
Dublin Core schemas, and reading Chinese UTF-8 XML with the Windows GBK
default could fail. Each Office skill now includes its local schema
dependency closure, and validators read XML as bytes so its declared
encoding is respected without weakening validation.

This also fixes two Microsoft schema type references and the
presentation-forge editor script path. Market version becomes 1.5.11;
skill versions become docx 1.0.4, pptx 1.0.5, xlsx 1.0.4 and
presentation-forge 0.1.1. Vendored schemas include attribution,
licensing, original hashes and adaptation notes.

Validation: 126 schemas compile offline; both targeted regression tests
pass, including GBK input and invalid-node rejection. Catalog/i18n
checks pass with 105 existing warnings each; translation freshness and
whitespace checks pass. Bilingual README and publication privacy checks
are complete.

The actual Windows x64 dev session passed explicit docx loading,
creation, full validation, editing, repacking and revalidation using
product-prepared dependencies. Dependency indexes were disabled while
model connectivity remained available. Packaged/cross-platform testing
and the observed Python-cache installation-digest drift remain
follow-ups. The product bootstrap ZIP will require sync-market after
this source PR merges.

真机测试与剩余验收 / Hardware testing and remaining acceptance:
https://github.com/desirecore/desirecore/issues/4819

---------

Co-authored-by: Johnson <yeslee1126@gmail.com>
2026-10-16 00:06:24 +08:00
14ca6385af feat: 市场转型为元数据注册表(pointer entry + 许可署名) (#33)
## 概述 / Summary

把 market 从「内容仓库」转型为「元数据注册表」的仓库侧改动,配合客户端 PR

[desirecore/desirecore#919](https://github.com/desirecore/desirecore/pull/919)
与

[ADR-038](https://github.com/desirecore/desirecore-docs/blob/main/技术/决策/ADR-038-市场元数据注册表与两层技能模型.md)。

原则:market 只放元数据、不放第三方内容;内置技能仍 bundled(有界例外)。每条第三方条目用
`entry.json`(元数据 + `source` 指针),正文放各自源仓库、安装时按需获取。

## 改动 / Changes

### S10 — minimax 迁出为官方独立仓库
- `minimax-image-gen` / `minimax-tts`(均 `author=desirecore`)迁至新建的官方开源仓库

**[desirecore/skills-minimax](https://github.com/desirecore/skills-minimax)**(MIT,monorepo,
  一仓多技能)。
- market 改用 `skills/<id>/entry.json` 的 pointer 引用(`source.path`
指入子目录,`ref` 锁定
  commit `6e39eee`),删除内联 `SKILL.md`。

### S11 — 许可署名合规
- 新增根 `LICENSE`(MIT)与 `THIRD_PARTY_NOTICES.md`。
- 标注 Anthropic **docx/pdf/pptx/xlsx 为 source-available(非开源、仅供演示参考)**、
frontend-design 等为 Apache-2.0;每条 entry 的 `license`/`redistribution`
为单条真相源。

### S12 — 外部技能改为纯 pointer(取代 #32 的 vendoring)
- 把 [#32](https://github.com/desirecore/market/pull/32) 的 10 个外部技能写成
`entry.json`
  pointer(**不再 vendor 上游源码**):
  - MIT/MIT-0 → `partner`/`community` + `allowed`
  - 无声明许可(meituan / netease)→ `pointer` + `source-pointer-only`
  - luckin 打包产物 → `pointer` + `verify-package-terms`(`source.kind=zip`)

## 说明 / Notes

- 外部条目的 `name`/`category` 为基于上游 URL 的合理初值,后续可随上游元数据完善。
- 客户端(#919)已支持 `entry.json` 读/装与体积守护栏;本 PR 合并后,主仓库需重新
  `npm run sync-market` 重打包 `defaults/market.zip`。

> 注:`follow-builders`(zarazhangrui/follow-builders, MIT)是 #32
`external-skills.json` 外部技能集合中的一员,属本次迁移范畴,非额外引入。

Co-authored-by: yi-ge <jackyoncode@gmail.com>
2026-06-28 21:06:20 +08:00