finch-skin-studio 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +59 -0
- package/dist/index.js +723 -0
- package/dist/panel.html +221 -0
- package/dist/panel.js +429 -0
- package/i18n/zh-CN.json +31 -0
- package/icon.png +0 -0
- package/package.json +89 -0
package/i18n/zh-CN.json
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "换肤工坊",
|
|
3
|
+
"description": "设置首页背景图与平铺方式,保存 AI 生成或当前使用的配色为自定义皮肤,并用卡片画廊在预设与自定义皮肤间切换。",
|
|
4
|
+
"systemPrompt": "换肤工坊负责管理 Finch 的视觉外观。\n使用 skin_studio_theme 设计/应用/保存/删除配色皮肤:\n- action=list:列出内置预设与用户已保存的自定义皮肤。\n- action=apply:应用一个皮肤。传 id 可应用内置预设或已保存的自定义皮肤;若要一步设计并应用全新的 AI 生成皮肤,可省略 id,改传 name+base+colors(colors 是部分 AppearanceCustomTheme 颜色映射:bgRoot、bgMain、bgSidebar、bgElevated、bgHover、bgActive、textPrimary、textSecondary、textTertiary、accent、accentDim、border);再加 save:true 可在同一次调用中把它存入用户的自定义皮肤库。若要切换回 Finch 自带的系统主题而不是自定义配色,传 systemTheme('system'|'light'|'dark'),并省略 id/name/colors。\n- action=save:把一个皮肤存入自定义皮肤库。传 name+base+colors 保存某个具体的 AI 设计配色;或省略 colors,把最近一次应用过的皮肤以新名称保存下来(即“提取当前皮肤”)。\n- action=remove:按 id 删除一个自定义皮肤(内置预设不可删除)。\n使用 skin_studio_background 更换首页背景:\n- action=set:需要一个本地绝对路径的图片 imagePath,可选 placement('fill'|'tile',默认 'fill')与 tone('brightest'|'bright'|'balanced'|'dark'|'darkest')。\n- action=clear:移除首页背景,恢复为纯色主题底。\n两个工具都会立即生效,效果等同于用户自己在外观设置里操作。用户也可以点击 Composer 工具栏的调色板图标或右侧面板启动器,打开换肤工坊面板,用卡片画廊浏览皮肤、切换回 Finch 自带的系统浅色/深色/跟随系统主题、管理背景(可用系统原生选择框选图,也可直接拖拽),还能一键复制/粘贴自定义皮肤——全程无需经过 AI。",
|
|
5
|
+
"composerActions": {
|
|
6
|
+
"skin-studio-open": { "tooltip": "换肤工坊" }
|
|
7
|
+
},
|
|
8
|
+
"skin.builtin.light-snow": "简白",
|
|
9
|
+
"skin.builtin.light-mint": "薄荷晨光",
|
|
10
|
+
"skin.builtin.light-peach": "蜜桃奶油",
|
|
11
|
+
"skin.builtin.dark-graphite": "石墨深邃",
|
|
12
|
+
"skin.builtin.dark-berry": "深夜莓果",
|
|
13
|
+
"skin.builtin.dark-teal": "深海青碧",
|
|
14
|
+
"panel.error.skinNotFound": "未找到该皮肤。",
|
|
15
|
+
"panel.error.noCurrentSkin": "还没有可保存的当前皮肤——请先应用一个预设或 AI 设计的皮肤。",
|
|
16
|
+
"panel.error.dropInvalidType": "请选择支持的图片格式(PNG / JPEG / WebP / GIF / AVIF)。",
|
|
17
|
+
"panel.error.dropTooLarge": "图片过大(最多 15MB)。",
|
|
18
|
+
"panel.error.importInvalid": "这不是有效的皮肤数据。",
|
|
19
|
+
"panel.skinImported": "皮肤已导入",
|
|
20
|
+
"modal.saveSkin.title": "保存当前皮肤",
|
|
21
|
+
"modal.saveSkin.description": "把当前已应用的配色保存为自定义皮肤,之后可以随时切换回来。",
|
|
22
|
+
"modal.saveSkin.nameLabel": "皮肤名称",
|
|
23
|
+
"modal.saveSkin.namePlaceholder": "我的自定义皮肤",
|
|
24
|
+
"modal.importSkin.title": "导入皮肤",
|
|
25
|
+
"modal.importSkin.description": "粘贴从换肤工坊复制的皮肤数据,添加到你的皮肤库。",
|
|
26
|
+
"modal.importSkin.jsonLabel": "皮肤数据",
|
|
27
|
+
"modal.importSkin.jsonPlaceholder": "把复制的皮肤 JSON 粘贴到这里……",
|
|
28
|
+
"modal.cancel": "取消",
|
|
29
|
+
"modal.save": "保存",
|
|
30
|
+
"modal.import": "导入"
|
|
31
|
+
}
|
package/icon.png
ADDED
|
Binary file
|
package/package.json
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "finch-skin-studio",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Design Finch skins and Home backgrounds: pick a background image and tiling, save AI-designed or current color schemes as custom skins, and switch between built-in and custom skins from a card gallery.",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "PuterJam",
|
|
7
|
+
"url": "https://github.com/puterjam"
|
|
8
|
+
},
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git+https://github.com/puterjam/finch-tools.git",
|
|
12
|
+
"directory": "finch-skin-studio"
|
|
13
|
+
},
|
|
14
|
+
"homepage": "https://github.com/puterjam/finch-tools/tree/main/finch-skin-studio#readme",
|
|
15
|
+
"bugs": {
|
|
16
|
+
"url": "https://github.com/puterjam/finch-tools/issues"
|
|
17
|
+
},
|
|
18
|
+
"license": "MIT",
|
|
19
|
+
"type": "module",
|
|
20
|
+
"main": "dist/index.js",
|
|
21
|
+
"keywords": [
|
|
22
|
+
"finch",
|
|
23
|
+
"finch-minitool",
|
|
24
|
+
"skin",
|
|
25
|
+
"theme",
|
|
26
|
+
"appearance",
|
|
27
|
+
"wallpaper",
|
|
28
|
+
"background",
|
|
29
|
+
"panel"
|
|
30
|
+
],
|
|
31
|
+
"scripts": {
|
|
32
|
+
"build": "esbuild src/index.ts --bundle --platform=node --format=esm --target=node20 --outfile=dist/index.js && cp src/panel.html dist/panel.html && cp src/panel.js dist/panel.js",
|
|
33
|
+
"typecheck": "tsc --noEmit",
|
|
34
|
+
"prepublishOnly": "npm run typecheck && npm run build && npx @finchtoys/minitools doctor ."
|
|
35
|
+
},
|
|
36
|
+
"finch": {
|
|
37
|
+
"manifestVersion": 1,
|
|
38
|
+
"name": "Skin Studio",
|
|
39
|
+
"description": "Set the Home background image and tiling, save AI-designed or current color schemes as custom skins, and switch skins from a card gallery.",
|
|
40
|
+
"systemPrompt": "Skin Studio manages Finch's visual appearance.\nUse skin_studio_theme to design/apply/save/remove color skins:\n- action=list: list built-in presets and the user's saved custom skins.\n- action=apply: apply a skin. Pass id to apply a built-in preset or a saved custom skin. To design and apply a brand-new AI-generated skin in one step, omit id and pass name+base+colors instead (colors is a partial AppearanceCustomTheme color map: bgRoot,bgMain,bgSidebar,bgElevated,bgHover,bgActive,textPrimary,textSecondary,textTertiary,accent,accentDim,border); add save:true to also persist it into the user's custom skin library in the same call. To switch back to Finch's own built-in theme instead of a custom color skin, pass systemTheme ('system'|'light'|'dark') and omit id/name/colors.\n- action=save: persist a skin into the custom library. Pass name+base+colors to save a specific AI-designed palette, or omit colors to save the most recently applied skin (\"extract current skin\") under a new name.\n- action=remove: delete a custom skin by id (built-in presets cannot be removed).\nUse skin_studio_background to change the Home background:\n- action=set: requires an absolute local image path (imagePath), optional placement ('fill'|'tile', default 'fill') and tone ('brightest'|'bright'|'balanced'|'dark'|'darkest').\n- action=clear: remove the Home background and revert to the plain theme surface.\nBoth tools take effect immediately, exactly like the user editing Appearance Settings themselves. The user can also open the Skin Studio panel (palette icon in the Composer toolbar, or the right Panel launcher) to browse skins as cards, switch back to Finch's own system light/dark/auto theme, manage the background (including choosing a file via the OS's native picker or dragging one in), and copy/paste custom skins between libraries — all without going through the AI.",
|
|
41
|
+
"main": "dist/index.js",
|
|
42
|
+
"activationEvents": [
|
|
43
|
+
"onStartup"
|
|
44
|
+
],
|
|
45
|
+
"miniToolType": "local",
|
|
46
|
+
"categories": [
|
|
47
|
+
"productivity",
|
|
48
|
+
"creative"
|
|
49
|
+
],
|
|
50
|
+
"contributes": {
|
|
51
|
+
"tools": true,
|
|
52
|
+
"composerActions": [
|
|
53
|
+
{
|
|
54
|
+
"id": "skin-studio-open",
|
|
55
|
+
"icon": "palette",
|
|
56
|
+
"tooltip": "Skin Studio"
|
|
57
|
+
}
|
|
58
|
+
],
|
|
59
|
+
"appPanel": {
|
|
60
|
+
"icon": "palette",
|
|
61
|
+
"viewType": "skin-studio.panel",
|
|
62
|
+
"instanceMode": "single",
|
|
63
|
+
"showInLauncher": true,
|
|
64
|
+
"source": {
|
|
65
|
+
"type": "local",
|
|
66
|
+
"path": "dist/panel.html"
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"permissions": {
|
|
71
|
+
"filesystem": "none",
|
|
72
|
+
"network": false,
|
|
73
|
+
"shell": false,
|
|
74
|
+
"appearance": true
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
"devDependencies": {
|
|
78
|
+
"@finchtoys/minitool-api": "^0.3.2",
|
|
79
|
+
"@types/node": "^26.1.0",
|
|
80
|
+
"esbuild": "^0.28.1",
|
|
81
|
+
"typescript": "^6.0.3"
|
|
82
|
+
},
|
|
83
|
+
"files": [
|
|
84
|
+
"dist/",
|
|
85
|
+
"i18n/",
|
|
86
|
+
"icon.png",
|
|
87
|
+
"README.md"
|
|
88
|
+
]
|
|
89
|
+
}
|