114f03886b
feat: 新增代码智能内置技能 ( #61 )
...
## 变更摘要
- 新增中英文 `code-intelligence` 内置技能,按需暴露隐藏的 `Lsp` 工具
- 记录 9 种语义导航操作、目录权限边界、缺少语言服务器时的降级策略
- 要求客户端版本 `10.0.94`,避免旧客户端安装后缺失工具
- 更新内置技能清单、市场统计和版本
## 验证
- `uv run --with httpx --with ruamel-yaml scripts/i18n/validate-i18n.py`
- `uv run --with httpx --with ruamel-yaml scripts/i18n/translate.py
--check`
## Summary
Adds the bilingual `code-intelligence` built-in skill, exposes the
hidden `Lsp` tool only when the skill is active, documents its
permission and fallback behavior, and updates the market manifest and
counts.
2026-07-22 20:03:56 +08:00
mashagua
29a599d6a9
feat(skills): 新增 watchless 与 impeccable 两个 external skill ( #60 )
...
## 背景
新增两个社区 skill 的 marketplace 指针条目,两者此前均不在 market 中。
## 改动
新增 2 个 external entry(`entry.json`,git 指针型,含 `zh-CN` / `en-US` i18n):
| skill | category | license | source | 简介 |
|---|---|---|---|---|
| watchless | media | MIT |
[chenzixin1/watchless](https://github.com/chenzixin1/watchless ) |
将视频转成以关键帧截图为主线的完整视觉文档,输出 HTML/PDF/ZIP |
| impeccable | design | Apache-2.0 |
[pbakaus/impeccable](https://github.com/pbakaus/impeccable ) | 让 AI
更懂前端设计的设计语言,覆盖 UX/可访问性/排版/配色/动效/设计系统 |
同步更新:
- `README.md`:external `20 → 22`、total `50 → 52`,外部条目列表按字母序插入
`impeccable`、`watchless`
- `manifest.json`:`stats.totalSkills` `50 → 52`
## 规则遵循
- entry.json 字段对齐现有 git 型指针(如 mattpocock-skills),格式一致
- category 使用 `categories.json` 已声明的合法 slug(media / design)
- `source.ref` 固定到当前最新 commit,保证可复现
- 两个上游仓库均为标准 skill(含 SKILL.md / skill 定义),许可允许再分发
## 验证
- 本地运行 `scripts/i18n/validate-i18n.py`:`OK: no i18n issues found.`(退出码
0)
- entry.json 均为合法 JSON,i18n 完整
2026-07-19 19:19:33 +08:00
caccaee6ef
fix(skills): 去除追问/展示数量的软性倾向措辞,完全交 Agent 自主 ( #59 )
...
## 摘要 / Summary
### 中文
在去除机械数字上限(#58)后,进一步删掉技能里追问/展示数量的**软性倾向措辞**——create
的「一次不要问太多以免用户负担」、discover 的「避免一次刷屏过多」。数量与节奏完全交由执行 Agent
自主判断,不带任何倾向暗示。create 2.5.4 / discover 2.6.4,manifest 1.2.15,中英双份同步、重算
source_hash(validate-i18n 通过)。
### English
After removing the mechanical numeric caps (#58 ), further drop the soft
directional hints on ask/display count — create's "don't ask too many so
as not to burden the user" and discover's "avoid flooding the screen".
Count and pacing are left entirely to the executing Agent's judgment
with no bias. create 2.5.4 / discover 2.6.4, manifest 1.2.15, both
locales synced, hashes recomputed (validate-i18n passes).
2026-07-19 17:31:31 +08:00
14b6a02c48
fix(skills): 去除束缚 Agent 自主判断的机械数字策略 ( #58 )
...
## 摘要 / Summary
### 中文
去除技能里束缚执行 Agent 自主判断的**机械数字策略**:create 需求收集的「每轮最多问 2 个」、discover
排序的「最多展示 5 个候选」。改为交由 Agent 按情况自主把握追问节奏与展示数量,保留「别让用户负担 /
别一次刷屏」的原则意图——把控制权交还给判断力更强的执行者,而非用固定上限约束。create 2.5.3 / discover
2.6.3,manifest 1.2.14,中英双份同步、重算 source_hash(validate-i18n 通过)。
### English
Remove mechanical numeric limits that constrain the executing Agent's
judgment: create's "at most 2 questions per turn" and discover's "show
at most 5 candidates". Both become "the Agent decides the pacing/count
by situation", keeping the principle intent (don't burden the user /
don't flood the screen) while handing control back to the more capable
executor instead of a fixed cap. create 2.5.3 / discover 2.6.3, manifest
1.2.14, both locales synced, hashes recomputed (validate-i18n passes).
2026-07-19 17:05:41 +08:00
74be106952
fix(skills): 补回 #56 压缩时误删的实质信息(意图对齐) ( #57 )
...
## 摘要 / Summary
### 中文
#56 的复盘修正。上一轮"强改写压缩"把四技能 L1
的**技术属性、使用场景与交互示范当套话一刀切**,造成实质信息丢失(承诺"意图全保留"但未做到)。本 PR 补回:
- **create**:`创建仓库符合 AgentFS v2 规范、git
管理版本(可治理/可追溯)`定位;`基础创建`形态(name+description,description 自动填充 persona
L0);需求收集的**引导问题示例**("起什么名字?/主要负责什么?"…);企业部署/开发者原型使用场景。
- **update**:`agent 目录 git 管理版本、历史可追溯`定位 + 使用场景。
- **discover**:使用场景(浏览/新用户/找替代)+ `语义匹配而非关键词搜索`。
- **delete**:使用场景(清理/测试/释放存储)。
根因:L1 混着实质技术属性与营销套话、使用场景是触发判据、引导问题是交互示范,不该按"只留独有信息"一刀切。补回后仍保留结构性压缩(zh
正文合计仍降 ~64%)。版本 create 2.5.2 / update 3.1.3 / delete 2.5.2 / discover
2.6.2,manifest 1.2.13,中英双份同步、重算 source_hash(validate-i18n 通过)。
### English
Post-mortem fix for #56 . The previous aggressive compression treated the
skills' L1 technical attributes, use cases, and interaction demos as
boilerplate and cut them in a blanket way, dropping substantive
information (the "all intent preserved" claim wasn't fully met). This PR
restores: create's AgentFS-v2 / git-version-management positioning, the
"basic create" form (name+description auto-filling persona L0), the
requirement-gathering prompt questions, and enterprise/developer use
cases; update's git-versioned/traceable positioning and use cases;
discover's use cases and "semantic match, not keyword search"; delete's
use cases. Root cause: L1 mixed real technical attributes with marketing
boilerplate, use cases are trigger cues, and prompt questions are
interaction demos — none should have been blanket-cut. Structural
compression is retained (zh bodies still ~64% smaller). Versions bumped,
manifest 1.2.13, both locales synced, source hashes recomputed
(validate-i18n passes).
2026-07-19 16:14:22 +08:00
d52e61e041
perf(skills): 智能体 CRUD 四技能提示词改写压缩(功能不变,~65%) ( #56 )
...
## 摘要 / Summary
### 中文
四个智能体管理技能(create/update/delete/discover-agent)改用 `ManageAgent`
内置工具后,正文与工具契约大量重叠——ManageAgent 的 description + params 已**常驻每次 query
的上下文**,声明了五个 action 语义、参数约束、权限硬边界、错误语义、字段级合并、确认行为、list/get
返回格式;技能正文里再复述即冗余。本次对四技能做**强改写·语境融合**压缩:
- 与工具契约重复的说明(参数/权限/错误码/确认行为/成功返回话术)**改写融入对应流程步骤**(如错误处理表 → 阶段一句、确认行为 →
阶段一句),不再照抄、不再表格化。
- 装饰性 ASCII 流程框图 → 一行文字流程;update 内部两张重复更新表 → 合并;YAML
元数据块(diff_metadata/context_handoff)融入流程;冗长示例(create 三份 JSON、update 附录 4
示例、discover ASCII 卡片)就地精简为代表示意。
- **不外置 references、不净删除任何内容**:所有决策/领域/交互意图完整保留——领域匹配表、persona/principles
的 L0/L1/L2 生成规范、update 两路径分流与字段级合并 vs 整体替换、防幻觉改名、回滚流程、discover
需求维度与无匹配衔接 create 等核心一字未丢。
zh 正文合计 **26542 → 9196 字符(降 ~65%)**;中英双份同步改写、逐段对齐,重算 i18n
source_hash(validate-i18n 通过)。版本 create 2.5.1 / update 3.1.2 / delete
2.5.1 / discover 2.6.1,manifest 1.2.12。
### English
After the four agent-management skills adopted the `ManageAgent` builtin
tool, their bodies heavily duplicated the tool contract — ManageAgent's
description + params are **resident in every query's context** (action
semantics, param constraints, permission hard-boundaries, error
semantics, field-level merge, confirmation behavior, list/get return
formats). This PR compresses all four via **aggressive rewrite +
contextual fusion**: contract-duplicating text is rewritten into the
relevant flow steps (not copied, not tabularized), decorative ASCII flow
boxes become one-line text, update's two duplicate tables are merged,
YAML metadata blocks are folded in, and long examples are trimmed in
place to representative sketches. **No references externalization, no
net deletion** — every decision/domain/interaction intent is preserved
(domain matching table, persona/principles L0/L1/L2 generation spec,
update's two-path split and field-level-merge-vs-full-replace,
anti-hallucination rename, rollback flow, discover's need dimensions and
create hand-off). zh bodies total **26542 → 9196 chars (~65% down)**;
both locales rewritten and aligned, i18n source hashes recomputed
(validate-i18n passes). Versions bumped, manifest 1.2.12.
2026-07-19 15:16:43 +08:00
mashagua
64d295a489
feat(skills): 为 15 个 pointer skill 补充 i18n 中英文简介 ( #55 )
...
## 背景
仓库内 20 个 pointer skill(`entry.json` 指针型条目)中,仅 5
个(flyai-skill、karpathy-guidelines、last30days、minimax-image-gen、minimax-tts)有
`i18n` 块,其余 15 个缺失,导致市场详情页中英文简介为空。
## 改动
为以下 15 个 skill 的 `entry.json` 补充 `i18n.zh-CN` / `i18n.en-US` 的 `name` 与
`shortDesc`,格式对齐已有条目(驼峰 `shortDesc`,`zh-CN` / `en-US` 直接置于 `i18n` 下):
| skill | 来源 |
|---|---|
| agent-reach | 上游 SKILL.md description |
| ai-news-radar | 上游 README |
| amap-jsapi-skill | clawhub 官方页面描述 |
| dingtalk-api | clawhub 官方页面描述 |
| follow-builders | 上游 README |
| ian-xiaohei-illustrations | 上游 SKILL.md description |
| khazix-skills | 上游 README |
| larksuite-cli | 上游 README |
| luckin-my-coffee | 按 skill 名称与类别推断(zip 分发,无可读源,待维护者核对) |
| mt-paotui-for-client | 上游 README |
| netease-skills | 上游 README |
| mattpocock-skills | 上游 README |
| taste-skill | 上游 README |
| wechatpay-skills | 上游 README |
| wecom-cli | 上游 README |
## 验证
- 15 个 `entry.json` 均为合法 JSON,`i18n` 字段完整
- 本地运行 `scripts/i18n/validate-i18n.py`:`OK: no i18n issues found.`(退出码
0)
- 仅改动 `i18n` 块,未触碰其它字段
## 备注
- **luckin-my-coffee** 的简介为推断内容(该 skill 以 zip 分发,无可读源码/README),请维护者重点核对。
2026-07-19 14:37:19 +08:00
05e4498e31
fix(skills): flyai-skill 补 source.path 与 i18n,修复详情页空白 ( #54 )
...
## 问题
FlyAI(flyai-skill)在客户端市场详情页显示为空白(无描述、无技能文档正文)。
## 根因
- `source.path` 未设置:上游仓库 `alibaba-flyai/flyai-skill` 的 `SKILL.md` 实际位于
`skills/flyai/` 子目录(目录名为 `flyai`,而非与 entry id 同名的 `flyai-skill`)。抓取逻辑在
`path` 为空时退化为在仓库根目录查找 `SKILL.md`,而根目录并无该文件,导致抓取静默失败、`body` 保持为空。
- 缺少 `i18n` 字段:`shortDesc`/`name` 本地化文案缺失,列表与详情页描述行同样为空。
两者叠加,加上客户端对空字段没有兜底文案,最终表现为详情页视觉上完全空白。
## 修改
- 补充 `source.path: "skills/flyai"`,对齐上游真实目录结构
- 补充 `i18n.zh-CN` / `i18n.en-US` 的 `name` + `shortDesc`(内容取自上游
`SKILL.md` frontmatter 的 `description` 字段整理)
- 补充 `latestVersion: "1.0.15"`(对齐上游 `SKILL.md` frontmatter
`metadata.version`)
## 验证
- `python3 scripts/i18n/validate-i18n.py skills/flyai-skill` 通过
- `python3 scripts/i18n/validate-i18n.py skills/flyai-skill --online`
通过(确认 `source.path` 指向的文件真实可抓取)
## Test plan
- [x] 本地校验脚本通过(含 --online)
- [ ] DesireCore 主仓库 `npm run sync-market` 后在客户端验证详情页正常展示
2026-07-19 00:45:05 +08:00
b2ef6a1f19
fix(skills): update-agent 示例字段名修正 + get 返回示例对齐真实输出 ( #53 )
...
## 摘要 / Summary
### 中文
market#52 的修正:update-agent
附录示例使用了错误的字段名(`communicationStyle`/`must`),照示例调用会被 ManageAgent 的 Ajv
校验(additionalProperties: false)直接拒绝;`personality` 示例应为字符串数组。同时把 `get`
的返回示例对齐真实输出格式(`## persona.md` / `## principles.md` 段落含分层 markdown 原文,对应
desirecore#1230),并在附录固定列出结构化字段名清单。update-agent 3.1.1,manifest 1.2.11。
### English
Correction to market#52: the update-agent appendix examples used wrong
field names (`communicationStyle`/`must`) that ManageAgent's Ajv
validation (additionalProperties: false) would reject outright;
`personality` must be a string array. The `get` response example is
aligned with the actual output format (`## persona.md` / `##
principles.md` sections, per desirecore#1230), and the appendix now
lists the fixed structured field names. update-agent 3.1.1, manifest
1.2.11.
2026-07-18 23:35:50 +08:00
1c00b8e6c8
feat(skills): 智能体 CRUD 四技能改经 ManageAgent 内置工具(实例鉴权适配) ( #52 )
...
## 摘要 / Summary
### 中文
主仓库 desirecore#1225 新增 `ManageAgent` 内置工具后,智能体 CRUD 四技能从"调本机 HTTP
API/curl"改写为调用该工具(实例鉴权上线后 Agent 直接访问本机 API 会 401):
- **create-agent 2.5.0**:`POST /api/agents` →
`ManageAgent(action='create', ...)`;补充保留标识(core/desirecore)拒创、config 仅允许
llm 白名单的错误处理
- **delete-agent 2.5.0**:`DELETE /api/agents/:id` →
`action='delete'`(工具层强制用户确认);错误处理改为工具拒绝语义(核心智能体/自删/活跃状态);补团队级联说明
- **discover-agent 2.6.0**:`GET /api/agents(/:id)` →
`action='list'/'get'`
- **update-agent
3.1.0**:结构化字段(name/description/llm/persona/principles)改经
`action='update'`(白名单+schema 校验+字段级合并语义),自由格式文件仍 Read/Write
四技能声明 `market.required_client_version:
10.0.90`,老客户端在市场端被门控禁装。中英双语正文同步改写,i18n source_hash 已重算(validate-i18n.py
通过);manifest 1.2.10。
### English
After desirecore#1225 shipped the `ManageAgent` builtin tool, the four
agent-CRUD skills are rewritten from local-HTTP-API/curl instructions to
tool calls (direct local API access now returns 401 under instance
auth). Each skill declares `market.required_client_version: 10.0.90` so
older clients are gated from installing. Both locales are rewritten in
sync and i18n source hashes recomputed (validate-i18n.py passes);
manifest bumped to 1.2.10.
主仓库回填:合并后将在 desirecore 主仓库执行 `npm run sync-market` 生成新的
defaults/market.zip 并单独提 PR。
2026-07-18 23:05:18 +08:00
0ecc29c7ce
feat(market): 为外部技能补充图标 ( #50 )
...
## Summary / 摘要
Add inline SVG icons to all 20 external pointer skills, so their cards
no longer fall back to an empty icon. The market catalog version is
bumped from `1.2.8` to `1.2.9`.
为全部 20 个外部 pointer skill 补齐内联 SVG 图标,市场卡片不再显示为空;市场版本由 `1.2.8` 升至
`1.2.9`。
## Compatibility / 兼容性
Depends on desirecore/desirecore#1177 , which permits the `icon` field in
strict pointer-entry validation and forwards it through the offline
list/detail responses. That PR must merge first.
## Skill → icon screenshot / Skill 与图标截图
The preview labels every card with its display name and id.

Covered skills: `agent-reach`, `ai-news-radar`, `amap-jsapi-skill`,
`dingtalk-api`, `flyai-skill`, `follow-builders`,
`ian-xiaohei-illustrations`, `karpathy-guidelines`, `khazix-skills`,
`larksuite-cli`, `last30days`, `luckin-my-coffee`, `mattpocock-skills`,
`minimax-image-gen`, `minimax-tts`, `mt-paotui-for-client`,
`netease-skills`, `taste-skill`, `wechatpay-skills`, and `wecom-cli`.
## Validation / 验证
- `uv run scripts/i18n/validate-i18n.py`
- `uv run scripts/i18n/translate.py --check`
- Parsed all 20 `entry.json` icons as SVG XML
- `git diff --check`
- Rendered the committed preview asset locally
2026-07-16 19:59:41 +08:00
73c94ab70e
fix(skills): 禁止自动注入完整技能内容 ( #49 )
...
## Summary
- 将 dashscope-image-gen、image-to-image、markdown、tech-diagram、xiaomi-tts
改为仅按需加载,并递增 patch 版本
- 在 Market validator 与 JSON Schema 中禁止 `disable-model-invocation: false`
- 将回归测试接入 `i18n Validate`,同步中英文技能编写规范
## Root cause and impact
这 5 个技能在首次引入时即声明 `disable-model-invocation: false`,导致完整技能正文进入普通请求的
system prompt。修改后市场技能只能声明 `true` 或省略该字段,完整内容仅在显式调用 Skill 工具后加载。
## Validation
- `uv run --quiet scripts/i18n/test_validate_i18n.py`
- `uv run --quiet scripts/i18n/validate-i18n.py`
- `uv run --quiet scripts/i18n/translate.py --check`
- `python3 -m json.tool
scripts/i18n/schema/skill-frontmatter.schema.json`
- `actionlint .github/workflows/i18n-validate.yml`
- `git diff --check`
2026-07-14 11:55:22 +08:00
5ab2994664
fix: 修复配置算力技能图标 ( #48 )
...
## 修改内容
- 将“配置算力”技能的芯片图标调整为对称的 9/15 引脚布局
- 为图标边缘保留安全距离,避免缩放时出现贴边或裁切
- 将技能版本更新至 1.0.2,并补充变更记录
## 根因
原图标左右引脚使用了不对称的坐标,并延伸至 viewBox 的 1/23 边缘;在市场卡片缩放渲染时容易产生视觉偏移或裁切。
## 验证
- `python scripts/i18n/validate-i18n.py`
- YAML frontmatter 与内联 SVG XML 解析
- `git diff --check`
2026-07-11 20:42:20 +08:00
0518fb0c28
fix(skills): add latestVersion and i18n to karpathy-guidelines / last30days pointer entries ( #47 )
...
## Summary / 摘要
Complete the two pointer entries added in #46 with `latestVersion` and
`i18n` blocks.
补全 #46 新增的两个 pointer 条目的 `latestVersion` 与 `i18n` 字段。
## Why / 原因
- **latestVersion**: `karpathy-guidelines` upstream `SKILL.md` has no
root-level `version`, so the client records `0.0.0` on install and the
update check (`0.0.0 == 0.0.0`)永远判定已最新——updates would be silently
skipped forever. Registering `latestVersion` here enables the
client-side fallback (shipping separately in the desirecore repo).
`karpathy-guidelines` 上游无根级 version,客户端装出来是 0.0.0 且更新判定永远跳过;在市场登记
latestVersion 配合客户端 fallback 修复。
- **i18n**: per ADR-038, market list localization must work offline from
`entry.json` alone. Both entries previously lacked `i18n`, so the list
shortDesc would render empty.
按 ADR-038 列表本地化需离线可用,此前两条目缺 i18n,列表简介为空。
## Changes / 变更
- `skills/karpathy-guidelines/entry.json`: `latestVersion: 1.0.0` +
zh-CN/en-US `i18n`
- `skills/last30days/entry.json`: `latestVersion: 3.11.1`(与上游一致)+
zh-CN/en-US `i18n`
## Testing / 测试
- Both files validated against `marketSkillEntrySchema` (Ajv, desirecore
repo) — VALID.
- [x] I have read and agree to the CLA
2026-07-11 20:29:40 +08:00
mashagua
911644639e
feat(skills): add karpathy-guidelines and last30days as pointer entries ( #46 )
...
## Summary
Add two community skills as **metadata-only pointer entries**, following
ADR-038 (market stores only `entry.json` + source pointer for
third-party content; no source vendored into the repo).
| id | upstream | stewardship | license | redistribution |
|----|----------|-------------|---------|----------------|
| `karpathy-guidelines` |
[multica-ai/andrej-karpathy-skills](https://github.com/multica-ai/andrej-karpathy-skills )
| community | MIT | allowed |
| `last30days` |
[mvanhorn/last30days-skill](https://github.com/mvanhorn/last30days-skill )
| community | MIT | allowed |
## Changes
- `skills/karpathy-guidelines/entry.json` — pointer to
`skills/karpathy-guidelines` on branch `main`
- `skills/last30days/entry.json` — pointer to `skills/last30days` on
branch `main`
- `manifest.json` — `totalSkills` 45 → 47, `lastUpdated` bumped
## ADR-038 compliance
- No upstream source tree vendored; only `entry.json` metadata +
`source` git pointer.
- Required fields present: `stewardship` / `license` / `redistribution`.
- Both upstreams are MIT and `redistribution: allowed`; content is
fetched from upstream at install time.
## Testing
- Validated both `entry.json` files are well-formed JSON.
- `source.path` usage matches existing precedent (e.g. `minimax-tts`,
`minimax-image-gen`).
2026-07-11 19:48:04 +08:00
mashagua
e5bc1115ae
Add three MIT community skill entries (agent-reach, ian-xiaohei-illustrations, khazix-skills) ( #45 )
...
## Summary
按 ADR-038《市场元数据注册表与两层技能模型》,以 `entry.json` pointer 形式收录三个第三方 community
skill。**仅登记元数据,正文全部留在各自源仓库**,不向 market 仓库 vendoring 任何源码/二进制。
| id | 源仓库 | license | stewardship | redistribution | category |
|----|--------|---------|-------------|----------------|----------|
| `agent-reach` |
[Panniantong/agent-reach](https://github.com/Panniantong/agent-reach ) |
MIT | community | allowed | research |
| `ian-xiaohei-illustrations` |
[helloianneo/ian-xiaohei-illustrations](https://github.com/helloianneo/ian-xiaohei-illustrations )
| MIT | community | allowed | media |
| `khazix-skills` |
[KKKKhazix/khazix-skills](https://github.com/KKKKhazix/khazix-skills ) |
MIT | community | allowed | productivity |
## Changes
- 新增 `skills/agent-reach/entry.json`(SKILL.md 位于 `agent_reach/skill`,已用
`source.path` 指向)
- 新增 `skills/ian-xiaohei-illustrations/entry.json`(SKILL.md 位于同名子目录,已用
`source.path` 指向)
- 新增 `skills/khazix-skills/entry.json`(多技能合集,指向仓库根)
- 三条 `source.ref` 均固定到源仓库当前 HEAD commit,保证可复现
- `manifest.json`:`stats.totalSkills` 45 → 48,`lastUpdated` 更新为
2026-07-09
- `README.md`:同步计数(external 15→18 / total 45→48)与外部条目列表
## Compliance (ADR-038)
- 三个源仓库均为 MIT,`redistribution: allowed`,可分发
- 未向 market 仓库引入任何 upstream 源码树 / zip / 二进制
- 字段遵循现有 `entry.json` 约定(参照 mattpocock-skills / netease-skills 等既有条目)
2026-07-09 21:37:59 +08:00
Zxy-y
ac6e5a850c
chore(update-agent): version 3.0.4 → 3.0.5 补发改名指引更新 ( #44 )
...
## 背景 / Context
上一个 PR(#43)修改了 update-agent 技能正文(改名改用 Edit 同步 agent.json +
persona.md),但**未升 version**(仍 3.0.4)。
技能同步的更新判定**纯按
semver**(`lib/agent-service/sync/builtin-skill.ts`:`compareSemver(local,
source)`,版本一致即跳过、不比内容),因此已安装 3.0.4 的存量用户会因'版本一致→跳过'而**收不到**上个 PR 的正文更新。
The previous PR (#43 ) changed the update-agent skill body but did not
bump the version. Skill sync decides updates purely by semver (same
version → skip, content ignored), so existing 3.0.4 installs would never
receive the content update. Bumping to 3.0.5 forces propagation.
## 变更 / Change
- `skills/update-agent/SKILL.md`: `version: 3.0.4 → 3.0.5`(仅此一行,不动正文,不影响
source_hash / i18n 校验)
Co-authored-by: 张馨元 <zhangxy@iynss.com >
2026-07-08 14:49:11 +08:00
Zxy-y
a59f223e56
docs(update-agent): 改名改用 Edit 同步 agent.json 与 persona.md 标题 ( #43 )
...
## 变更 / Changes
update-agent 技能:纯改名场景改为用 **Edit 工具同时更新两个文件**——`agent.json` 的 `name` 字段 与
`persona.md` 的首行标题(`# 名称`),避免两者脱节;并强调不实际编辑文件不得声称已改名。
The update-agent skill now instructs: for a pure display-name change,
use the **Edit tool to update both files** — the `name` field in
`agent.json` and the first-line title heading (`# Name`) in `persona.md`
— so the display name and persona title never fall out of sync. Also
emphasizes never claiming a rename is done without actually editing the
files.
## 背景 / Context
此前改名只改了 `agent.json` 的 name,`persona.md`
标题残留旧名(显示名与人格文档脱节);且模型有时只口头声称完成而不真正落盘。本改动通过技能引导修正这两点。
Previously renaming only touched `agent.json`'s name while
`persona.md`'s title kept the old name (desync), and the model would
sometimes claim completion without actually writing. This skill guidance
fixes both.
## 改动范围 / Scope
- `skills/update-agent/SKILL.md`(+3)
- `skills/update-agent/SKILL.zh-CN.md`(+3)
- 纯文档/技能引导改动,version 保持 3.0.4 不变
Co-authored-by: 张馨元 <zhangxy@iynss.com >
2026-07-07 22:30:26 +08:00
a4718379d9
强化市场校验与索引元数据
...
合并市场索引、分类、i18n 校验、skill-creator 工具和已修改 skill 版本号更新。
2026-07-07 21:14:31 +08:00
b273a1008a
docs(discover-agent): 使用场景补充"更换智能体"情形 ( #40 )
...
给 discover-agent 的中文源补充一条使用场景。
同时这是 #39(pull_request_target 自动翻译流水线)的端到端验证 PR:中文源变更 → en-US 过期 → CI
应自动翻译并把 commit 推回本分支、发评论。
🤖 Generated with [Claude Code](https://claude.com/claude-code )
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
Co-authored-by: desirecore-bot <bot@desirecore.net >
2026-07-07 20:04:55 +08:00
mashagua
61336c68b5
Add 3 community skill pointers (MIT) ( #36 )
...
## What
按 ADR-038(市场元数据注册表与两层技能模型)以「元数据 + pointer」方式收录 3 个第三方 skill 仓库(均为 MIT):
| id | 上游 | 许可 | 分支 |
|----|------|------|------|
| `mattpocock-skills` |
[mattpocock/skills](https://github.com/mattpocock/skills ) | MIT | main |
| `ai-news-radar` |
[LearnPrompt/ai-news-radar](https://github.com/LearnPrompt/ai-news-radar )
| MIT | master |
| `taste-skill` |
[Leonxlnx/taste-skill](https://github.com/Leonxlnx/taste-skill ) | MIT |
main |
## How
- 各仅新增 `skills/<id>/entry.json` 一个文件(每个 24 行),**不 vendor
任何上游源码**,正文按需从上游获取。
- 三个上游均为 **MIT**(可分发),故
`stewardship=community`、`redistribution=allowed`。
- `source` 指针格式对齐现有 `follow-builders` 条目(注意 ai-news-radar 默认分支为
`master`)。
## Compliance (ADR-038)
- [x] 第三方内容不进 market 仓库,只放元数据 + pointer
- [x] 每条标注 stewardship / license / redistribution
- [x] 改动量极小(3 files, +72),无 upstream/ / .zip / .gif 膨胀
---------
Co-authored-by: Yige <a@wyr.me >
2026-07-07 17:02:16 +08:00
6e0f6b403e
feat(skills): 新增 configuring-compute 技能 ( #37 )
...
## 中文
新增官方内置技能 `configuring-compute`:让平台内智能体能帮用户配置算力供应商与 API Key。
- 完整流程:查看配置 → 创建/更新 provider → 写入密钥(只写端点)→ verify-key 验证 → 启用/同步模型 →
POST /api/compute/reload 刷新
- 安全模型写入技能文本:密钥只写不读,禁止读取 secrets.json 或尝试读回已有 key
- 加入 builtin-skills.json 清单;manifest version 1.2.6 → 1.2.7
依赖 desirecore 主仓库的配套 PR(掩码脱敏 + reload 端点)。
## English
Add the official builtin skill `configuring-compute`: enables
in-platform agents to configure compute providers and API keys for the
user.
- Full flow: inspect config → create/update provider → write key
(write-only endpoint) → verify-key → enable/sync models → POST
/api/compute/reload
- Security model embedded in the skill text: keys are write-only;
reading secrets.json or existing keys is forbidden
- Added to builtin-skills.json manifest; manifest version 1.2.6 → 1.2.7
Depends on the companion PR in the desirecore main repo (key masking +
reload endpoint).
2026-07-07 16:21:04 +08:00
d83ab2d842
feat: 上架 minimax-video-gen(移除 listed: false) ( #35 )
...
## Summary
- 移除 `minimax-video-gen` 的 `market.listed: false`,使其在市场页面可见,用户可手动安装
Remove `market.listed: false` from `minimax-video-gen` so it appears in
the market UI for manual installation.
## Changes
- **skills/minimax-video-gen/SKILL.md**: remove `listed: false` (1 line
deletion)
2026-07-02 19:03:14 +08:00
2899247128
feat: 补全 registering-services / using-services 缺失的图标 ( #34 )
...
为两个缺 market.icon 的技能补 24×24 线性 SVG(icon: >- 折叠标量,置于 category 前,对齐仓库约定);version 1.0.0→1.0.1。其余无图标条目为 pointer entry.json,需先扩 entry schema,另行处理。
2026-06-29 17:59:16 +08:00
5b7708a612
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
2bcbcbc9e2
feat(mail-operations): 补充邮箱服务 UI 入口说明 v1.0.4 ( #30 )
...
## Summary / 摘要
- Add "How to Access the Email Service" section to `SKILL.md` and
`SKILL.zh-CN.md`, guiding users to navigate via Resource Explorer →
Emails card
- 在中英文技能文件中新增「如何进入邮箱服务」章节,说明通过资源管理器→邮箱卡片进入邮箱管理界面
## Changes / 变更
- `skills/mail-operations/SKILL.md`: add "How to Access the Email
Service" section, version 1.0.3 → 1.0.4
- `skills/mail-operations/SKILL.zh-CN.md`: add「如何进入邮箱服务」章节
- `manifest.json`: version 1.2.5 → 1.2.6
2026-06-20 11:30:56 +08:00
51f4837933
fix(dashscope-image-gen): 默认模型改为 gpt-image-2 v1.4.0 ( #29 )
...
## Summary
上游 proxy (desirecore-cloud at api.yizhioa.cn) 仅支持 `gpt-image-2`
图片生成模型,`wan2.7-image` 返回 `model_price_error`。
The upstream proxy (desirecore-cloud) only supports `gpt-image-2` for
image generation. `wan2.7-image` returns `model_price_error`.
### Changes
- Default model changed from `wan2.7-image` → `gpt-image-2`
- `wan2.7-image` / `wan2.7-image-pro` kept as optional (requires
user-configured DashScope provider)
- Added auto-fallback strategy: `model_price_error` → retry with
`gpt-image-2`
- Size values adapted for gpt-image-2: `1536x1024` / `1024x1536`
- Skill display name updated: 阿里云 文生图 → AI 文生图
- Market version: 1.2.4 → 1.2.5, skill version: 1.3.0 → 1.4.0
### Test
- `gpt-image-2` via `/images/generations` endpoint: verified working
(b64_json response, 1.5MB PNG)
- Upload to media-store: verified working
- `dc-media://` rendering: verified working
2026-06-15 01:14:53 +08:00
c6d852c4e9
feat(image-to-image): 新增图生图全局技能 v1.0.0 ( #27 )
...
## 概要 / Summary
新增图生图(image-to-image)全局默认技能,支持用户基于已有图片进行 AI 编辑和变换。
Add a new global builtin skill for image-to-image editing, allowing
users to edit and transform existing images with AI.
## 变更内容 / Changes
- 新增 `skills/image-to-image/SKILL.md`(英文)
- 新增 `skills/image-to-image/SKILL.zh-CN.md`(中文)
- `builtin-skills.json` 注册为全局默认技能
**技术实现**:
- 模型:`gpt-image-2`(通过 DesireCore Cloud 提供)
- 端点:`/images/generations` + `image` 字段(与文生图共用端点,image 字段触发图生图模式)
- 零代码改动:纯技能文件实现,media-proxy 已支持透传 image 字段
**与文生图(dashscope-image-gen)的区分**:
- 用户有参考图 → 图生图(本技能)
- 用户无参考图 → 文生图(dashscope-image-gen)
## 测试 / Test Plan
- [x] dev 模式端到端测试:用户发送图片 + 编辑指令 → 成功生成编辑后的图片
- [x] API 验证:`gpt-image-2` + `/images/generations` + `image` base64 字段 →
返回 b64_json 成功
2026-06-12 16:44:56 +08:00
42617e292d
fix(dashscope-image-gen): 切换到 /images/generations 端点 v1.3.0 ( #26 )
...
## 概要 / Summary
修复 dashscope-image-gen 技能的核心端点问题,从 `/chat/completions`(对 wan 图片模型返回 HTTP
400)切换到 `/images/generations`,同时新增多项防护措施防止模型偏离执行路径。
Fix the core endpoint issue: switch from `/chat/completions` (returns
HTTP 400 for wan image models) to `/images/generations`, with enhanced
guardrails to prevent model deviation.
## 变更内容 / Changes
**核心修复**
- 端点:`/chat/completions` → `/images/generations`
- 请求体:`messages` 数组 → `prompt` 字符串 + `size` + `n`
- 响应处理:`choices[].message.content` 图片 URL → `b64_json` base64 解码
**新增防护**
- `curl -o` 保存响应到临时文件,避免 ~2MB base64 灌入终端浪费 token
- 新增"供应商与默认算力"章节,明确 DesireCore Cloud 始终可用,无需探索
- 强化 7 条强制规则(原 5 条),禁止探索未列出的模型/端点/配置文件
- 端口发现优先从系统提示词获取,兜底 `${DESIRECORE_HOME:-$HOME/.desirecore}`
- 错误处理改为表格格式 + "禁止自行重试其他方案"
## 测试 / Test Plan
- [x] dev 模式端到端测试:用户输入"生成一张小猪" → 4 次工具调用,0 失败,图片成功生成并展示
- [x] 对比历史:第一次测试 472 条/7+ 失败 → 第二次 141 条/5 失败 → **本次 108 条/0 失败**
2026-06-10 17:23:52 +08:00
2cea1a3aa6
fix(minimax-video-gen): 切换到 NewAPI 网关,升级 v1.2.3 → v1.3.0 ( #25 )
...
## 概述 / Summary
将默认全局技能 **minimax-video-gen(MiniMax 文生视频)** 从 MiniMax 原生 API 切换到 NewAPI
网关,已在本地 dev 环境验证通过。版本 `1.2.3 → 1.3.0`。
Switch the built-in skill **minimax-video-gen** from MiniMax's native
API to the NewAPI gateway. Verified locally in dev. Version bumped
`1.2.3 → 1.3.0`.
## 改动 / Changes
- `provider: "minimax"` → `providerId: "desirecore-cloud"`(原生主机不支持
NewAPI 路径,必须用 providerId 指定网关 / native host doesn't support the NewAPI
path)
- endpoint `/video_generation` → `/video/generations`(带 s / with
trailing "s")
- 轮询/状态值 `Success/Fail/Processing` →
`completed/failed/queued/in_progress`
- 移除 `file_id` 检索步骤,下载链接改为直接从 `data.metadata.url` 提取 / drop the
`file_id` retrieval step, read the URL from `data.metadata.url`
- 字段名 `resolution` → `size`;默认参数 `size=768P, duration=6`
- 下载用 `curl -sL` 直连,不再经 media-proxy 代理 / download directly, no
media-proxy
中英双语文档(SKILL.md / SKILL.zh-CN.md)已同步修改。
## 影响 / Impact
合并后,已安装且未偏离该技能的线上客户端将通过 `marketSync` 的 git fetch + 10 分钟定时
`syncMarketSkillsOnly` 自动更新到 1.3.0(`compareSemver(1.2.3, 1.3.0) === -1`
触发更新);已手动修改过该技能的用户会被跳过以保护本地改动。
Once merged, installed clients that haven't locally diverged will
auto-update to 1.3.0 via marketSync git fetch + the 10-min
`syncMarketSkillsOnly` timer. Users who modified the skill locally are
skipped.
2026-06-09 18:40:10 +08:00
329fb5fed1
docs(dev-environment-setup): /environment/refresh 补充重新加载登录环境变量语义 ( #24 )
...
## 变更说明 / Description
配合客户端 PR
[desirecore/desirecore#808 ](https://github.com/desirecore/desirecore/pull/808 ):`POST
/api/runtime/environment/refresh` 端点现在除清检测缓存外,还会**重新抓取登录 shell / Windows
注册表环境并精确同步到 `process.env`**。本 PR 更新 `dev-environment-setup` skill 文档,让
AI 在「用户改了 `.zshrc` / `setx` 但工具看不到」时能主动调用该端点(无需用户重启 App)。
Companion to client PR desirecore#808: the `/environment/refresh`
endpoint now also reloads login-shell / Windows-registry env and
precise-syncs into `process.env`. This PR updates the
`dev-environment-setup` skill docs so the AI proactively calls it when a
user reports a freshly-changed env var that tools can't see.
## 改动 / Changes
- `references/desirecore-runtime.md`:第三节端点表更新 + 第七节扩展(重新加载语义 + `envDiff`
返回结构 + 「何时主动调用」触发场景 + 局限)
- `SKILL.md` / `SKILL.zh-CN.md`:L1 路由表新增「用户改了 `.zshrc` / 环境变量 / 代理 /
`setx` 但工具看不到 → 刷新端点」+ 重要约束第 3 条扩展(中英双语同步)
- `version` 2.0.3 → 2.0.4;并修正 #16 起遗留的 `source_hash` stale 值(`7e4baaf` →
`748e754b`,已用 `scripts/i18n` 同款算法验证)
## 说明 / Notes
- 该 skill 为 `translated_by: human`,中英两份已手动同步
- 文档描述的端点能力随客户端 PR desirecore#808 发布;旧客户端调用该端点仍只清检测缓存(不报错),文档短暂超前可接受
2026-06-09 11:27:13 +08:00
954891f9c2
fix(dashscope-image-gen): 移除硬编码 provider,改用 serviceType 自动发现 ( #23 )
...
## Summary
- 移除 `media-proxy` curl 命令中硬编码的 `"provider": "dashscope"`,改为仅传
`"serviceType": "image_gen"` 让系统自动匹配已启用的供应商
- 修改 frontmatter `provider: dashscope` → `provider: auto`
- 更新前置条件和错误处理描述,不再要求配置 DashScope 专用 Provider
- Bump version 1.1.1 → 1.2.0
## Background
之前技能硬编码了 `"provider": "dashscope"`,导致使用中转 key(如 DesireCore Cloud /
鹏耀科技)时 `findProvider` 按 slug 匹配不到已启用的供应商,文生图功能无法使用。
改为 `serviceType: "image_gen"` 自动发现后,`findProvider` 会在所有已启用的 provider
中查找支持 `image_gen` 服务类型的供应商,兼容直连和中转场景。
## Changes
| File | Change |
|------|--------|
| `SKILL.md` | 去掉 curl 中 `"provider": "dashscope"`;更新 prerequisites /
error handling |
| `SKILL.zh-CN.md` | 同步中文版修改 |
## Test plan
- [ ] 使用 DesireCore Cloud(鹏耀科技)默认算力,发送「画一幅小狗」验证技能触发和图片生成
- [ ] 使用独立 DashScope API Key 配置,验证兼容性
2026-06-05 18:03:50 +08:00
Zxy-y
17fe79ab49
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
b15fce19bf
feat: add guizang-ppt market skill (vendored from op7418, AGPL-3.0) ( #20 )
...
## 概述 / Summary
新增市场技能 **`guizang-ppt`**(归藏网页 PPT),vendored 自上游开源项目
[op7418/guizang-ppt-skill](https://github.com/op7418/guizang-ppt-skill )。
Add a new **market skill** `guizang-ppt` — generates single-file HTML
horizontal-swipe slide decks (web PPT) in two visual systems (editorial
"magazine × e-ink" / "Swiss International"). Vendored from the upstream
open-source project.
## 变更内容 / Changes
- `skills/guizang-ppt/`:SKILL.md(DesireCore frontmatter 覆盖层 +
上游正文)、`references/`(10)、`assets/`(2 模板 + motion.min.js + 9 张
webp)、`scripts/validate-swiss-deck.mjs`、`LICENSE`(AGPL-3.0)、`NOTICE.md`(署名与合规)
- `skills/guizang-ppt/_desirecore/`:DesireCore 维护态(不随上游覆盖)
- `frontmatter.yaml`:市场 frontmatter 覆盖层(i18n: zh-CN 源 + en-US 显示串,body
暂回退中文,留给 CI 翻译)
- `upstream.json`:上游溯源(commit `014c572`、AGPL-3.0、作者 歸藏/op7418)
- `scripts/vendor/guizang-ppt.mjs`:可复用的 vendor 更新脚本(`--src <本地路径>` 或
`--ref <tag>`)
- `manifest.json`:`version` → `1.2.3`,`stats.totalSkills` → 25
## 定位 / Positioning
- **仅市场可选安装**:未加入 `builtin-skills.json`,不随客户端开机自动安装;用户在市场按需安装。
- 分类 `creative`;与已有 `pptx`(生成 .pptx 文件)区分:本技能生成 **HTML deck**。
## 许可与署名 / License & Attribution
上游为 **AGPL-3.0**。本技能保留原 `LICENSE` 与作者署名(`NOTICE.md` + `metadata.author`
+ `market.maintainer`),作为聚合内容分发。
## 校验 / Validation
- `python3 scripts/i18n/validate-i18n.py skills/guizang-ppt` → `OK: no
i18n issues found.`
## 手动更新流程 / Manual update
上游发版时:`node scripts/vendor/guizang-ppt.mjs --ref <tag>` → 核对 diff → 必要时
bump `_desirecore/frontmatter.yaml#version` 与 `manifest.json` → 提交。
---
🤖 Generated with [Claude Code](https://claude.com/claude-code )
2026-06-04 11:04:05 +08:00
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
f2e48ca1a5
feat(tech-diagram): 新增 6 套可选视觉风格 ( #19 )
...
## 概述 / Summary
给 tech-diagram 技能新增 **6 套可选视觉风格**(借鉴 fireworks-tech-graph 的多风格能力,落到
Mermaid 路线)。
Adds **6 selectable visual styles** to the tech-diagram skill (inspired
by fireworks-tech-graph's multi-style system, realized on the Mermaid
route).
## 改动 / Changes
- 新增 `references/styles.md`:6 套现成"风格头部"(`%%{init}%%` + 5 个 `classDef`)
- `brand-light`(默认)/ `brand-dark` / `terminal` / `blueprint` / `cream` /
`mono`
- `SKILL.md` / `SKILL.zh-CN.md`:新增 **Styles / 风格** 小节,改写规则
1/2,描述与触发词加入风格相关词
- `semantic-vocabulary.md` / `templates.md`:指向 styles.md,说明换风格只换头部
- 版本 `1.0.0 → 1.1.0`
## 设计要点 / Design
- **类名跨风格一致**(`agent/system/biz/warn/error`)——切换风格只替换头部块,节点/连线图体完全不变。
- 默认 `brand-light`;用户说"暗色/蓝图/奶油/极简/极客"或"风格 N"即切换。
- 图表是**用户产物**,非 `brand-*` 风格有意跳出 app 的 3+2 色彩规则(该规则约束产品 UI,不约束导出图)。
- Mermaid 能力边界内:风格 = 调色板 + 字体;fireworks 那种渐变光斑/窗口控件/蓝图标题框需原生 SVG,不在本次范围。
## 验证 / Verification
- ✅ `scripts/i18n/validate-i18n.py`:无问题(heading 数 9=9 对齐)
- ✅ 用客户端同版本 **mermaid 11.15.0** 解析全部 11 个图块(5 模板 + 6 风格骨架),全部通过
2026-05-31 19:49:33 +08:00
e9862ef1ab
feat: 新增 registering-services / using-services 两个元技能 ( #17 )
...
## 概要
为 Skill-first "应用与服务目录" 路线图新增两个元技能,作为 builtin 同步到用户
~/.desirecore/skills/:
- registering-services — 教 Agent 安全注册外部 HTTP/MCP 服务(riskLevel
选择、secretRef、SSRF、人类审批)
- using-services — 教 Agent 发现并调用目录服务(status/reviewStatus 过滤、HTTP/MCP
两条路径、不绕开治理)
## 改动
- skills/registering-services/{SKILL.md, SKILL.zh-CN.md}
- skills/using-services/{SKILL.md, SKILL.zh-CN.md}
- builtin-skills.json 加 2 个技能 id
- manifest.json totalSkills 22 → 24(已 rebase 到含 #18 tech-diagram 的 main)
- SKILL.zh-CN.md 采用 `<!-- locale: zh-CN -->` body 格式(移除冗余 frontmatter,对齐
docs/I18N.md 约定)
## 配套
主仓库 PR 同步引入:schema 扩展、新存储层、注册/治理路由、service-approval、http-request
治理闸门、per-service Skill 生成器、docker-app 派生 + service-health、前端徽章/治理
UI/派生服务面板。
## CLA
- [x] I have read and agree to the Contributor License Agreement
2026-05-31 15:43:16 +08:00
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
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
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
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
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
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
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
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