refactor: migrate icon fields from emoji to lucide:<name> tokens (#63)
* refactor: migrate icon fields from emoji to lucide:<name> tokens
Every TOML manifest's `icon = "<emoji>"` line is replaced with
`icon = "lucide:<kebab-name>"` — a reference to a lucide-react icon,
which the librefang.ai site and dashboard render as crisp SVG. Reasons
for the switch:
- Emoji render very differently across OS/browser/font stacks; the
registry catalog looked inconsistent from one row to the next.
- Five manifests (clip / creator / linkedin / reddit / twitter) had
their icons stored as literal Python-style escape strings
("\\U0001F3AC") because the TOML parser upstream never decoded
them. Switching away from emoji drops that class of bug entirely.
- As a drive-by, also decode the \\uXXXX accent escapes in the
[i18n.fr] block of hands/creator/HAND.toml so "Créateur" shows
up correctly.
87 files touched. example manifests left untouched (still "TODO").
* fix: backfill i18n name + drop the single-member email category
- Every existing [i18n.<lang>] block now has a `name` field. 60 files
previously translated description but kept the English name
implicitly — which rendered as "some English some Chinese" in the
registry UI. Fill in the missing name from the English brand (or a
known localized equivalent: DingTalk→钉钉, Feishu→飞书, Email→
电子邮件 / メール / E-Mail / Correo / Courriel, and a handful of
hands that have Chinese product names like 视频剪辑 Hand).
- channels/email.toml was the only item under category="email";
reclassify it as "messaging" so the sub-category filter chip list
on the category page isn't littered with singletons.
* feat(i18n): localize 76 agents/integrations/plugins into 7 languages
Adds full [i18n.zh], [i18n.zh-TW], [i18n.ja], [i18n.ko], [i18n.de],
[i18n.es], [i18n.fr] blocks with name + description to every manifest
that previously shipped English-only.
Coverage:
- 32 agents (academic-researcher, analyst, architect, assistant,
code-reviewer, coder, customer-support, data-scientist, debugger,
devops-lead, doc-writer, email-assistant, health-tracker,
hello-world, home-automation, legal-assistant, meeting-assistant,
ops, orchestrator, personal-finance, planner, recipe-assistant,
recruiter, researcher, sales-assistant, security-auditor,
social-media, test-engineer, translator, travel-planner, tutor,
writer)
- 33 integrations (AWS, Azure, Bitbucket, Brave Search, Discord,
Dropbox, Elasticsearch, Exa Search, Fetch, Filesystem, GCP, Git,
GitHub, GitLab, Gmail, Google Calendar, Google Drive, Google Maps,
Jira, Linear, Memory, MongoDB, Notion, PostgreSQL, Puppeteer, Redis,
Sentry, Sequential Thinking, Slack, SQLite, Teams, Time, Todoist) —
brand names kept as-is across all locales, only descriptions
translated.
- 11 plugins (auto-summarizer, context-decay, conversation-logger,
episodic-memory, guardrails, keyword-memory, mempalace-indexer,
sentiment-tracker, todo-tracker, topic-memory, user-profile)
The descriptions are one-line summaries — hand-translated rather than
machine-generated, so technical terms (MCP, PR, CI/CD, etc.) stay
consistent across locales.
* feat(i18n): close remaining per-lang gaps for channels, workflows, devteam
Third pass on i18n coverage. Every non-example manifest now carries a
full set of [i18n.zh], [i18n.zh-TW], [i18n.ja], [i18n.ko], [i18n.de],
[i18n.es], [i18n.fr] blocks.
- 44 channel adapters: added French descriptions (zh/zh-TW/ja/ko/de/es
were already present). Brand names kept as-is in all locales so users
recognize Discord / Slack / LINE / etc. consistently.
- 22 workflows: filled zh-TW / ja / ko / de / es / fr blocks. Each
translation mirrors the existing zh one in structure and tone so the
catalog reads consistently across locales.
- hands/devteam/HAND.toml: added the four langs that were missing
(zh-TW, de, es, fr).
Only the 6 templates under examples/ are left without i18n blocks on
purpose — they still contain "TODO:" placeholders.
This commit is contained in:
159 files changed
+3293
-89
No files matched your search
@@ -4,7 +4,7 @@ name = "Analytics Hand"
|
||||
description = "Autonomous data analytics agent — data collection, analysis, visualization, dashboards, and automated reporting"
|
||||
|
||||
category = "data"
|
||||
icon = "📈"
|
||||
icon = "lucide:trending-up"
|
||||
tools = [
|
||||
"shell_exec",
|
||||
"file_read",
|
||||
@@ -764,6 +764,7 @@ label = "置信度阈值"
|
||||
description = "报告中纳入分析结论的最低置信度要求"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "數據分析 Hand"
|
||||
description = "自主資料分析——資料採集、分析、視覺化、儀表板與自動報告"
|
||||
|
||||
# ─── Japanese (日本語) ────────────────────────────────────────────────────
|
||||
|
||||
@@ -4,7 +4,7 @@ name = "API Tester Hand"
|
||||
description = "Autonomous API testing agent — endpoint discovery, request validation, load testing, and regression detection"
|
||||
|
||||
category = "development"
|
||||
icon = "🔌"
|
||||
icon = "lucide:plug"
|
||||
|
||||
tools = [
|
||||
"shell_exec",
|
||||
@@ -718,6 +718,7 @@ label = "审批模式"
|
||||
description = "将测试计划和破坏性请求写入队列文件供审核,而非直接执行"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "API Tester Hand"
|
||||
description = "自主 API 測試——端點發現、請求驗證、壓力測試與回歸偵測"
|
||||
|
||||
# ─── Japanese (日本語) ────────────────────────────────────────────────────
|
||||
|
||||
@@ -5,7 +5,7 @@ description = "Autonomous web browser — navigates sites, fills forms, clicks b
|
||||
|
||||
category = "productivity"
|
||||
tags = ["popular"]
|
||||
icon = "🌐"
|
||||
icon = "lucide:globe"
|
||||
|
||||
tools = [
|
||||
"browser_navigate",
|
||||
@@ -644,6 +644,7 @@ label = "视口大小"
|
||||
description = "浏览器窗口尺寸——影响响应式布局和网站呈现的版本"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Browser Hand"
|
||||
description = "自主瀏覽器——導航網站、填寫表單、點擊按鈕,購買需用戶審批"
|
||||
|
||||
# ─── Japanese (日本語) ────────────────────────────────────────────────────
|
||||
|
||||
@@ -5,7 +5,7 @@ description = "Turns long-form video into viral short clips with captions and th
|
||||
|
||||
category = "content"
|
||||
tags = ["popular"]
|
||||
icon = "\U0001F3AC"
|
||||
icon = "lucide:film"
|
||||
tools = [
|
||||
"shell_exec",
|
||||
"file_read",
|
||||
@@ -995,6 +995,7 @@ label = "审批模式"
|
||||
description = "发布到频道前将短视频加入队列供审核"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "影片剪輯 Hand"
|
||||
description = "將長影片自動轉為帶字幕和封面的直式短影音"
|
||||
|
||||
# ─── Japanese (日本語) ────────────────────────────────────────────────────
|
||||
|
||||
@@ -5,7 +5,7 @@ description = "Autonomous intelligence collector — monitors any target continu
|
||||
|
||||
category = "data"
|
||||
tags = ["popular"]
|
||||
icon = "🔍"
|
||||
icon = "lucide:search"
|
||||
|
||||
tools = [
|
||||
"shell_exec",
|
||||
@@ -729,6 +729,7 @@ label = "变更显著性阈值"
|
||||
description = "变更被归类为「重要」的最低显著性分数(0-100),低于此阈值的变更归类为「次要」"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Collector Hand"
|
||||
description = "自主情報收集器——持續監控目標,變化偵測與知識圖譜"
|
||||
|
||||
# ─── Japanese (日本語) ────────────────────────────────────────────────────
|
||||
|
||||
@@ -4,7 +4,7 @@ name = "Creator Hand"
|
||||
description = "AI media studio — generates images, videos, music, and speech from text prompts"
|
||||
|
||||
category = "content"
|
||||
icon = "\U0001F3A8"
|
||||
icon = "lucide:palette"
|
||||
tools = [
|
||||
"image_generate",
|
||||
"video_generate",
|
||||
@@ -362,6 +362,7 @@ label = "MiniMax API 密钥"
|
||||
description = "来自 platform.minimaxi.com 的 API 密钥,用于视频和音乐生成"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "創作者 Hand"
|
||||
description = "AI 媒體工作室——根據文字提示生成圖片、影片、音樂和語音"
|
||||
|
||||
[i18n.ja]
|
||||
@@ -420,8 +421,8 @@ description = "Estudio de medios IA — genera imágenes, videos, música y voz
|
||||
category = "Contenido"
|
||||
|
||||
[i18n.fr]
|
||||
name = "Hand Cr\u00e9ateur"
|
||||
description = "Studio m\u00e9dia IA — g\u00e9n\u00e8re images, vid\u00e9os, musique et voix \u00e0 partir de texte"
|
||||
name = "Hand Créateur"
|
||||
description = "Studio média IA — génère images, vidéos, musique et voix à partir de texte"
|
||||
category = "Contenu"
|
||||
|
||||
[i18n.de]
|
||||
|
||||
@@ -4,7 +4,7 @@ name = "DevOps Hand"
|
||||
description = "Autonomous DevOps engineer — CI/CD management, infrastructure monitoring, deployment automation, and incident response"
|
||||
|
||||
category = "development"
|
||||
icon = "👷"
|
||||
icon = "lucide:hard-hat"
|
||||
|
||||
tools = [
|
||||
"shell_exec",
|
||||
@@ -712,6 +712,7 @@ label = "审批模式"
|
||||
description = "将部署和基础设施操作加入队列供审核,而非直接执行"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "DevOps Hand"
|
||||
description = "自主 DevOps 工程師——CI/CD 管理、基礎設施監控、部署自動化與事件回應"
|
||||
|
||||
# ─── Japanese (日本語) ────────────────────────────────────────────────────
|
||||
|
||||
+17
-1
@@ -4,7 +4,7 @@ name = "Dev Team"
|
||||
description = "Autonomous software development team — PM triages issues, Engineer implements, QA validates"
|
||||
|
||||
category = "development"
|
||||
icon = "🏗"
|
||||
icon = "lucide:construction"
|
||||
|
||||
# ─── Hand-level resource composition ─────────────────────────────────────────
|
||||
|
||||
@@ -395,3 +395,19 @@ category = "開発"
|
||||
name = "개발팀"
|
||||
description = "자율 개발팀 — PM이 이슈 분류, 엔지니어가 구현, QA가 검증"
|
||||
category = "개발"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "開發團隊 Hand"
|
||||
description = "自主軟體開發團隊 Hand —— PM 分流 Issue、工程師實作、QA 測試、Reviewer 審查,最後編排者統整結果。"
|
||||
|
||||
[i18n.de]
|
||||
name = "Dev-Team-Hand"
|
||||
description = "Autonomes Softwareentwicklungs-Team: PM triagiert Issues, Engineer implementiert, QA testet, Reviewer prüft, der Orchestrator führt alles zusammen."
|
||||
|
||||
[i18n.es]
|
||||
name = "Hand Dev Team"
|
||||
description = "Equipo de desarrollo autónomo: el PM clasifica incidencias, el ingeniero implementa, QA prueba, el revisor audita y el orquestador lo integra todo."
|
||||
|
||||
[i18n.fr]
|
||||
name = "Hand Équipe Dev"
|
||||
description = "Équipe de développement autonome : le PM trie les issues, l’ingénieur implémente, le QA teste, le relecteur audite et l’orchestrateur coordonne."
|
||||
@@ -5,7 +5,7 @@ description = "Autonomous lead generation — discovers, enriches, and delivers
|
||||
|
||||
category = "data"
|
||||
tags = ["popular"]
|
||||
icon = "📊"
|
||||
icon = "lucide:bar-chart-3"
|
||||
|
||||
tools = [
|
||||
"shell_exec",
|
||||
@@ -904,6 +904,7 @@ label = "CRM 导出格式"
|
||||
description = "在标准报告之外生成 CRM 可导入的文件"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Lead Hand"
|
||||
description = "自主獲客——按排程發現、充實並交付合格線索"
|
||||
|
||||
# ─── Korean (한국어) ────────────────────────────────────────────────────
|
||||
|
||||
@@ -4,7 +4,7 @@ name = "LinkedIn Hand"
|
||||
description = "Autonomous LinkedIn manager — profile optimization, content creation, networking, and professional engagement"
|
||||
|
||||
category = "communication"
|
||||
icon = "\U0001F4BC"
|
||||
icon = "lucide:briefcase"
|
||||
tools = [
|
||||
"shell_exec",
|
||||
"file_read",
|
||||
@@ -1054,6 +1054,7 @@ label = "互动回复深度"
|
||||
description = "在自己帖子的评论区中参与讨论的深度"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "LinkedIn Hand"
|
||||
description = "自主 LinkedIn 管理——個人資料優化、內容創作、社交與職業互動"
|
||||
|
||||
# ─── Japanese (日本語) ────────────────────────────────────────────────────
|
||||
|
||||
@@ -4,7 +4,7 @@ name = "Predictor Hand"
|
||||
description = "Autonomous future predictor — collects signals, builds reasoning chains, makes calibrated predictions, and tracks accuracy"
|
||||
|
||||
category = "data"
|
||||
icon = "🔮"
|
||||
icon = "lucide:sparkles"
|
||||
|
||||
tools = [
|
||||
"shell_exec",
|
||||
@@ -1106,6 +1106,7 @@ label = "逆向思维模式"
|
||||
description = "主动寻找并展示与主流共识相反的预测"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Predictor Hand"
|
||||
description = "自主預測器——收集訊號、建構推理鏈、做出校準預測並追蹤準確率"
|
||||
|
||||
# ─── Japanese (日本語) ────────────────────────────────────────────────────
|
||||
|
||||
@@ -4,7 +4,7 @@ name = "Reddit Hand"
|
||||
description = "Autonomous Reddit manager — monitors subreddits, posts content, replies to threads, and tracks karma and engagement"
|
||||
|
||||
category = "communication"
|
||||
icon = "\U0001F4E2"
|
||||
icon = "lucide:megaphone"
|
||||
tools = [
|
||||
"shell_exec",
|
||||
"file_read",
|
||||
@@ -1060,6 +1060,7 @@ label = "真实性模式"
|
||||
description = "维持类人互动模式以避免机器人检测的策略"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Reddit Hand"
|
||||
description = "自主 Reddit 管理——監控子版、發布內容、回覆貼文、追蹤 Karma 與互動"
|
||||
|
||||
# ─── Spanish (Español) ────────────────────────────────────────────────────
|
||||
|
||||
@@ -5,7 +5,7 @@ description = "Autonomous deep researcher — exhaustive investigation, cross-re
|
||||
|
||||
category = "productivity"
|
||||
tags = ["popular"]
|
||||
icon = "🧪"
|
||||
icon = "lucide:flask-conical"
|
||||
|
||||
tools = [
|
||||
"shell_exec",
|
||||
@@ -680,6 +680,7 @@ label = "语言"
|
||||
description = "研究和输出的主要语言"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Researcher Hand"
|
||||
description = "自主深度研究員——詳盡調查、交叉引用、事實查核與結構化報告"
|
||||
|
||||
# ─── Korean (한국어) ────────────────────────────────────────────────────
|
||||
|
||||
@@ -4,7 +4,7 @@ name = "Strategist Hand"
|
||||
description = "Autonomous strategy analyst — market research, competitive analysis, business planning, and strategic recommendations"
|
||||
|
||||
category = "productivity"
|
||||
icon = "🎯"
|
||||
icon = "lucide:target"
|
||||
|
||||
tools = [
|
||||
"shell_exec",
|
||||
@@ -666,6 +666,7 @@ label = "首选分析框架"
|
||||
description = "优先使用的战略分析框架(逗号分隔,例如 SWOT,Porter,PESTEL)"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Strategist Hand"
|
||||
description = "自主策略分析——市場調研、競品分析、商業規劃與策略建議"
|
||||
|
||||
# ─── Spanish (Español) ────────────────────────────────────────────────────
|
||||
|
||||
@@ -5,7 +5,7 @@ description = "Autonomous market intelligence and trading engine — multi-signa
|
||||
|
||||
category = "data"
|
||||
tags = ["popular"]
|
||||
icon = "📈"
|
||||
icon = "lucide:trending-up"
|
||||
|
||||
tools = [
|
||||
"shell_exec",
|
||||
@@ -1226,6 +1226,7 @@ label = "审批模式"
|
||||
description = "执行实盘交易前需要用户明确审批——强烈建议开启"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Trading Hand"
|
||||
description = "自主市場情報與交易引擎——多訊號分析、多空對抗推理、校準置信度、嚴格風控與投組分析"
|
||||
|
||||
# ─── Spanish (Español) ────────────────────────────────────────────────────
|
||||
|
||||
@@ -5,7 +5,7 @@ description = "Autonomous Twitter/X manager — content creation, scheduled post
|
||||
|
||||
category = "communication"
|
||||
tags = ["popular"]
|
||||
icon = "\U0001D54F"
|
||||
icon = "lucide:twitter"
|
||||
tools = [
|
||||
"shell_exec",
|
||||
"file_read",
|
||||
@@ -1088,6 +1088,7 @@ label = "增长模式"
|
||||
description = "优化从零开始的增长策略——优先在大号下评论互动,而非发布原创内容"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Twitter Hand"
|
||||
description = "自主 Twitter/X 管理——內容創作、排程發布、互動與效果追蹤"
|
||||
|
||||
# ─── Spanish (Español) ────────────────────────────────────────────────────
|
||||
|
||||
@@ -4,7 +4,7 @@ name = "Wiki Hand"
|
||||
description = "LLM-maintained personal knowledge base. Incrementally builds an Obsidian-compatible wiki from raw sources — extracts entities, concepts, and claims with provenance tracking, cross-references everything, and keeps the wiki healthy over time."
|
||||
category = "productivity"
|
||||
tags = ["knowledge-base", "wiki", "obsidian", "documentation"]
|
||||
icon = "📚"
|
||||
icon = "lucide:book-open"
|
||||
|
||||
# ─── Hand-level resource composition ─────────────────────────────────────────
|
||||
|
||||
@@ -836,6 +836,7 @@ label = "Wiki内容语言"
|
||||
description = "生成Wiki内容使用的语言"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Wiki Hand"
|
||||
description = "由LLM維護的個人知識庫。從原始來源逐步構建兼容Obsidian的Wiki——提取實體、概念和主張並追蹤來源,交叉引用所有內容,並長期保持Wiki的健康狀態。"
|
||||
|
||||
[i18n.ja]
|
||||
|
||||
Reference in new issue
Block a user