diff --git a/plugins/cjysa-documents/.codex-plugin/plugin.json b/plugins/cjysa-documents/.codex-plugin/plugin.json index 2eae077..9089c16 100644 --- a/plugins/cjysa-documents/.codex-plugin/plugin.json +++ b/plugins/cjysa-documents/.codex-plugin/plugin.json @@ -20,6 +20,8 @@ "capabilities": ["Interactive", "Read", "Write"], "websiteURL": "https://git.cjysa.top/CJYSA/codex-free-market", "brandColor": "#2563EB", + "composerIcon": "./assets/icon.png", + "logo": "./assets/logo.png", "defaultPrompt": [ "把这份内容整理成一份专业的 Word 文档。", "在保留格式的前提下修改这个 DOCX。", diff --git a/plugins/cjysa-documents/assets/icon.png b/plugins/cjysa-documents/assets/icon.png new file mode 100644 index 0000000..10f8386 Binary files /dev/null and b/plugins/cjysa-documents/assets/icon.png differ diff --git a/plugins/cjysa-documents/assets/icon.svg b/plugins/cjysa-documents/assets/icon.svg new file mode 100644 index 0000000..35d54bd --- /dev/null +++ b/plugins/cjysa-documents/assets/icon.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/plugins/cjysa-documents/assets/logo.png b/plugins/cjysa-documents/assets/logo.png new file mode 100644 index 0000000..10f8386 Binary files /dev/null and b/plugins/cjysa-documents/assets/logo.png differ diff --git a/plugins/cjysa-pdf/.codex-plugin/plugin.json b/plugins/cjysa-pdf/.codex-plugin/plugin.json index 2046564..fbc3944 100644 --- a/plugins/cjysa-pdf/.codex-plugin/plugin.json +++ b/plugins/cjysa-pdf/.codex-plugin/plugin.json @@ -20,6 +20,8 @@ "capabilities": ["Interactive", "Read", "Write"], "websiteURL": "https://git.cjysa.top/CJYSA/codex-free-market", "brandColor": "#DC2626", + "composerIcon": "./assets/icon.png", + "logo": "./assets/logo.png", "defaultPrompt": [ "提取并总结这个 PDF 的内容。", "把这些 PDF 合并并检查页面是否正常。", diff --git a/plugins/cjysa-pdf/assets/icon.png b/plugins/cjysa-pdf/assets/icon.png new file mode 100644 index 0000000..68696f8 Binary files /dev/null and b/plugins/cjysa-pdf/assets/icon.png differ diff --git a/plugins/cjysa-pdf/assets/icon.svg b/plugins/cjysa-pdf/assets/icon.svg new file mode 100644 index 0000000..6da3c78 --- /dev/null +++ b/plugins/cjysa-pdf/assets/icon.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/plugins/cjysa-pdf/assets/logo.png b/plugins/cjysa-pdf/assets/logo.png new file mode 100644 index 0000000..68696f8 Binary files /dev/null and b/plugins/cjysa-pdf/assets/logo.png differ diff --git a/plugins/cjysa-presentations/.codex-plugin/plugin.json b/plugins/cjysa-presentations/.codex-plugin/plugin.json index 0569ad4..4eebdcc 100644 --- a/plugins/cjysa-presentations/.codex-plugin/plugin.json +++ b/plugins/cjysa-presentations/.codex-plugin/plugin.json @@ -20,6 +20,8 @@ "capabilities": ["Interactive", "Read", "Write"], "websiteURL": "https://git.cjysa.top/CJYSA/codex-free-market", "brandColor": "#C43E1C", + "composerIcon": "./assets/icon.png", + "logo": "./assets/logo.png", "defaultPrompt": [ "根据这份材料制作一套结构清晰的 PPT。", "保留模板风格并修改这个演示文稿。", diff --git a/plugins/cjysa-presentations/assets/icon.png b/plugins/cjysa-presentations/assets/icon.png new file mode 100644 index 0000000..6fbd6e3 Binary files /dev/null and b/plugins/cjysa-presentations/assets/icon.png differ diff --git a/plugins/cjysa-presentations/assets/icon.svg b/plugins/cjysa-presentations/assets/icon.svg new file mode 100644 index 0000000..9c20184 --- /dev/null +++ b/plugins/cjysa-presentations/assets/icon.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/plugins/cjysa-presentations/assets/logo.png b/plugins/cjysa-presentations/assets/logo.png new file mode 100644 index 0000000..6fbd6e3 Binary files /dev/null and b/plugins/cjysa-presentations/assets/logo.png differ diff --git a/plugins/cjysa-spreadsheets/.codex-plugin/plugin.json b/plugins/cjysa-spreadsheets/.codex-plugin/plugin.json index 77f29d9..a0c9b73 100644 --- a/plugins/cjysa-spreadsheets/.codex-plugin/plugin.json +++ b/plugins/cjysa-spreadsheets/.codex-plugin/plugin.json @@ -20,6 +20,8 @@ "capabilities": ["Interactive", "Read", "Write"], "websiteURL": "https://git.cjysa.top/CJYSA/codex-free-market", "brandColor": "#107C41", + "composerIcon": "./assets/icon.png", + "logo": "./assets/logo.png", "defaultPrompt": [ "把这份 CSV 整理成带公式和格式的 Excel。", "分析这个工作簿并解释关键指标。", diff --git a/plugins/cjysa-spreadsheets/assets/icon.png b/plugins/cjysa-spreadsheets/assets/icon.png new file mode 100644 index 0000000..9c86914 Binary files /dev/null and b/plugins/cjysa-spreadsheets/assets/icon.png differ diff --git a/plugins/cjysa-spreadsheets/assets/icon.svg b/plugins/cjysa-spreadsheets/assets/icon.svg new file mode 100644 index 0000000..c725808 --- /dev/null +++ b/plugins/cjysa-spreadsheets/assets/icon.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/plugins/cjysa-spreadsheets/assets/logo.png b/plugins/cjysa-spreadsheets/assets/logo.png new file mode 100644 index 0000000..9c86914 Binary files /dev/null and b/plugins/cjysa-spreadsheets/assets/logo.png differ diff --git a/tools/render_plugin_icons.py b/tools/render_plugin_icons.py new file mode 100644 index 0000000..fc40bf0 --- /dev/null +++ b/tools/render_plugin_icons.py @@ -0,0 +1,80 @@ +from pathlib import Path + +from PIL import Image, ImageDraw + + +ROOT = Path(__file__).resolve().parents[1] +SIZE = 512 + + +def rounded(draw, box, radius, fill): + draw.rounded_rectangle(box, radius=radius, fill=fill) + + +def document(path, color): + image = Image.new("RGBA", (SIZE, SIZE), (0, 0, 0, 0)) + draw = ImageDraw.Draw(image) + rounded(draw, (0, 0, 511, 511), 112, color) + draw.polygon([(146, 92), (312, 92), (366, 146), (366, 420), (146, 420)], fill="white") + draw.polygon([(312, 92), (312, 162), (366, 162)], fill="#BFDBFE") + for y, width in [(232, 144), (286, 144), (340, 102)]: + draw.line((184, y, 184 + width, y), fill=color, width=24) + image.save(path) + + +def pdf(path, color): + image = Image.new("RGBA", (SIZE, SIZE), (0, 0, 0, 0)) + draw = ImageDraw.Draw(image) + rounded(draw, (0, 0, 511, 511), 112, color) + draw.polygon([(146, 92), (312, 92), (366, 146), (366, 420), (146, 420)], fill="white") + draw.polygon([(312, 92), (312, 162), (366, 162)], fill="#FECACA") + draw.arc((180, 198, 318, 338), 205, 345, fill=color, width=22) + draw.line((184, 350, 328, 350), fill=color, width=22) + image.save(path) + + +def spreadsheet(path, color): + image = Image.new("RGBA", (SIZE, SIZE), (0, 0, 0, 0)) + draw = ImageDraw.Draw(image) + rounded(draw, (0, 0, 511, 511), 112, color) + rounded(draw, (112, 106, 400, 406), 20, "white") + draw.rectangle((144, 164, 368, 362), fill="#DCFCE7") + for y in (230, 296): + draw.line((144, y, 368, y), fill=color, width=18) + for x in (218, 292): + draw.line((x, 164, x, 362), fill=color, width=18) + draw.line((144, 132, 368, 132), fill="#86EFAC", width=26) + image.save(path) + + +def presentation(path, color): + image = Image.new("RGBA", (SIZE, SIZE), (0, 0, 0, 0)) + draw = ImageDraw.Draw(image) + rounded(draw, (0, 0, 511, 511), 112, color) + rounded(draw, (104, 114, 408, 340), 18, "white") + draw.line((256, 340, 256, 398), fill="white", width=24) + draw.line((188, 398, 324, 398), fill="white", width=24) + draw.rectangle((154, 230, 202, 292), fill="#FED7AA", outline=color, width=12) + draw.rectangle((232, 180, 280, 292), fill="#FED7AA", outline=color, width=12) + draw.rectangle((310, 204, 358, 292), fill="#FED7AA", outline=color, width=12) + draw.line((138, 340, 374, 340), fill="#FED7AA", width=14) + image.save(path) + + +def main(): + assets = { + "cjysa-documents": (document, "#2563EB"), + "cjysa-pdf": (pdf, "#DC2626"), + "cjysa-spreadsheets": (spreadsheet, "#107C41"), + "cjysa-presentations": (presentation, "#C43E1C"), + } + for plugin, (builder, color) in assets.items(): + target = ROOT / "plugins" / plugin / "assets" + target.mkdir(parents=True, exist_ok=True) + builder(target / "icon.png", color) + builder(target / "logo.png", color) + print(target / "icon.png") + + +if __name__ == "__main__": + main()