|
|
a582f0f4f9
|
fix: 为 #16 路径替换涉及的技能补 per-skill version (#22)
## 背景 / Background
#16 (4f7037a) 将 16 个 SKILL.md 的 `~/.desirecore` 路径批量替换为
`${DESIRECORE_ROOT}`,但只升了 `manifest.json`,**未升任何 per-skill version**。
客户端按 SKILL.md frontmatter 的 per-skill `version` 做 semver 同步:version
不变即判定「无更新」而永久跳过,导致已升级用户的全局技能正文停留在替换前的旧内容(与线上不同步)。
#16 (4f7037a) bulk-replaced `~/.desirecore` with `${DESIRECORE_ROOT}` in
16 SKILL.md files but only bumped `manifest.json`, leaving every
per-skill `version` untouched. Clients sync by per-skill semver, so an
unchanged version is treated as "no update" and skipped forever —
upgraded users' global skills stay frozen on pre-replacement content.
## 改动 / Changes
- 对 #16 触及且至今仍未升号的 **14 个在册技能** 各 patch +1
- `manifest.json` 1.2.2 → 1.2.3(沿用 #16「内容改动同步升 manifest」的约定)
- 退役技能 `minimax-image-gen` / `minimax-tts`(不在 builtin-skills.json,不下发)跳过
- diff 为纯 version 行,未触动正文
Bumps the 14 in-manifest skills changed by #16 that were never
version-bumped; manifest 1.2.2 → 1.2.3; retired skills skipped.
Version-line-only diff.
|
2026-06-03 17:46:13 +08:00 |
|
|
|
4f7037a6b6
|
fix: replace hardcoded ~/.desirecore paths with ${DESIRECORE_ROOT} variable (#16)
## Summary
- 将所有技能文件中的硬编码 `~/.desirecore/` 和 `$HOME/.desirecore/` 路径替换为
`${DESIRECORE_ROOT}/` 变量
- 递增 manifest.json version 至 1.2.1
## Why
dev 模式下 `DESIRECORE_HOME=~/.desirecore-dev`,硬编码路径导致技能读取错误的端口文件和目录。主仓库的
`variable-substitutor.ts` 会在运行时将 `${DESIRECORE_ROOT}` 替换为实际根目录。
## Test plan
- [ ] `npm run dev` 启动后触发任意技能,确认端口路径解析为
`~/.desirecore-dev/agent-service.port`
- [ ] prod 模式确认路径为 `~/.desirecore/agent-service.port`
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
2026-05-29 15:36:19 +08:00 |
|
|
|
0cb3758669
|
fix: 补全 dashscope-image-gen 和 xiaomi-tts 的 i18n CI 校验 (#4)
## 变更说明
修复 dashscope-image-gen 和 xiaomi-tts 的 i18n CI 校验、补全英文翻译,并连带修复其他 stale
skill 的 source_hash 漂移问题。
### dashscope-image-gen / xiaomi-tts(PR 主线)
- `name` 字段从中文改为目录名(CI rule-1 要求 lowercase ASCII + hyphens)。
- 补全 `metadata.i18n` 块:`locales`、`zh-CN` (含 body 指向
SKILL.zh-CN.md)、`en-US`(含 description / body=./SKILL.md)。
- 新增 `SKILL.zh-CN.md`(zh-CN body 文件)。
- **root SKILL.md 改写为英文 body**(与 SKILL.zh-CN.md 内容对应),由本 PR
手工翻译;`default_locale=en-US`、`source_locale=zh-CN`,与 docs/I18N.md
约定一致:root SKILL.md = default_locale body (en-US)、SKILL.zh-CN.md =
source_locale body (zh-CN)。
- 两 locale 锁为 `translated_by: human` + 正确 `source_hash`。
- 内容质量修复:流程标题 "严格按此两步执行" 改为 "严格按此三步执行";强制规则 2 措辞精确化(/tmp
仅作中转);xiaomi-tts 用户意图映射表中 `response_format` 改为 `audio.format`
与请求体参数表一致;zh-CN.description 改为纯中文。
- locale header 由 shell 转义残留 `<\!--` 修正为标准 `<!-- locale: zh-CN -->`。
### 连带:6 个 main 上已 stale 的 skill(避免 translate workflow 失败)
- `manage-skills` / `minimax-music-gen` / `minimax-video-gen` /
`skill-creator` / `web-access`:`en-US.source_hash` 重新计算为当前 zh-CN source
实际 hash;`translated_by` 由 `ai:claude-opus-4-7` 改为 `human`
以锁定现有翻译不被自动重译覆盖。
- `markdown`:补正 `en-US.source_hash`(之前是占位 `sha256:0000000000000000`)。
- 这些 skill 的 `en-US` 翻译内容保持不变,仅修正元数据。
### scripts/i18n/translate.py 容错增强
- 413 Payload Too Large 时不再 retry(payload 不会变小,retry 浪费时间)。
- 主循环 catch RuntimeError,把单个 skill 的失败写入 `plan["errors"]` 后继续处理下一个
skill,避免一个大文件 fail 整个 workflow。
- `--check` 模式下 plans 含 errors 也 exit 1(之前仅看 needs_translation,broad
except 会把异常吃掉导致误报通过)。
## Test plan
- [x] `i18n-validate` 通过
- [x] `i18n-translate --check` 显示所有 skill `up-to-date` 或 `human-locked,
skipping`
- [x] CI 上 `validate` / `translate` / `wait-for-copilot-review` 全绿
- [ ] Copilot 评审 conversation 全部 resolve
- [ ] Squash merge
---------
Co-authored-by: yi-ge <a@wyr.me>
|
2026-05-13 12:57:25 +08:00 |
|
|
|
bffb9d24b4
|
fix: 修复 desirecore PR #533 Copilot 评审反馈的 7 项内容问题 (#2)
[desirecore PR #533](https://github.com/desirecore/desirecore/pull/533) 把
market 全局技能快照同步到主仓库,Copilot 自动评审命中 7 处文档与代码
不一致问题,全部根因在 market 的 skill 文档;本 PR 在源头修复,让下次
sync-global-skills 自然带过去。
修复内容:
1. disable-model-invocation 语义描述反向(3 处文件 × 2 语言 = 5 处编辑)
- skill-creator/SKILL.md (en-US)
- skill-creator/SKILL.zh-CN.md
- manage-skills/SKILL.md (en-US)
- manage-skills/SKILL.zh-CN.md
- 注:references/desirecore-format.md 已在 PR #1 解冲突时一并修好
实际代码逻辑(lib/agent-service/skills/parser.ts):只有显式
`disable-model-invocation: false` 才会被加入 system prompt 自动加载列表,
`true` 或缺省都会跳过自动注入、需显式 Skill 工具调用。文档原描述把这两个
值的语义对调了,且错误地宣称存在 L0/L1 vs L0+L1+L2 的"分层加载机制"
(runtime 不区分这三个层级,加载就是整篇 SKILL.md)。
2. dev-environment-setup/references/probe-snapshot.md 协议字段类型 / 超时承诺
- desirecore_port_file: string → boolean(probe.sh 输出 ${PORT_FILE_EXISTS}
原生 bool;probe.ps1 输出 PowerShell bool;JSON 序列化均为 true/false)
- "CLI 调用最长 5s" → "CLI 调用依赖工具自身实现,无显式 timeout 包装,
正常情况通常 <5s 完成"(HTTP probe 确有 0.5s/1s timeout,但 --version
这类 CLI 没有 timeout 5s 包装,文档原文承诺超出实现)
3. minimax-music-gen 使用过时的 provider 字段(应为 providerId)
- skills/minimax-music-gen/SKILL.md(3 处)
- skills/minimax-music-gen/SKILL.zh-CN.md(3 处)
- 与 sibling minimax-tts/image-gen/video-gen 对齐,使用
`"providerId": "provider-minimax-media-001"`,避免 media-proxy 路由到
coding/token plan 等同名 provider
版本与日期:
- skill-creator: 1.0.1 → 1.0.2
- manage-skills: 1.0.2 → 1.0.3
- dev-environment-setup: 2.0.1 → 2.0.2
- minimax-music-gen: 1.1.1 → 1.1.2
- 上述 4 个 SKILL.md 的 metadata.updated_at 与 manifest.json#stats.lastUpdated
统一为 2026-05-05
i18n 处理:
按 PR #1 修复模式(commit 2a21e8e),同步编辑英文源(SKILL.md = en-US default)
与中文翻译(SKILL.zh-CN.md = source),不动 metadata.i18n.<locale>.source_hash /
translated_at 字段(CI translate.py 维护)。
|
2026-05-05 01:08:46 +08:00 |
|
|
|
1f7c8b9673
|
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 |
|
|
|
5472359814
|
fix: minimax 三个媒体技能改为 disable-model-invocation: true,并修正文档错误描述
- minimax-image-gen 1.3.0→1.3.1
- minimax-video-gen 1.2.0→1.2.1
- minimax-tts 1.2.0→1.2.1
- 修正 skill-creator/SKILL.md、desirecore-format.md、manage-skills/SKILL.md 中
对 disable-model-invocation 的反向描述:true=L0+L1 自动注入;false=L0+L1+L2 完整内容注入
- manifest.json 版本 1.0.0→1.0.1,totalSkills 22→19,lastUpdated 2026-05-01
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-01 23:38:14 +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 |
|
张馨元
|
e7eb16d971
|
fix: skill-creator 改为自动检测模式(disable-model-invocation: false)
|
2026-04-04 19:22:04 +08:00 |
|
张馨元
|
17d6efd022
|
fix: 安装完成后强制向用户报告存储路径和作用域
|
2026-04-03 22:48:31 +08:00 |
|
张馨元
|
f94d34468a
|
feat: 添加 skill-creator 内置技能
适配 DesireCore 系统的技能创建器,兼容 Claude Code 基础格式:
- SKILL.md: 完整 frontmatter + L0/L1/L2 分层内容
- init_skill.py: 支持 --format basic|desirecore
- quick_validate.py: 移除白名单限制,改 Schema 校验
- package_skill.py: 新增 --install API 安装模式
- references/desirecore-format.md: 完整字段参考
|
2026-04-03 21:24:34 +08:00 |
|