zentao-mcp:让 AI 直接读禅道 Bug、修 Bug、回写禅道

zentao-mcp — 禅道与 AI 编程助手之间的桥梁 前言 每天开工前,你是不是都要打开禅道,翻一遍指派给自己的 Bug,复制重现步骤,再切回 IDE 开始改? 更麻烦的是——禅道里的重现步骤往往是 HTML 富文本,丢给 AI 时格式乱、上下文断,来回粘贴几次,半小时就没了。 如果你团队用 禅道(ZenTao) 管 Bug,又用 Cursor / Claude / Windsurf 写代码,这个问题应该不陌生。 所以我开源了 zentao-mcp —— 一个专为禅道设计的 MCP Server,让 AI 直接: 查「指派给我的 Bug」 读重现步骤(自动 HTML → 纯文本) 在 IDE 里改代码 可选:dryRun 预演后回写「已解决」 ⭐ 7 个 MCP 工具,覆盖 Bug 读写的完整闭环 🚀 一条命令安装,无需 clone 仓库 🤖 自动配置 18 种 AI 客户端(Cursor、Claude、Windsurf…) 🔒 写操作默认关闭 + dryRun 预演,防 AI 误操作 📦 MIT 开源 · 适配禅道 16.5+ / 18.12 项目地址: github.com/ceeyang/zentao_mcp ...

2026-06-29 · 4 min · 678 words · Cee Yang

dart_common_extensions:一套 Dart 常用扩展方法集合

前言 写 Dart / Flutter 时,你一定遇到过这些场景: 字符串转 int 要写 int.parse(s),还担心抛异常;日期格式化到处写 DateFormat;列表想要个 chunked 还得自己写循环;Map 想取个不存在的 key 要加一大堆 containsKey 判断…… 这些小操作本身不难,但每天写十几次,代码就变得啰嗦且容易出错。 这就是我开源 dart_common_extensions 的原因。 项目地址:github.com/ceeyang/dart_common_extensions Pub 地址:pub.dev/packages/dart_common_extensions ⭐ 150+ 扩展方法,覆盖 String / DateTime / List / Map / Num / Enum / Object 📦 零运行时依赖(仅 decimal + intl) 🧪 100+ 单元测试 📄 完整 API 文档 + 示例代码 安装 dependencies: dart_common_extensions: ^0.0.9 # Flutter 项目 flutter pub get # 纯 Dart 项目 dart pub get 核心功能一览 📎 Object Extensions — 函数式编程小工具 Kotlin 开发者会非常熟悉 let 和 also,Dart 里也能用了: ...

2026-06-03 · 4 min · 669 words · Cee Yang

开源邀请归因系统 share-installs:自托管延迟深度链接匹配方案

前言 你有没有遇到过这种场景: 用户 A 分享了一个邀请链接给用户 B。用户 B 在手机上点击链接,跳转到 App Store 下载了 App。安装打开后——邀请码呢? 传统方案要么依赖复杂的 Deep Link 配置(Universal Link / App Links),要么需要接入 Firebase Dynamic Links 这类第三方服务。前者配置繁琐,后者有被 deprecate 的风险。 这就是我开源 share-installs 的原因。 什么是 share-installs? share-installs 是一个开源、自托管的 邀请码 & 延迟深度链接归因系统。 核心能力只有一句话:用户点击邀请链接并安装 App 后,首次启动时邀请码会自动识别并回填——即使点击时 App 尚未安装。 项目地址:github.com/ceeyang/share-installs ⭐ 核心功能:浏览器指纹 → 后端匹配 → App 启动自动回填 🖥️ 三端 SDK:Web(TypeScript)+ iOS(Swift)+ Android(Kotlin) 🐳 一键部署:Docker Compose / Kubernetes / 裸机 🔐 自托管:数据存在你自己的服务器上 工作原理 整个流程分为四个阶段: [阶段 1] 用户 A 分享邀请链接 │ ▼ [阶段 2] 用户 B 点击链接 → 你的落地页 │ JS SDK 上报浏览器指纹到后端 ▼ [阶段 3] 跳转 App Store / Play Store │ ▼ [阶段 4] 用户 B 安装并打开 App │ 移动 SDK 上报设备指纹 ▼ 后端匹配指纹 → 返回邀请码 │ ▼ App 自动填入邀请码 ✓ 关键技术点: ...

2026-06-01 · 3 min · 491 words · Cee Yang