[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-78512":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":15,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":17,"rankGlobal":9,"rankLanguage":9,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":19,"topics":22,"createdAt":9,"pushedAt":9,"updatedAt":42,"readmeContent":43,"aiSummary":44,"trendingCount":15,"starSnapshotCount":15,"syncStatus":11,"lastSyncTime":45,"discoverSource":46},78512,"TypeAnything","A-cat-with-carrots\u002FTypeAnything","A-cat-with-carrots","TypeAnything · 神仙鱼中文输入法 — 打中文 → Enter →「English \u002F 金融式 \u002F 古汉语 \u002F 任意」实时翻译。基于 Weasel TSF + librime fork。",null,"C++",2,9,8,3,0,100,53,"Other",false,"main",true,[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41],"ai-writing","chinese","chinese-pinyin","cpp","deepseek","ime-plugin","input-method","librime","llm-translation","multilingual","prompt-engineering","rime","style-transfer","text-services-framework","translator","tsf","weasel","windows","windows-ime","2026-06-12 04:01:23","# TypeAnything\n\n> **打拼音，落地任何语言、任何圈层、任何风格。**\n> Type Chinese pinyin → press Enter → AI rewrites it as English \u002F 留学生式中英夹杂 \u002F 金融式说话 \u002F 学术体 \u002F 港片台词 \u002F Klingon — anything you can describe.\n\n[![IME](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWindows-IME-blueviolet)](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fwindows\u002Fwin32\u002Ftsf\u002Ftext-services-framework)\n[![Built on](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBuilt%20on-Weasel%20%2B%20librime-orange)](https:\u002F\u002Fgithub.com\u002Frime\u002Fweasel)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-blue)](LICENSE)\n[![PRs Welcome](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPRs-welcome-brightgreen)]()\n\n---\n\n## 这不仅是翻译输入法。更是**风格化输入法**。\n\n你打中文：\n\n```\n我们最近的项目数据不太好看，老板让我下周给个明确的方案\n```\n\n切不同 target，落地的是**完全不同的口吻**：\n\n| 切换目标 | 落地结果 |\n|---|---|\n| `English` | Our recent project metrics aren't looking great. The boss wants a clear plan from me by next week. |\n| `留学生式说话` | 我们 recent 的 project data 有点 ugly，老板 push 我下周给个 clear 的 plan。 |\n| `金融式说话` | 这个 deal 最近的 KPI 不及预期，management 要求 next week 之前 deliver 一份 actionable 的 strategy memo。 |\n| `互联网黑话` | 这个项目最近的数据有点压力，需要在下周前对齐一套有抓手、能闭环的赋能打法。 |\n| `学术大佬式英语` | The project's recent metrics exhibit suboptimal performance; the supervisor expects a clearly articulated remediation strategy by next week. |\n| `古汉语风格` | 近日吾辈所司之事，数据未尽人意。家主令吾翌周献清晰之策。 |\n| `东北话` | 咱这项目最近数据贼难看，老板让我下周必须憋出个明明白白的方案来。 |\n| `港片黑帮` | 我哋最近条 case 啲数啱啱睇唔过眼，大佬话下个礼拜要有个交代。 |\n\n不止翻译。**你说啥风格，AI 就给你啥风格。**\n\n---\n\n## 它是什么\n\nWindows OS 级输入法。你打拼音 → 空格选词 → Enter → 中文当场被 AI 改写为目标语言或风格 → 在**任意 Windows 应用**（微信 \u002F Word \u002F Chrome \u002F VSCode \u002F 飞书 \u002F Discord \u002F Slack）原地替换。\n\n切换 target 不重启：托盘鱼图标右键 → **切换语言** → 弹框 → 输入任何描述。\n\n---\n\n## 风格清单（举例，不限）\n\n### 🌐 语种 — 直接翻译\n\n```\nEnglish \u002F 日本語 \u002F 한국어 \u002F Français \u002F Deutsch\nEspañol \u002F Italiano \u002F Português \u002F Русский \u002F العربية\nTiếng Việt \u002F ไทย \u002F Türkçe \u002F 粵語\n... 任何 AI 能识别的语言\n```\n\n### 🎭 圈层风格 — 加入特定群体的说话方式\n\n| 圈层 | 典型词汇 \u002F 句式 |\n|---|---|\n| **金融式说话** | deal \u002F EXIT \u002F IRR \u002F runway \u002F cap table \u002F Q3 \u002F actionable \u002F commit |\n| **留学生式说话** | paper \u002F final \u002F stress \u002F dorm \u002F TA \u002F lecture，连接词中文 |\n| **互联网黑话** | 赋能 \u002F 抓手 \u002F 闭环 \u002F 降本增效 \u002F 打法 \u002F 链路 \u002F 心智 \u002F 颗粒度 |\n| **程序员式说话** | PR \u002F MR \u002F repo \u002F deploy \u002F merge \u002F log \u002F 上线 \u002F 跑通 |\n| **学术大佬式** | paper \u002F cite \u002F significant \u002F sample size \u002F methodology |\n| **HR 式** | 人力成本 \u002F 绩效 \u002F 对齐 \u002F 复盘 \u002F 赋能 \u002F 人才梯队 |\n| **销售式** | 客户 \u002F 转化 \u002F 留资 \u002F 成单 \u002F 跟单 \u002F 价值 |\n| **二次元** | の \u002F 大佬 \u002F 我去 \u002F 下次一定 \u002F 滑稽 \u002F 草 |\n| **东北话** \u002F **港式中文** \u002F **台湾腔** \u002F **老北京话** | 口语化方言 |\n\n### 🎬 场景\u002F文体 — 指定语气、年代、媒介\n\n```\n学术英语 \u002F 商务日语 \u002F 古汉语风格 \u002F 文言文体\n网络流行语 \u002F 知乎体 \u002F 小红书种草体 \u002F 公众号文章体\nB站弹幕体 \u002F 抖音口播体 \u002F 朋友圈鸡汤体 \u002F 营销号体\n```\n\n### 🪐 虚构 \u002F 自定义 — AI 自由发挥\n\n```\n像鲁迅一样的英语 \u002F 像周杰伦歌词 \u002F 港片黑帮台词\n莎士比亚十四行诗 \u002F 武侠小说体 \u002F 玄幻爽文体\nKlingon battle prose \u002F 火星文 \u002F Spanish chilango \u002F Cockney slang\n```\n\n**你能用一句话描述的口吻，TypeAnything 就能给你那个口吻。**\n\n---\n\n## 为什么做它\n\n跨语言\u002F跨圈层协作的真正瓶颈不在「会不会说英文」「认不认识黑话」，在**打字速度 + 切换成本**——你能用拼音 250 字\u002F分钟想出来的句子，硬要套进金融狗中英夹杂模板就剩 60 字\u002F分钟。市面解法的通病：\n\n| 通病 | TypeAnything 改进 |\n|------|--------------------|\n| 翻译插件只做语种切换（中→英） | **AI 改写**：语种 \u002F 圈层 \u002F 时代 \u002F 文体 \u002F 自定义任意切 |\n| 浏览器插件方案只在 web 内有效 | **OS 级 TSF**，微信\u002FWord\u002F任何原生 app 都生效 |\n| 「划词翻译」要先打中文再选 → 中断思路 | **打字过程内联**，Enter 当场替换，零额外动作 |\n| sidecar \u002F hook 方案微信里出现幽灵光标 | **直接 fork Weasel TSF**，框架级集成无 hook 冲突 |\n| 谷歌输入法 + 翻译只支持 1-2 语言 | **任意自然语言描述**，1 秒切换风格 |\n| 翻译质量靠默认 prompt（直译生硬） | **5 条 rule 专业翻译 prompt** + 风格描述 pass-through |\n| 阻塞 LLM 调用导致 UI 卡死 | **后台 worker + 版本号校验**，用户继续打字不阻塞 |\n| 鬼图标 \u002F 维护中托盘气泡 \u002F 12 项菜单噪音 | **托盘 4 项极简** + 神仙鱼品牌图标 |\n| 安装要装 7 个组件、改 5 个注册表 | **一条命令**完成 binary 替换 + schema 部署 + TSF 注册 |\n| 上锁文件无法替换需手动重启 | **MoveFileEx pending-on-reboot** 自动兜底 |\n\n---\n\n## 工作原理\n\n```\n┌─ 用户打字 ──────────────────────────────────────────┐\n│  nihao  + [Space]                                  │\n│   ↓                                                 │\n│  Weasel TSF DLL → librime engine → 「你好」         │\n│   ↓ commit_notifier 触发                            │\n│  TypeAnything Rime processor 累积「你好」           │\n└─────────────────────────────────────────────────────┘\n                      ↓ [Enter]\n┌─ 后台异步 ──────────────────────────────────────────┐\n│  spawn worker thread (Chinese 仍可见 ~1s)           │\n│   ↓                                                 │\n│  WinHttpPost → AI provider chat\u002Fcompletions API     │\n│   payload = professional translator prompt          │\n│           + 你的目标 (任意自然语言描述)              │\n│           + 「你好」                                 │\n│   （默认连 DeepSeek，可在 schema yaml 改 OpenAI\u002F...）│\n│   target_lang ← %APPDATA%\\Rime\\typeanything_       │\n│                  lang.txt (托盘菜单写入)             │\n└─────────────────────────────────────────────────────┘\n                      ↓ ~1s 后 LLM 返回\n┌─ 静默替换 ──────────────────────────────────────────┐\n│  SendInput VK_BACK × 「你好」.length                │\n│   ↓                                                 │\n│  SetClipboardUtf8(\"Hello\")                          │\n│   ↓                                                 │\n│  SendPaste (Ctrl+V)  ← 绕开 IME 拦截                │\n└─────────────────────────────────────────────────────┘\n                      ↓\n              「Hello」 落地原应用\n```\n\n---\n\n## 安装\n\n### 前置条件\n\n- Windows 10 \u002F 11\n- [Microsoft Edge WebView2 Runtime](https:\u002F\u002Fdeveloper.microsoft.com\u002Fmicrosoft-edge\u002Fwebview2\u002F) — Win10 20H1+ \u002F Win11 默认已装，老版本 Win10 需手动装一次\n- AI API key — 默认走 [DeepSeek](https:\u002F\u002Fplatform.deepseek.com\u002F)（性价比 + 中文质量好），可换 OpenAI \u002F Anthropic \u002F 任意 OpenAI-compatible API（装完后在「模型配置」面板填）\n\n> Weasel 不用先装。`ta-installer.exe` 自带 Weasel 0.17.4 全套二进制 + librime + TypeAnything 插件，一次装完。\n\n### 一键安装（推荐）\n\n1. 下载最新 release 的 `ta-installer.exe`：\n   \u003Chttps:\u002F\u002Fgithub.com\u002FA-cat-with-carrots\u002FTypeAnything\u002Freleases\u002Flatest>\n2. 双击 `ta-installer.exe` — UAC 提权\n3. 选安装目录（默认 `C:\\Program Files\\Rime\\weasel-0.17.4\\`）→ 「开始安装」\n4. 等进度条到 100% → 「配置模型」按钮直接弹模型配置面板，填 API key 保存\n5. Win+Space 切到 **TypeAnything**\n\n**装完不需要注销重登 \u002F 重启电脑** — 新打开的应用立即生效，已开的应用需关掉重开。\n\n### 卸载\n\n控制面板 → 程序和功能 → 找到「TypeAnything」→ 卸载。或直接跑安装目录里的 `uninstall.exe`。用户字典与个人配置（`%APPDATA%\\Rime`）会保留，方便日后重装时延用。\n\n### 从源码自行构建\n\n```powershell\nchoco install -y visualstudio2022buildtools python\n# Boost 1.84 prebuilt 装到 C:\\local\\boost_1_84_0\nInvoke-Expression (Invoke-Webrequest 'https:\u002F\u002Fxmake.io\u002Fpsget.text' -UseBasicParsing).Content\n\ngit clone https:\u002F\u002Fgithub.com\u002FA-cat-with-carrots\u002FTypeAnything.git\ncd TypeAnything\\third_party\\weasel\\librime\ngit submodule update --init --recursive\n.\\build.bat librime         # → dist\\lib\\rime.dll\n\ncd ..\n.\\_build_weasel_xmake.ps1   # → Weasel binary 套件\n\ncd ..\\..\\tools\\ta-settings\n.\\_build.ps1                # → ta-settings.exe（设置面板）\n\ncd ..\\ta-installer\n.\\_stage_embed.ps1          # 把所有 binary 资源 stage 进 installer\n.\\_build.ps1                # → ta-installer.exe（带 embedded 资源）\n```\n\n`ta-installer.exe` 内部干这些：\n1. UAC 提权（embedded manifest `requireAdministrator`）\n2. Kill 现有 Weasel 进程 + `MoveFileEx` pending-on-reboot 兜底\n3. 写 binaries 到选定安装目录（备份原版到 `*.bak`）+ 替换 `system32\\weasel.dll`\n4. 写 `typeanything.schema.yaml` + `typeanything.dict.yaml` + `default.custom.yaml` + `weasel.custom.yaml` 到 `%APPDATA%\\Rime\\`\n5. patch TSF 注册表 IME 描述为 `TypeAnything`\n6. `WeaselDeployer.exe \u002Fdeploy` 编译 schema（轮询 `typeanything.prism.bin` ≤ 60s）\n7. 启 `WeaselServer.exe` 上托盘\n8. 写 HKLM\\Run 自启动 + Add\u002FRemove Programs entry + 拷贝自身为 `uninstall.exe`\n\n---\n\n## 用法\n\n### 基本流程\n\n```\n1. Win+Space 切到 TypeAnything\n2. 任意输入框打拼音：women xia zhou yao kaihui\n3. Space 选词 → 「我们下周要开会」\n4. Enter → 中文消失 → 落地为目标风格\n```\n\n### 托盘菜单（右键鱼图标 \u002F TSF 输入法图标）\n\n```\n切换风格  (L)   ← 打开「切换风格」WebView2 面板\n模型配置  (M)   ← 打开「模型配置」WebView2 面板\n检查更新  (U)   ← 打开 GitHub Releases 页\n```\n\n两项核心交互都由 `ta-settings.exe`（独立 WebView2 应用）承载，**不再走 PowerShell \u002F WinForms**。深色 Fluent 设计沿用 [type.hrdai.cn](https:\u002F\u002Ftype.hrdai.cn) 品牌：teal `#15212a` 底 \u002F 金 `#d4b27a` accent \u002F Noto Serif SC 中文衬线 \u002F Inter 英文 sans。\n\n### 切换风格\n\n右键 → **切换风格** 弹出面板，按 4 大类列出 chip：\n\n- **🌐 语种** — English \u002F 日本語 \u002F 한국어 \u002F Français \u002F Deutsch \u002F Español \u002F 粵語 \u002F Türkçe \u002F ...\n- **🎭 圈层风格** — 金融式说话 \u002F 留学生式说话 \u002F 互联网黑话 \u002F 程序员式说话 \u002F 学术大佬式 \u002F HR 式 \u002F 销售式 \u002F 二次元 \u002F 东北话 \u002F 港式中文 \u002F 台湾腔 \u002F 老北京话\n- **🎬 场景 \u002F 文体** — 学术英语 \u002F 商务日语 \u002F 古汉语风格 \u002F 网络流行语 \u002F 知乎体 \u002F 小红书种草体 \u002F 公众号文章体 \u002F B 站弹幕体 \u002F 抖音口播体 \u002F 营销号体\n- **🪐 虚构 \u002F 自定义** — 像鲁迅一样的英语 \u002F 像周杰伦歌词 \u002F 港片黑帮台词 \u002F Klingon battle prose \u002F Spanish chilango \u002F 火星文 \u002F ...\n\n也可在输入框直接键入任意描述（默认 placeholder `English`，留空即默认）。保存后写到 `%APPDATA%\\Rime\\typeanything_lang.txt`，下次 Enter 触发翻译时 processor 重读文件，AI 按新描述翻译。\n\n### 模型配置（接入自己的模型）\n\n右键 → **模型配置** 弹出表单，5 个 provider 一键预设 + 4 个字段：\n\n| 字段 | 默认值 | 说明 |\n|---|---|---|\n| **API Key** | 装完后在此填 | 你自己的 API key（mask 显示，可勾「显示」眼睛按钮）。**首次安装完进度页 → 「配置模型」按钮**直接弹此面板 |\n| **Model** | `deepseek-chat` | 模型名（`gpt-4o` \u002F `moonshot-v1-8k` \u002F `glm-4-flash` \u002F `qwen2.5:7b` \u002F 任意） |\n| **Host** | `api.deepseek.com` | 服务 host（`api.openai.com` \u002F `api.moonshot.cn` \u002F `open.bigmodel.cn` \u002F `localhost:11434`） |\n| **Path** | `\u002Fv1\u002Fchat\u002Fcompletions` | OpenAI Chat Completions 兼容协议 |\n\n预设按钮一键填充：**DeepSeek** \u002F **OpenAI** \u002F **Moonshot** \u002F **智谱** \u002F **Ollama**（本地）。\n\n保存后：\n- 写到 `%APPDATA%\\Rime\\typeanything.schema.yaml`（仅本机，没有上传）\n- 自动 kill + 重启 WeaselServer 让 processor 重读新配置\n- 秒级生效\n\n**隐私保证**：你的输入只发到你填的 endpoint，没有中转代理 \u002F shared backend \u002F vendor lock-in。换 provider 改一行就好。\n\n### 拼音 → 汉字 自学习\n\nRime user_dict 默认开启，每次选词增加频次到 `%APPDATA%\\Rime\\luna_pinyin.userdb`。schema 里加强参数：\n\n```yaml\ntranslator:\n  enable_user_dict:  true   # 频次持久化\n  enable_encoder:    true   # 多字 composition 自动编码为新词组\n  enable_sentence:   true   # 整句候选浮上来\n  enable_completion: true   # 简写 (xz → 现在) 也能匹配\n  initial_quality:   1.2    # user_dict 权重高于 base dict\n```\n\n用得越多，候选顺序越贴合你常用词。\n\n### 标点直输（无候选窗）\n\nschema 覆盖 punctuator preset，对齐 Microsoft IME 行为：\n- 中文模式 (ascii_mode=false)：`,` → `，` \u002F `.` → `。` \u002F `(` → `（` \u002F `\\` → `、` \u002F 引号自动配对\n- 英文模式 (ascii_mode=true)：全 ASCII 半角直输\n\n不再弹「、 \\ \\」三选一候选窗。\n\n---\n\n## 文件结构\n\n```\nTypeAnything\u002F\n├── README.md                                    本文档\n├── LICENSE                                      MIT\n├── fish.ico                                    神仙鱼品牌图标\n├── tools\u002F\n│   ├── ta-installer\u002F                           ★ 单 exe 安装器（含全部资源 embed）\n│   │   ├── main.cpp                            UAC + 安装 \u002F 卸载 worker\n│   │   ├── installer.rc                        IDR_* 资源：Weasel 套件 \u002F ta-settings.exe \u002F schema yaml \u002F UI\n│   │   ├── resource.h\n│   │   ├── manifest.xml                        requireAdministrator\n│   │   ├── ui\u002F                                 WebView2 安装向导：选目录 → 进度 → 完成\n│   │   └── _stage_embed.ps1 + _build.ps1\n│   └── ta-settings\u002F                            ★ 托盘菜单「切换风格」+「模型配置」WebView2 面板\n│       ├── main.cpp                            webview 宿主 + JS↔C++ bridge\n│       ├── app.rc                              fish.ico embed → 窗口 \u002F 任务栏图标\n│       ├── ui\u002F\n│       │   ├── index.html                      SPA: ?page=lang | ?page=model\n│       │   ├── style.css                       hrdai dark editorial (teal+金)\n│       │   ├── app.js                          chips\u002Fpreset 逻辑 + bridge 调用\n│       │   └── fish.png                        title bar logo\n│       ├── vendor\u002F\n│       │   ├── webview.h                       zserge\u002Fwebview v0.10 single-header MIT\n│       │   └── webview2\u002F                       Microsoft.Web.WebView2 SDK\n│       ├── xmake.lua + _build.ps1              build script\n│       └── fish.ico\n└── third_party\u002F\n    └── weasel\u002F                                  fork 自 rime\u002Fweasel\n        ├── WeaselServer\u002F\n        │   └── WeaselServerApp.cpp              ★ ShellExecute ta-settings.exe\n        ├── WeaselTSF\u002F\n        │   ├── LanguageBar.cpp                  ★ ShellExecute ta-settings.exe\n        │   └── WeaselTSF.rc                     ★ 3 项菜单\n        ├── WeaselUI\u002F\n        │   └── WeaselPanel.cpp                  ★ 候选窗 status icon 关掉\n        ├── resource\u002F                            ★ 6 个 ICO 神仙鱼 + 中\u002FA 模式徽章\n        ├── include\u002F\n        │   └── resource.h                       ★ ID_WEASELTRAY_SWITCH_LANG + MODEL_CONFIG\n        └── librime\u002Fplugins\u002Ftypeanything\u002F        ★ 我们的 Rime 插件\n            ├── src\u002F\n            │   ├── typeanything_processor.cc    ★ ResolveTargetLang 自由格式 + 异步翻译\n            │   ├── typeanything_processor.h\n            │   └── typeanything_module.cc\n            ├── schema\u002F\n            │   └── typeanything.schema.yaml     ★ luna_pinyin + abbrev + 标点直输\n            └── CMakeLists.txt\n```\n\n★ = TypeAnything 改动 \u002F 新增。\n\n---\n\n## 自定义\n\n### 改 LLM provider\n\n默认连 DeepSeek（中文质量好 + 价格低）。每个用户用**自己的 API key 直连**，没有 shared backend \u002F 中转代理 — 你的输入只发到你填的那个 API endpoint。\n\n`typeanything.schema.yaml`：\n\n```yaml\ntypeanything:\n  api_key: \"sk-...\"          # 你自己的 API key\n  model: deepseek-chat       # → \"gpt-4o\" \u002F \"moonshot-v1-8k\" \u002F 任意\n  host: api.deepseek.com     # → \"api.openai.com\" \u002F 任意 OpenAI-compatible host\n  path: \u002Fv1\u002Fchat\u002Fcompletions # OpenAI Chat Completions 兼容协议\n  temperature: 0.3\n```\n\n**支持任意 OpenAI Chat Completions 兼容 API**：DeepSeek \u002F OpenAI \u002F Moonshot \u002F 阶跃 \u002F 智谱 \u002F 任何 self-hosted vLLM \u002F Ollama 等。Anthropic `\u002Fv1\u002Fmessages` 协议不同，需改 processor 的请求 builder。\n\n---\n\n## 已知限制\n\n- **macOS \u002F Linux 暂不支持** — 需用 squirrel (macOS) \u002F fcitx-rime (Linux) 重新 fork\n- **新打开的应用立即生效，已开的应用需关掉重开** — TSF DLL 被每个文本输入进程持锁；installer 走 `MoveFileEx` pending-on-reboot 兜底，**整机重启不需要**\n- **WebView2 runtime 依赖** — 设置面板用 Edge WebView2。Win10 20H1+ \u002F Win11 默认装；老 Win10 (1909\u002F1903) 需手动装一次\n- **切换风格只影响下次 Enter** — processor 在 Enter 触发时才重读 `typeanything_lang.txt`，已落地的文本不回译\n- **首次启动 schema 编译 ~3-5s** — librime 首次编译 `luna_pinyin.table.bin` (13MB)，仅一次性\n\n---\n\n## 版本历史\n\n### v0.6.5（当前）\n- **冷装修复**：installer cold-register TSF + bundle luna_pinyin 全套数据 + 安装失败真报错（不再 silent 100%）+ 写开始菜单 `TypeAnything.lnk → WeaselServer.exe`\n- **WeaselServer 跑 MEDIUM IL**（`CreateProcessWithTokenW` + explorer token）让 IME 在普通应用（Notepad \u002F 微信 \u002F Chrome \u002F Word）正常工作，pipe ACL 不再被拒\n- **设置面板单实例 + tab 切换 + 强制置顶**：托盘点「切换风格」\u002F「模型配置」复用现有窗口，`AttachThreadInput` 技巧绕过 SetForegroundWindow 限制\n- **每 provider 独立 API key**：`%APPDATA%\\Rime\\typeanything.keyring.json` 存 DeepSeek\u002FMoonshot\u002F智谱\u002FOpenAI\u002FOllama\u002Fcustom 各自 key，切 preset 不再串\n- **自定义 preset**：清空 placeholder + 字段，用户从零填\n- **当前 provider 标识**：`.preset.current` 金底 +「当前」角标 = runtime 实际在用的那个\n- **候选框样式调优**：style\u002Flayout\u002F* 字段（而非顶级 style\u002F*）才真正驱动 layout — font 11pt YaHei UI、margin 8\u002F6、hilite_padding 4、candidate_spacing 24、金色 mark\n- **WeaselServer 版本从 registry 读**：`HKLM\\...\\Uninstall\\TypeAnything\\DisplayVersion` 单一来源，发版只改 installer 一处\n- **检查更新弹窗 MB_TOPMOST + MB_SETFOREGROUND**：不再藏到后台\n- **`taskkill \u002FT` flag 去掉**：避免 ta-settings（WeaselServer 子进程）被一起 kill\n\n### v0.6.2\n- **纯净模式** — 标题栏右侧 toggle 开关，开启后写 `off` sentinel 到 lang 文件，UI 整体置灰锁定，Enter 直通宿主（不再被 IME 吞掉），实际效果 = 纯拼音中文输入法。模型配置页不显示该开关。\n- **UI 收尾打磨**\n  - chip 点击后输入框光标置末尾、无蓝色高亮（`setSelectionRange(n,n)` 替代 `select()`）\n  - 用户手动编辑或聚焦时清除 chip 的 active 高亮\n  - 保存 toast 简化为「已保存」，不附带值\n  - 保存后不再自动关窗 — 用户可继续改\n  - 「off」sentinel 在输入框显示为「无」\n  - 模型配置页加 endpoint live preview（`POST  https:\u002F\u002Fhost{path}`）+ 2-column form-grid 排版，窗口 660×640\n\n### v0.5\n- **WebView2 设置面板** — 托盘的「切换风格」+「模型配置」从 PowerShell InputBox \u002F WinForms 改为独立 `ta-settings.exe` 嵌 WebView2 + HTML\u002FCSS\n  - hrdai dark editorial 设计（teal `#15212a` + 金 `#d4b27a`，Noto Serif SC 衬线 + Inter sans）\n  - 神仙鱼 ICO 嵌入资源 → 窗口 \u002F 任务栏图标\n  - chip \u002F preset hover 金描边、active 金底深字\n  - JS ↔ C++ bridge：read\u002Fwrite schema yaml & lang.txt，保存自动重启 WeaselServer\n  - WebView2 user-data folder 强制走 `%LOCALAPPDATA%\\TypeAnything\\WebView2`（避开 Program Files 只读）\n  - 标点直输（schema yaml 覆盖 punctuator preset，对齐 Microsoft IME）\n  - 取消所有 PowerShell spawn — 不再受 PS 冷启动 \u002F 沙箱进程拦截影响\n\n### v0.4\n- **任意自然语言目标** — 切换语言改 PowerShell InputBox，user 输入任意 AI 能理解的描述\n  - 4 大类：语种 \u002F 圈层风格 \u002F 场景文体 \u002F 虚构自定义\n  - **金融式说话 \u002F 留学生式说话 \u002F 互联网黑话** 等圈层风格是核心卖点\n- **模型配置 GUI** — 第一版用 WinForms（已在 v0.5 替换为 WebView2）\n- **拼音→汉字 自学习强化** — Rime user_dict 增强（encoder\u002Fsentence\u002Fcompletion\u002Finitial_quality）\n- 图标 0 margin 紧贴\n- 托盘菜单减到 3 项\n- WinSparkle 自动检查彻底删除\n- 删字 bug fix\n- install 脚本 5s 后自动 exit\n\n### v0.3\n- 30 语言托盘热切（English \u002F 日本語 \u002F 한국어 \u002F 粵語 + 26 种）\n- 神仙鱼品牌图标全套\n- 托盘菜单 4 项极简\n- 5 条 rule 专业翻译 prompt\n- 关闭候选窗 status icon\n- 检查更新跳转 GitHub Releases 页面\n- install 脚本：MoveFileEx pending-on-reboot + 轮询 schema 编译\n\n---\n\n## 贡献\n\n重点方向：\n- **macOS port** — 用 squirrel 框架，复用我们的 typeanything plugin\n- **Linux port** — 用 ibus-rime 或 fcitx-rime\n- **流式翻译** — LLM streaming API → 边翻边显示\n- **错误 toast** — API 失败时托盘气泡提示\n- **风格 preset 库** — 内建几十种圈层风格 prompt template\n- **离线 fallback** — 本地小 model 兜底\n\nPR 前请阅 `third_party\u002Fweasel\u002Flibrime\u002Fplugins\u002Ftypeanything\u002Fsrc\u002Ftypeanything_processor.cc` 了解核心翻译\u002F替换链路。\n\n---\n\n## 致谢\n\n- [rime\u002Fweasel](https:\u002F\u002Fgithub.com\u002Frime\u002Fweasel) — Windows TSF 框架，我们 fork 自此\n- [rime\u002Flibrime](https:\u002F\u002Fgithub.com\u002Frime\u002Flibrime) — Rime 输入法引擎\n- [DeepSeek](https:\u002F\u002Fplatform.deepseek.com\u002F) — 默认 LLM provider（性价比高、中文好），用户可在 schema yaml 切到任意 OpenAI-compatible API\n- 神仙鱼 logo 来自 [hrdai.com](https:\u002F\u002Fhrdai.com) 品牌系统\n\n---\n\n## License\n\nMIT — 详见 [LICENSE](LICENSE)。\n\nWeasel 上游代码（`third_party\u002Fweasel\u002F`）保持其原 license（GPL v3 \u002F BSD-3-Clause）；本仓库新增代码以 MIT 发布。\n","TypeAnything 是一款基于 Windows 操作系统的风格化输入法，能够将中文实时转换为多种语言或特定风格的文本。其核心功能是通过用户输入的中文拼音，结合 AI 技术，在按下 Enter 键后即时生成目标语言或风格的文本。技术上，该项目基于 Weasel TSF 和 librime 进行开发，并采用 C++ 编写。TypeAnything 适用于需要频繁切换语言或文本风格的场景，例如跨文化沟通、多语言文档编辑以及模拟不同社交圈层的语言习惯等。无论是正式的商务交流还是轻松的社交媒体互动，该工具都能有效提升工作效率和表达准确性。","2026-06-11 03:56:53","CREATED_QUERY"]