remove the desktop-pet system
Build / build (push) Canceled after 0s
Playwright / e2e (push) Canceled after 0s

The pet feature was three loosely coupled subsystems that no core flow
depended on: the Petdex catalog page, the pet install/preference store, and
the pet-state socket. All three are removed.

The only cross-boundary touch point was a try/catch-wrapped observer that
mapped chat-run events to pet animations. Removing it leaves the /chat-run
event contract unchanged: no event name, field name, field type, or emission
timing changed.

Removing petdexPublicRoutes also closes the unauthenticated outbound proxy
at /api/hermes/petdex/asset, which shrinks the SSRF surface.
This commit is contained in:
2026-10-20 13:24:17 +08:00
committed by trae-solo-agent
parent 5e1003ceb7
commit b709ec6742
30 changed files with 64 additions and 1793 deletions
-24
View File
@@ -208,7 +208,6 @@ export default {
skills: 'Skills',
plugins: 'Plugins',
mcp: 'MCP',
petdex: 'Pets',
memory: 'Memory',
logs: 'Logs',
usage: 'Usage',
@@ -1191,29 +1190,6 @@ export default {
},
},
petdex: {
title: 'Petdex Pets',
subtitle: 'Browse the public petdex catalog used by Hermes pets.',
refresh: 'Refresh',
adopt: 'Adopt',
active: 'Active',
adopted: 'Adopted {name}',
adoptFailed: 'Failed to adopt pet',
loadFailed: 'Failed to load petdex catalog',
searchPlaceholder: 'Search by name, slug, author, or kind',
kindFilter: 'Kind',
spritesheet: 'Spritesheet',
submittedBy: 'By {name}',
empty: 'No pets match the current filters.',
showMore: 'Show {count} more',
summary: {
total: 'Catalog total',
visible: 'Matching',
kinds: 'Kinds',
generatedAt: 'Generated at',
},
},
// Memory
memory: {
title: 'Memory',
-24
View File
@@ -207,7 +207,6 @@ export default {
profiles: '用户',
plugins: '插件',
mcp: 'MCP',
petdex: '宠物',
skills: '技能',
memory: '记忆',
logs: '日志',
@@ -1191,29 +1190,6 @@ export default {
},
},
petdex: {
title: 'Petdex 宠物',
subtitle: '浏览 Hermes 桌宠使用的 petdex 公共图库。',
refresh: '刷新',
adopt: '领取',
active: '使用中',
adopted: '已领取 {name}',
adoptFailed: '领取宠物失败',
loadFailed: '加载 petdex 图库失败',
searchPlaceholder: '按名称、slug、作者或类型搜索',
kindFilter: '类型',
spritesheet: '精灵图',
submittedBy: '作者 {name}',
empty: '没有符合当前筛选的宠物。',
showMore: '再显示 {count} 个',
summary: {
total: '图库总数',
visible: '匹配数量',
kinds: '类型数',
generatedAt: '生成时间',
},
},
// 记忆
memory: {
title: '记忆',