Commit Graph

74 Commits

Author SHA1 Message Date
f4dfe8e32f feat: add tech-diagram skill (Mermaid 技术图生成) (#18)
## 概述 / Summary

新增市场技能 **tech-diagram**:把自然语言描述转成品牌一致的技术图(架构图/流程图/时序图/状态机/ER/类图/思维导图),在
DesireCore 对话内复用现有 Mermaid 渲染管线即时渲染为 SVG。

Adds a market skill **tech-diagram** that turns natural-language
descriptions into brand-consistent technical diagrams, rendered inline
as SVG by the existing Mermaid pipeline in the DesireCore chat.

灵感来源 / Inspired by
[fireworks-tech-graph](https://github.com/yizhiyanhua-ai/fireworks-tech-graph)
的三个设计思路:语义词汇表即数据、风格系统化、领域 Pattern 内置——并落到 DesireCore 自己的 3+2 设计令牌与领域模型上。

## 改动 / Changes

- `skills/tech-diagram/SKILL.md` + `SKILL.zh-CN.md`:双语技能正文(强制风格规则 +
语义词汇表 + 输出约定)
- `skills/tech-diagram/references/semantic-vocabulary.md`:概念→Mermaid
形状→3+2 classDef 完整映射
- `skills/tech-diagram/references/templates.md`:4 个 DesireCore
领域模板(Agent 架构 / Delegate 6 模式 / 三层记忆 / 关系图谱)+ 时序图示例
- `builtin-skills.json`:加入 `tech-diagram`
- `manifest.json`:`version` 1.2.1→1.2.2,`stats.totalSkills`
21→22,`lastUpdated`

## 设计要点 / Design

- **风格一致性**:每张图以 `%%{init}%%` 注入品牌主题(覆盖对话全局暗色),用 5 个 `classDef` 绑定
DesireCore 3+2 配色(green/blue/purple + warning orange / error red)。
- **语义优于视觉**:Agent→六边形、系统/记忆→圆角/圆柱、决策→菱形;箭头编码主数据流/记忆写入/异步/层级/上报。
- **领域内置**:直接对照 `delegate.ts` / `conversation-memory.ts` /
`relations/projector.ts` 给出可套用模板。

## 验证 / Verification

-  `scripts/i18n/validate-i18n.py`:无 i18n 问题
-  用 app 同版本 **mermaid 11.15.0**(securityLevel: loose)解析 `templates.md`
全部 5 个图块,全部通过
2026-05-30 23:56:27 +08:00
xyx
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
xyx
3015a3ffb8 chore: bump version to 1.2.0 (#15)
## Summary

- 递增 manifest.json version 从 1.1.0 到 1.2.0
- 修复客户端 ensureMarketRepo() 因版本比对跳过解压,导致技能更新无法到达用户的问题

## Context

manifest.json version 自 1.1.0 后多次技能更新未递增,导致客户端版本比对机制认为本地已有效而跳过解压。
2026-05-28 23:42:20 +08:00
xyx
b8af171fcc 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
xyx
dfd0cb62cf fix(i18n): sync dashscope-image-gen & xiaomi-tts zh-CN body with local (#13)
## Summary

- 用本地 `defaults/global-skills/` 中的最新中文 body 内容更新远程 `SKILL.zh-CN.md`
- 更新 zh-CN `source_hash` 以反映最新内容
- 解锁 en-US `translated_by`,允许 CI 自动重新翻译英文 body

## 变更文件

- `skills/dashscope-image-gen/SKILL.zh-CN.md` — 中文 body 同步至本地最新版本
- `skills/dashscope-image-gen/SKILL.md` — 更新 source_hash + 解锁 en-US
- `skills/xiaomi-tts/SKILL.zh-CN.md` — 中文 body 同步至本地最新版本
- `skills/xiaomi-tts/SKILL.md` — 更新 source_hash + 解锁 en-US
2026-05-13 19:38:31 +08:00
78728e61ed fix(i18n): GPT-5 / o-series 不支持自定义 temperature (#11)
## 接 PR #8 的进一步根因

本地用 personal PAT 端到端验证时发现:付费 quota 已生效、`gpt-5-mini`
可访问、`max_completion_tokens` 修复正确,但 translate.py 仍 400:
```
"message": "Unsupported value: 'temperature' does not support 0.1 with this model. Only the default (1) value is supported."
"param": "temperature"
"code": "unsupported_value"
```

GPT-5 系列和 o-series(o1 / o3 / o4)作为 reasoning models 强制
`temperature=1`,不允许自定义。

## 改动

`call_github_models` 基于 model id 条件设置 `temperature`:
- `gpt-5*` / `*o1*` / `*o3*` / `*o4*` → 不发该字段(用默认 1)
- 其他 model(gpt-4 系列、Anthropic Claude)→ 保持 `temperature=0.1`(翻译任务偏好
deterministic)

## 验证

本地实际跑通:`GITHUB_TOKEN=$(gh auth token) uv run --quiet
scripts/i18n/translate.py skills/markdown`
```
skills/markdown → en-US:
  - calling github/openai/gpt-5-mini for en-US translation ...
  - wrote root SKILL.md with translated body (3838 chars)
```

gpt-5-mini 返回 HTTP 200,3838 字符英文 body 正确写入,Markdown 结构保留。
2026-05-13 18:54:42 +08:00
94652d293c fix(i18n): GPT-5 用 max_completion_tokens 解锁付费 quota 真实翻译能力 (#8)
## 根因

我以为 PR #4 的 translate 失败是 `gpt-5-mini` 在免费 tier 不可用 / payload too large
/ quota 用尽。**实际不是**——付费 quota 已生效,gpt-5-mini 可访问。真正原因是 **OpenAI Chat
Completions 2024+ 契约变化**:

- GPT-5 系列要求 `max_completion_tokens`
- 旧的 `max_tokens` 会被拒绝:`HTTP 400
{"error":{"code":"unsupported_parameter","param":"max_tokens"}}`
- translate.py 之前对 400 也 retry 3 次,连续 retry 撞 RPM 触发
429,把“参数错误”错误诊断为“quota 用尽”

通过本地 curl 直接调 API 确认:gpt-5-mini + max_completion_tokens 返回 HTTP 200。

## 改动

- `call_github_models`: `max_tokens` → `max_completion_tokens`(GPT-4
也接受新参数名,向前兼容)
- `_post_with_retries`: 400 直接 raise 并打印 response body(payload 不会变,retry
浪费 quota);429/5xx retry 前先打印 body 让 budget / rate-limit 详情可见

## 验证

- 本地 curl 用 gpt-5-mini + max_completion_tokens:HTTP 200 通过
- CI 上本 PR 不触及 skill,translate workflow 走 skip 分支(验证 detect-changes
不破坏现有逻辑)
- 合并后再开一个 verify PR 实际触发翻译验证端到端
2026-05-13 18:21:51 +08:00
8610f19f7e ci(i18n-translate): 仅翻译本 PR 改动的 skill,避免 stale 雪崩 (#6)
## 背景

PR #4 翻译失败的根因:`translate.py` 总扫描整个 `skills/` 目录,任何一个 skill 的 stale
source_hash 都会触发翻译并占用 GitHub Models quota。一个大文件(如 manage-skills 14KB)撞免费
tier 8K input 上限 → 413 → 整个 workflow fail → ruleset 阻塞合并。

虽然 GitHub Models 已升级付费 quota(200K input 不会再 413),但 scope 收敛仍是更稳健的做法:单 PR
token 消耗与改动量成正比,而不是与整个 repo 的 stale skill 数成正比。

## 改动

- `detect-changes` step 在 `pull_request` 事件下提取本 PR 实际触及的 skill 目录(去重到
`skills/<name>` 粒度),输出到 `GITHUB_OUTPUT skill_paths`
- `precheck`(--check)与 `Translate stale locales` 步骤把 `skill_paths`
作为位置参数传给 `translate.py`,仅检查/翻译相关 skill
- `manifest.json` / `categories.json` 变动时回退到全扫描(这些影响 i18n fallback 链 /
supportedLocales 全局语义)
- `workflow_dispatch` 仍默认全扫描;其 `skill` 输入参数优先级最高

## 验证

- 本地测试 detect-changes shell 提取逻辑:skill 文件 → 正确去重;manifest.json →
全扫描;无相关改动 → relevant=false
- 本地 `translate.py --check skills/<name>` 正常工作
- 本 PR 自身仅触及 `.github/workflows/i18n-translate.yml`,detect-changes 应输出
`relevant=false`,translate 整体走 skip 分支

## Test plan

- [ ] CI 上 `validate` / `translate` / `wait-for-copilot-review` 全绿
- [ ] Copilot 评审通过 / conversation resolved
- [ ] Squash merge
2026-05-13 17:32:19 +08:00
xyx
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
b8101406fb ci: 引入分支保护配套工作流(path 过滤 → detect-changes,AI review 自动化) (#5)
## Summary / 概要

为了让 `main` 分支保护规则在所有 PR 上稳定生效,调整两个现有 i18n workflow 并新增两个 AI review 配套
workflow。

### 已配置的 main ruleset(ID 16298003)

- 只允许 squash merge,禁止 force push / 删除
- 必需 status check:`validate`、`translate`,require
`strict_required_status_checks_policy=true`(必须 rebase 最新)
- PR
rule:`required_approving_review_count=0`、`required_review_thread_resolution=true`、`dismiss_stale_reviews_on_push=true`
- `bypass_actors=[]`:管理员也不能绕过

### 本 PR 改动

1. **i18n-validate / i18n-translate**:移除 `on.pull_request.paths`,把过滤下移到
job 内 `detect-changes` step。路径不相关时跳过实际逻辑但 job 仍 success,避免 required
check 因 path 过滤缺失而卡死非 i18n PR。
2. **auto-request-copilot-review** (新增):PR
opened/reopened/ready_for_review 时自动 `POST
/pulls/{n}/requested_reviewers` 加 Copilot 为 reviewer。
3. **wait-for-copilot-review** (新增):PR
opened/reopened/synchronize/ready_for_review 时启动,轮询 reviews API 等待
`copilot-pull-request-reviewer[bot]` 在当前 head SHA 提交 review。超时 8 分钟则
fail。
- 选择 polling 而不是 `pull_request_review` 事件触发是因为:Copilot bot 触发的
`pull_request_review` 事件被 GitHub 视为 first-time contributor,workflow run
会卡在 `action_required` 状态需 maintainer 在 web UI 手动批准,无法自动化。

合并后会再 PATCH ruleset 16298003,把 `wait-for-copilot-review` 加入 required
status checks 作为强制门槛。

## Test plan

- [x] `i18n-validate` 在本 PR 上跑出 success(PR 仅触及
`.github/workflows/`,relevant=false,走 skip 分支)
- [x] `i18n-translate` 同上
- [x] `auto-request-copilot-review` 跑出 success,Copilot 被自动加为 reviewer
- [x] `wait-for-copilot-review` 在 polling 窗口内捕获到 Copilot review 并 pass
- [ ] 解决 Copilot 提的 conversations 后能 squash merge
- [ ] 合并后用 PATCH ruleset 把 `wait-for-copilot-review` 加入 required checks
2026-05-13 00:21:51 +08:00
e1b4e69de6 fix: 修复 dashscope-image-gen 和 xiaomi-tts 的 i18n CI 校验 2026-05-12 23:24:36 +08:00
c62a4d68f2 feat(skills): 新增 dashscope-image-gen 和 xiaomi-tts 全局内置技能
- dashscope-image-gen: 阿里云通义万相文生图技能(wan2.7-image 系列)
- xiaomi-tts: 小米 MiMo 语音合成技能(mimo-v2.5-tts 系列)
- 更新 builtin-skills.json 清单
2026-05-12 23:13:15 +08:00
张馨元
0f68e665ac feat(skills): 新增 markdown 全局内置技能 2026-05-11 22:00:10 +08:00
xyx
35e749e9f7 Merge pull request #3 from desirecore/fix/media-skill-dynamic-provider
fix: 媒体技能动态 provider 发现
2026-05-10 00:58:18 +08:00
038f3542bd fix: 媒体技能改用动态 provider 发现,移除硬编码 providerId
minimax-music-gen (1.1.2 → 1.1.3):
- providerId: "provider-minimax-media-001" → provider: "minimax" + serviceType: "music_gen"

minimax-video-gen (1.2.1 → 1.2.2):
- providerId: "provider-minimax-media-001" → provider: "minimax" + serviceType: "video_gen"

此前硬编码的 provider-minimax-media-001 在系统中不存在,导致使用
MiniMax Token Plan 或 Coding Plan 时文生音乐/文生视频功能无法路由。
改为 slug + serviceType 动态发现后,无论用户启用按量 API 还是
Token/Coding Plan,findProvider() 都能正确匹配。
2026-05-09 23:25:38 +08:00
e346cd0123 chore: 移除 minimax-tts 和 minimax-image-gen 出默认技能列表
将 minimax-tts(语音合成)和 minimax-image-gen(文生图)从全局默认内置技能中移除,
改为市场可选安装。totalSkills 从 23 调整为 21。
2026-05-09 11:52:13 +08:00
93fd40f661 feat(web-access): v2.0 — Skill-Scoped 工具门控 + cdp-proxy 子模块 + BrowserXxx 工具家族
升级 web-access 技能 v1.1.2 → v2.0.0,与 desirecore/desirecore PR #536 同步。

新增内容(在 i18n 1.1 schema 下保持双语一致):
- SKILL.md / SKILL.zh-CN.md:补充 BrowserXxx 工具家族说明、L3-fast vs L3-fallback
  分层策略(默认 BrowserXxx,复杂场景兜底 Python Playwright)、SKILL 激活前后的
  hidden 工具门控行为、SitePattern 三层学习库语义
- frontmatter 新增 `provides.tools`:声明 11 个 hidden 工具(8 个 BrowserXxx +
  SitePatternRead/Write + LocalBookmarks),客户端按 Skill 激活解锁
- references/browser-tools.md:8 个 BrowserXxx 工具的完整参数与典型用法
- references/site-patterns/ 5 个基线站点模板:xiaohongshu / bilibili / weibo /
  zhihu / feishu,含 _index 总览

manifest.json:stats.lastUpdated 同步到 2026-05-06。

关联:
- 主仓库 PR:desirecore/desirecore#536
- ADR-027 Node CDP 代理子模块(desirecore-docs)
2026-05-06 12:05:39 +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
1c107a9344 feat(skills): 新增 workflow 内置技能(v1.0.5)
将 workflow 工作流编排技能从 desirecore 主仓库的 bundled-only 状态搬迁到 market,
由市场仓库统一管理,避免每次 sync-global-skills 时被脚本清空。

技能内容:
- skills/workflow/SKILL.md (v1.0.5) — Workflow DSL 设计、编辑、测试、执行的
  完整指引;工具引用使用 PascalCase(WorkflowCreate / WorkflowValidate /
  WorkflowTest / WorkflowRun)对齐 desirecore PR #529
- skills/workflow/templates/workflow.dsl.yaml — 五基座示例 DSL 模板(trigger
  / code / llm / agent / human_gate)

注册:
- builtin-skills.json: 23 项(按字母序在 web-access 与 xlsx 之间插入)
- manifest.json: totalSkills 22 → 23

下一步:在 desirecore 主仓库跑 npm run sync-global-skills 即可让 workflow 由
sync 脚本接管,不再需要手工 git checkout 恢复。
2026-05-04 00:30:11 +08:00
c68ab2a124 feat(skills): manage-teams + pptx 工具名对齐 PascalCase
跟随主仓库 desirecore PR #529(内置工具命名 PascalCase 化),同步以下 skill
中的工具引用:

- manage-teams (1.2.2 → 1.2.3):
  - manage_team(...) → ManageTeam(...)
  - delegate(...) → Delegate(...)
  - 段落正文中"使用 delegate 工具" / "直接 delegate" / "临时 delegate" → Delegate

- pptx (1.0.2 → 1.0.3):
  - editing.md 步骤 5 与"Editing Content"段中 "delegate tool" → Delegate tool

manifest.json: stats.lastUpdated 同步到今日。

兼容性:主仓库已通过 BuiltinToolDefinition.aliases 字段保留 manage_team /
delegate 等历史名作为 alias,旧 SKILL.md 仍然可用;本次更新让 SKILL 内的
代码示例与主名一致,避免 LLM 在调用时混用两种风格。
2026-05-04 00:18:02 +08:00
64a7bf0096 feat: 新增 minimax-music-gen 内置技能 (v1.1.1)
- 基于 music-2.6 模型,使用 hex 格式避免 CDN 鉴权失败
- 修复 hex→二进制转码:用 jq + xxd 替代 python3,与强制规则一致
- 加入 builtin-skills.json 清单
2026-05-03 22:45:12 +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
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
20553a5756 chore: 暂时下架 openai-image-gen、openai-tts、kling-video-gen 技能 2026-04-27 21:02:37 +08:00
2923f87fa1 新增媒体生成市场技能 2026-04-27 12:16:10 +08:00
2662fd55fc fix: manage-teams 补全 disable-model-invocation: true (1.2.1→1.2.2) 2026-04-13 16:33:16 +08:00
8aac4a588b fix: environment-setup 和 web-access 也改为 disable-model-invocation: true
- environment-setup 1.1.1→1.1.2
- web-access 1.1.1→1.1.2
2026-04-13 16:30:13 +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
9cde6c0c7d fix: 补全邮箱操作技能缺失的 API(附件下载、草稿管理、Gmail 标签) 2026-04-10 19:26:48 +08:00
bfb21b3d11 feat: 新增邮箱操作全局内建技能 (mail-operations)
- 支持 Gmail / Outlook / IMAP (QQ、163 等) 全部邮件操作
- 包含账户管理、邮件收发、搜索、标签/分类、草稿、自动规则、附件下载
- 支持 auto_reply 和 agent_handle 两种自动化规则动作
- 从原始 1357 行文档优化为 342 行 SKILL.md,表格化 API 参考
- risk_level: medium(涉及发送邮件等写操作)
- 注册到 builtin-skills.json 清单
2026-04-10 19:15:56 +08:00
187d42e302 feat: environment-setup v1.1.0 — 增加 Docker/Podman 容器环境 + WSL2 配置
- frontmatter: description 和触发词覆盖 Docker/Podman/WSL2/容器关键词
- 快速诊断: 增加 Docker/Podman/WSL2 检测命令
- 新增「容器运行环境」章节: Docker 各平台安装、Podman 替代方案、常见问题
- 新增「WSL2 安装与配置」章节: 检测/安装/发行版/开发环境配置/文件互访/常见问题
- 版本升级 1.0.0 → 1.1.0
2026-04-09 12:36:13 +08:00
a5efc3b9a9 feat: environment-setup 技能增加 Hatch/Volta (DesireCore 内置) 使用说明
- 新增 Python 多版本管理(Hatch)章节:版本查看/安装/移除/使用
- 新增 Node.js 多版本管理(Volta)章节:安装/包管理器/自动切换/固定版本
- Hatch vs pyenv / Volta vs nvm 对比表
- 原有 pyenv/nvm/fnm 章节标注为「社区方案」以区分
2026-04-09 12:30:48 +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
张馨元
98322aa930 feat: 新增 web-access 和 frontend-design 两个内置技能
根据 docs 推荐补齐 5 个内置技能中的 c) 和 e):

web-access v1.1.0:
- 三层架构:L1 WebSearch/WebFetch + L2 Jina Reader + L3 CDP Browser
- 添加 Chrome CDP 前置条件(macOS/Linux/Windows 启动命令)
- 支持登录态访问 小红书/B站/微博/知乎/飞书/Twitter/公众号
- Jina Reader 重新定位为默认 token 优化层(非兜底)
- 新增 references/cdp-browser.md(Python Playwright 详细操作手册)
- 触发词扩充:小红书、B站、微博、飞书、Twitter、推特、X、知乎、公众号

frontend-design v1.0.0:
- 从 Claude Code 官方 frontend-design 技能适配
- 保留原版 bold aesthetic 设计理念
- 新增 Project Context Override 章节:在 DesireCore 主仓库内工作时
  自动遵循 3+2 色彩体系(Green/Blue/Purple + Orange/Red)
- 添加 Output Rule 要求告知用户文件路径

builtin-skills.json: 12 → 14 skills
2026-04-07 15:35:59 +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
张馨元
e7eb16d971 fix: skill-creator 改为自动检测模式(disable-model-invocation: false) 2026-04-04 19:22:04 +08:00
张馨元
76c4f66698 feat: 添加办公四件套内置技能(docx/pdf/xlsx/pptx) 2026-04-04 14:27:54 +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
705db88fd1 feat: manage-teams v1.2.0 — 添加组长唯一性约束(一人一团队) 2026-03-29 21:52:38 +08:00
79929fb35f feat: 迁移 manage-teams 技能到市场仓库 (v1.1.0)
从主仓库 defaults/global-skills/ 迁移 manage-teams 技能到市场仓库统一管理。
变更:
- 术语统一:"群"→"团队"(临时群→临时团队,持久群→持久团队)
- 文档补充:新增 add_members/remove_members/set_supervisor 操作示例
- 加入 builtin-skills.json 清单
2026-03-29 21:21:58 +08:00
6ea6ddcec6 fix: 统一 DesireCore 智能体头像字符为 "D"
市场中 desirecore 的 avatar.t 为"核",与本地预设的 "D" 不一致,
统一为 "D" 以保持一致性。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-22 17:05:40 +08:00
36f0f5d384 refactor: update-agent v3.0.0 — 从 HTTP API 迁移到 AgentFS 直接文件操作
- 变更应用改为直接读写 ~/.desirecore/agents/<agentId>/ 下的文件
- 移除所有 HTTP API 端点引用(PUT persona/principles/files)
- 回滚流程改用 git log/show 命令查看历史版本
- 错误处理改为文件系统错误

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-17 02:32:21 +08:00
331a935205 fix: 补齐 s3-storage-operations 市场元数据 2026-03-13 21:55:52 +08:00
d76e8a5932 chore: s3-storage-operations 版本 2.0.0 → 2.0.1
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 12:37:19 +08:00