Commit Graph

14 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
8f7953948f fix: 补齐市场静态事实并保持旧客户端兼容 (#184)
## 中文

补齐已有 owner 与已锁定上游内容可证明的许可证、技能类型和收录版本。保留 Anthropic Source Available
和其他附加条件,不把所有内容统一标为 MIT,不提升 listing-only 的安装准入。

README 保留最新的双语结构及以 manifest 为准的数量口径,增加静态目录不存访问量、下载量、评分或 Stars 的边界。

发布兼容性:**本 PR 不包含**两支团队新增的本地化字段,也不包含微信支付 `latestVersion:
1.0`;旧客户端会拒绝这些新字段,另以待发布 PR 保留,等匹配客户端发布后再合并。

验证:47 项目录校验测试、19 项 i18n 测试、5 项合集生成测试通过;完整目录/i18n/翻译新鲜度检查通过,6
个固定来源合集的生成检查通过,2 个浮动来源按既有规则明确跳过。发现并修复了生成器在 Windows 使用反斜杠造成的误报:输出改为 POSIX
路径,比较规则不放宽、不重写合集数据。

## English

Fill only license, type and listed-release facts supported by existing
owners or pinned upstream content. Preserve custom license restrictions
and acquisition eligibility. Keep the current bilingual README and
manifest-derived inventory; do not author usage analytics.

This PR deliberately excludes localized team fields and the two-part
WeChat Pay version that older clients reject. Those changes remain
pending a compatible client release.

Validation passes: 47 catalog-validator tests, 19 i18n tests, five
collection-generator tests, complete catalog and translation checks, and
generated inventory checks for six pinned collections. Two mutable
sources remain explicitly skipped. Fix Windows-generated path separators
without weakening comparison or changing declared children.
2026-09-22 01:09:03 +08:00
Zxy-y
85e1f48f6b feat(docx): 跨平台启动器替换 bash 包装,复用预装依赖免每次安装 (#21)
## 概述 / Summary

把 docx 技能对"客户端预装运行时依赖"的复用方式从 **bash 包装脚本**改为**跨平台 runtime 启动器**,实现
Win/macOS/Linux 一致、不依赖 Git Bash,并修复若干 POSIX 硬编码导致的 Windows 崩溃点。

Switch the docx skill's reuse of client-preinstalled runtime deps from a
**bash wrapper** to **cross-platform runtime launchers**, so it behaves
identically on Win/macOS/Linux without Git Bash, and fix several
POSIX-hardcoded crashes on Windows.

## 改动 / Changes

- **新增 / Add** `scripts/preload-deps.cjs`(Node 预加载,注入 `NODE_PATH`)与
`scripts/with-deps.py`(Python 启动器,按需切换到内置含 lxml 的 Python);**删除** bash 版
`with-deps.sh`。
- 生成走 `node -r preload-deps.cjs`,office 脚本走 `python with-deps.py` ——
离线复用预装的 docx-js / defusedxml / lxml,免每次 `npm`/`pip install`,且**不依赖
bash**。
- `comment.py` 补 defusedxml sys.path shim;`validate.py` 修临时目录泄漏(atexit
清理)。
- `accept_changes.py` 去除 `/tmp` 硬编码(`tempfile.gettempdir` +
`Path.as_uri`);`soffice.py` 仅 Linux 启用 AF_UNIX shim,避免 Windows 崩溃。
- `SKILL.md` / `SKILL.zh-CN.md` 同步命令形式、加 ESM
警告与外部工具(pandoc/LibreOffice/poppler)跨平台安装指引,`source_hash` 重算。

## 测试 / Testing

- 真实 dev 根目录端到端:生成 docx(免安装)+ 完整 XSD 校验(含 lxml)+ unpack/pack 往返均通过。
- 仓库 `validate-i18n.py` 校验通过;全 py 脚本 `py_compile` + `preload-deps.cjs`
`node --check` 通过。

---

- [x] 我已阅读并同意 CLA / I have read and agree to the CLA

Co-authored-by: 张馨元 <zhangxy@iynss.com>
Co-authored-by: Yige <a@wyr.me>
2026-06-04 11:14:36 +08:00
xyx
08b02b2239 fix: add Script Path Rule to docx/pptx/xlsx skills (#14)
## Summary

- 为 docx/pptx/xlsx 三个技能的 SKILL.md 和 SKILL.zh-CN.md 添加"脚本路径规则"章节
- 告知 Agent 在执行技能自带脚本时必须使用 `<skill-dir>/` 前缀,因为 Agent 工作目录是用户项目目录而非技能目录
- 更新 en-US 块的 `source_hash`(内容已变更)
- 将 en-US 标记为 `translated_by: human`,跳过 CI 自动翻译

## Test plan

- [ ] 在 dev 环境验证 docx/pptx/xlsx 技能执行脚本时路径正确
- [ ] CI i18n-validate 通过
- [ ] CI i18n-auto-translate 跳过(translated_by: human)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-13 20:25:09 +08:00
8bdda4afb1 feat: skills i18n 改造(schemaVersion 1.1,零向后兼容) (#1)
* feat: skills i18n 改造 — schemaVersion 1.1,零向后兼容

把 21 个 skills + 1 个 agent + manifest/categories 全量迁移到 schemaVersion 1.1
的 i18n 结构,配套 CI AI 翻译流水线(GitHub Models)与本地工具链。

## 关键变更

### 数据结构(破坏性,schemaVersion 1.0 → 1.1)
- SKILL.md: 顶层 name 改为 ASCII slug(== 目录名,符合 agentskills.io 规范);
  中文显示名/short_desc/description 全部迁入 metadata.i18n.<locale>
- agents/<id>/agent.json: shortDesc/fullDesc/tags/persona.{role,traits} 迁入
  i18n.<locale>;changelog[].changes 改为 { <locale>: string[] } 对象
- categories.json: 每个分类的 label/description 迁入 i18n.<locale>,顶层只剩
  color/icon
- manifest.json: 加 supportedLocales / defaultLocale;顶层 description 迁入
  i18n.<locale>

### Body 文件结构
- 根 SKILL.md = frontmatter + default_locale (en-US) body
- SKILL.<locale>.md = 各 locale 的 markdown body(首行 <!-- locale: xx --> 自校验)

### 工具链(scripts/i18n/)
- glossary.json: zh→en 术语表 + do_not_translate 白名单
- schema/skill-frontmatter.schema.json: i18n frontmatter JSON Schema
- validate-i18n.py: 8 条校验规则(name 合规 / locale 完整性 / hash 一致性等)
- translate.py: GitHub Models / Anthropic 双 backend,sha256 增量翻译
- migrate.py: 一次性迁移脚本(旧格式 → i18n 结构)

### CI(.github/workflows/)
- i18n-validate.yml: PR 触发跑 validate + translate --check
- i18n-translate.yml: PR 触发用 GitHub Models(默认 openai/gpt-5-mini)翻译缺失
  locale,自动追加 commit;可切到 ANTHROPIC_API_KEY 走 Claude

### 文档
- docs/I18N.md: 作者贡献指南(schema 说明 / 提交流程 / 常见问题)
- README.md: 加多语言段落

## 验证

- uv run scripts/i18n/validate-i18n.py: OK,49 文件 0 错误
- uv run scripts/i18n/translate.py --check: 0 stale locale
- 21 skills 标题数 zh-CN == en-US 严格对齐(最大 66=66)
- skills-ref 规范校验:全部通过(顶层 name ASCII slug + description 单字段)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix(i18n): 修复 PR #1 review 反馈的 6 项问题

- schema: translated_by 正则放宽为 ^(human|ai:[A-Za-z0-9._:/-]+)$,接受
  'ai:github:openai/gpt-5-mini' 这类 backend:model 形式(CI 翻译输出格式)
- README + docs/I18N.md: 修正"CI 用 Claude API"误导描述,正确说明默认是
  GitHub Models(openai/gpt-5-mini)+ GITHUB_TOKEN,可选切到 Anthropic
- skills/minimax-tts/SKILL.md & SKILL.zh-CN.md: 删除多余的 ``` 闭合,避免
  Markdown 后续渲染错乱
- skills/docx/SKILL.md: 翻译时丢失的 • Unicode escape 示例已恢复,
  与 zh-CN 版本对齐

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 00:26:33 +08:00
1a50969b93 feat: 拆分 environment-setup 为 Python/Node.js 运行时双核心 + 父级路由
新增双核心 skill(深度集成 DesireCore Hatch/Volta + HTTP API + Socket.IO):
- python-runtime v1.0.1:Python 运行时管理
  · 四级降级:HTTP API → Hatch CLI 绝对路径 → 系统包管理器 → pyenv
  · references:hatch-desirecore / pyenv-fallback / virtualenv / troubleshooting
  · scripts/probe-python.sh:输出 JSON 快照供 Claude 解析决策
- nodejs-runtime v1.0.1:Node.js 运行时管理
  · 四级降级:HTTP API → Volta CLI → 系统包管理器/NodeSource → nvm/fnm
  · references:volta-desirecore / nvm-fallback / package-managers / troubleshooting
  · scripts/probe-node.sh:输出 JSON 快照(含 volta_tools / package_json_volta 等)

environment-setup → dev-environment-setup v2.0.1(重命名 + 重写为 router):
- 从 1380 行手册瘦身为 ~150 行索引
- 仅负责容器(Docker/Podman)/ WSL2 / 办公依赖速查 / 系统工具
- references/desirecore-runtime.md 沉淀 Hatch/Volta 路径表 + HTTP API 速查 +
  Socket.IO 事件契约,作为两个核心 skill 的共享底座
- references/decision-tree.md 定义四级降级决策树
- scripts/probe.sh + probe.ps1 系统级 JSON 探测

三个 SKILL.md 的 L0 改为场景驱动结构(何时使用 / 何时不要用 / 怎么做),
让 AI 凭名字与 L0 即可判断匹配场景。

注册更新:
- builtin-skills.json:新增 python-runtime / nodejs-runtime / dev-environment-setup
  (原 environment-setup 移除),按字母序,共 21 个 skill
- manifest.json:totalSkills 19→21,lastUpdated 2026-05-02

下游同步:
- docx / pdf / xlsx / pptx 中的环境引用从 environment-setup 拆分为
  python-runtime / nodejs-runtime / dev-environment-setup 三向指引

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 13:30:23 +08:00
3bed41d7a1 fix: 全局技能 disable-model-invocation 改为 true,按需加载减少 system prompt 体积
13 个技能从 false(自动注入 ~160KB)改为 true(按需加载),
大幅减少每次 LLM 请求的 system prompt token 占用。

涉及技能(版本号 patch +1):
- create-agent 2.4.1→2.4.2
- delete-agent 2.4.1→2.4.2
- discover-agent 2.5.1→2.5.2
- docx 1.0.1→1.0.2
- frontend-design 1.0.1→1.0.2
- mail-operations 1.0.1→1.0.2
- manage-skills 1.0.1→1.0.2
- pdf 1.0.1→1.0.2
- pptx 1.0.1→1.0.2
- s3-storage-operations 2.0.1→2.0.2
- skill-creator 1.0.0→1.0.1
- update-agent 3.0.1→3.0.2
- xlsx 1.0.1→1.0.2
2026-04-13 16:28:52 +08:00
aa6b1389fe fix: 为 9 个 skill 补全 L0/L1/L2 分层结构,版本号 +1
按照 desirecore-format.md 规范,为以下 skill 添加标准分层结构:
- docx (1.0.0→1.0.1), pdf (1.0.0→1.0.1), pptx (1.0.0→1.0.1), xlsx (1.0.0→1.0.1)
- frontend-design (1.0.0→1.0.1), mail-operations (1.0.0→1.0.1)
- environment-setup (1.1.0→1.1.1), web-access (1.1.0→1.1.1)
- manage-teams (1.2.0→1.2.1)

每个文件增加 L0(一句话摘要)、L1(概述与使用场景)、L2(详细规范)三层,
原有技术内容保持不变,metadata.updated_at 更新为 2026-04-13。

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 15:33:56 +08:00
aa9b1edf83 feat: 办公技能增加 Prerequisites + 新增 environment-setup 技能
- docx/pdf/xlsx/pptx: 添加 Python 3 检测和包依赖 Prerequisites 段落
- 新增 environment-setup 技能:完整的 Python/Node.js 安装、多版本管理、常见问题排查指引
- builtin-skills.json: 添加 environment-setup 到内置技能清单
2026-04-08 23:00:14 +08:00
ae78f05db3 feat: 补全 7 个技能的 market icon
为以下技能添加 SVG icon,遵循 3+2 色彩体系:
- manage-teams: 双人剪影 + 绿色组织节点 (Blue→Green)
- docx: 折角文档 + 标题块 + 文本行 (Blue→Purple)
- pdf: 折角文档 + 红色书签 (Red→Orange)
- pptx: 演示屏 + 橙色播放按钮 (Orange→Green)
- xlsx: 网格表格 + 绿色对勾徽标 (Green→Blue)
- frontend-design: 浏览器框架 + 交通灯 + 布局块 (Purple→Blue)
- web-access: 地球仪 + 绿色放大镜 (Blue→Green)
2026-04-08 17:57:25 +08:00
张馨元
de6cfa0b23 feat: 办公四件套添加 Output Rule 要求 Agent 告知用户文件存储路径 2026-04-04 20:06:41 +08:00
张馨元
bfe69b94a0 fix: 办公四件套添加 disable-model-invocation: false 启用自动检测 2026-04-04 19:48:45 +08:00
张馨元
20508f816e fix: 办公四件套 description 添加中文触发词,修复中文消息无法触发技能的问题 2026-04-04 19:40:18 +08:00
张馨元
76c4f66698 feat: 添加办公四件套内置技能(docx/pdf/xlsx/pptx) 2026-04-04 14:27:54 +08:00