十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

TeamAI CLI 更新策略详解:团队默认、用户覆盖与环境变量三级控制完整指南

TeamAI CLI 更新策略详解:团队默认、用户覆盖与环境变量三级控制完整指南 TeamAI CLI 更新策略详解团队默认、用户覆盖与环境变量三级控制完整指南【免费下载链接】teamai-cliMake Every Team AI Native项目地址: https://gitcode.com/GitHub_Trending/te/teamai-cliTeamAI CLI 是一款让每个团队都成为 AI 原生团队Make Every Team AI Native的命令行工具自动把团队的 docs、rules、skills、agents 等 AI 知识资源同步到每位成员本地。它的 CLI 自身支持自动更新并通过「团队默认 → 用户覆盖 → 环境变量」三级策略精确控制团队用teamai.yaml定默认、个人用updatePolicy覆盖、运维用环境变量指定更新源。本篇带你快速吃透这套更新策略的配置方法。为什么需要三级更新控制TeamAI CLI 的更新检查内置在 AI 编码工具的Stop hook中每次会话停止时CLI 会在后台静默检查 npm 是否有新版本并按策略决定是否安装。这个设计带来两个诉求团队视角有些环境内网、受管机器希望全员禁用自动更新由管理员统一管控版本个人视角同一团队里有人想每次自动升级有人想在终端确认后才升级有人想完全跳过。因此 TeamAI 用「默认 覆盖」的分层模型解决冲突决策逻辑集中在 src/update-policy.ts 中local.updatePolicy用户 team.autoUpdate团队 auto兜底默认优先级一目了然个人设置永远赢过团队默认任何一层都没配置时默认auto自动更新。第一级团队默认配置 autoUpdate 团队管理员只需在团队仓库的teamai.yaml中声明autoUpdate字段即可统一决定所有人的默认行为取值效果true默认发现新版本时静默安装false等效于skip全员默认跳过自动更新# 团队仓库 teamai.yaml autoUpdate: false # 禁用全员自动更新由管理员统一升级对应的配置 Schema 定义在 src/types.tsautoUpdate: z.boolean().optional()语义是不写 团队无意见落到用户级或默认值。 典型用法CI 机器、共享开发机上关闭自动更新避免 npm 安装干扰流水线。第二级用户覆盖 updatePolicy 每位成员可以在本地~/.teamai/config.yaml中设置updatePolicy可选三个值值行为auto后台静默检查并安装更新prompt终端交互询问「Update now? (y/N)」非 TTY 环境退化为仅打印提示skip跳过自动更新只做本地记录# ~/.teamai/config.yaml updatePolicy: prompt # 升级前弹确认稳字当头这条「用户级永远优先」的规则有完整测试覆盖例如localprompt beats teamfalse、localskip beats teamtrue两个用例见 src/tests/update-policy.test.ts。决策函数resolveEffectiveUpdatePolicy的实现只有十几行建议直接阅读 src/update-policy.ts是理解整个策略的最佳入口。第三级环境变量指定更新源 更新真正执行时CLI 需要知道从哪个 npm registry 拉取新版本。除了按包名自动选择公共 npm 或内部源还支持环境变量TEAMAI_NPM_REGISTRY手动覆盖注册表——这对内网镜像、私有 registry 和测试场景非常关键export TEAMAI_NPM_REGISTRYhttps://npm-mirror.corp.example.com相关实现在 src/update.ts 的resolveRegistryForPackage()中只要该环境变量非空就直接采用不再走包名判断。环境变量作用TEAMAI_NPM_REGISTRY强制指定更新检查与安装使用的 npm 源更新是怎么触发的理解了配置再看运行时链路实现在 src/hook-handlers.ts 的updateHandler与 src/update.ts 的doUpdate()触发AI 编码工具停止会话时Stop hook 后台执行doUpdate()不阻塞你的操作缓存版本检查结果缓存 12 小时有效期内不重复请求 registry决策按上面三级策略解析出auto/prompt/skip安装获取更新锁防止多进程并发升级执行 npm 全局安装完成后用新版本刷新 hooks兜底权限不足、网络超时等失败场景只打警告提示手动运行teamai update。需要手动升级或只查不装时teamai update --check # 仅检查是否有新版本 teamai update # 检查并安装更多命令说明见中文使用指南 docs/usage-guide.zh-CN.md 的「自动更新」章节。三种典型场景配置速查 场景团队teamai.yaml个人config.yaml环境变量全员自动升级默认不配置不配置不配置公司禁用自动更新个人可自选autoUpdate: false需要自动者可设updatePolicy: auto—内网私有源升级autoUpdate: trueupdatePolicy: promptTEAMAI_NPM_REGISTRY指向镜像小结三级控制一次讲清团队默认autoUpdate→ 用户覆盖updatePolicy→ 环境变量TEAMAI_NPM_REGISTRY层级清晰、个人优先默认友好什么都不配就是auto静默自动更新零学习成本源码可读性强核心决策仅几十行从 src/update-policy.ts 入手即可完全掌握。掌握这套更新策略后你既能给团队定下统一版本纪律又能保留个人的灵活选择——这正是 TeamAI CLI「让每个团队 AI 原生」的细腻之处 【免费下载链接】teamai-cliMake Every Team AI Native项目地址: https://gitcode.com/GitHub_Trending/te/teamai-cli创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表