源码系统概览
文章正文
yoooni-daily-plugin 是由 Yoooni 团队开源的 Claude Code 插件源码,采用纯 JavaScript/PowerShell 技术栈,不依赖复杂框架。
项目包含 13 个 Skill,覆盖从新同事入职初始化到日常启动、生产日志查询、跨目录任务空间管理等多个工作流场景。
该插件支持 Claude Code 和 Codex 双平台,安装后可通过自然语言触发,也可通过 slash 命令管理。
源码简介
项目源码采用标准插件市场结构,包含两个 marketplace 清单(.claude-plugin 和 .agents/plugins),插件本体位于 plugins/yoooni-daily-plugin/ 子目录。
核心亮点包括:SessionStart Hook(hooks/session-autoupdate.js)在每次 Claude Code 启动时自动拉取公司 MCP 仓并重建知识引擎;
Windows 计划任务(schtasks)每 4 小时后台静默更新;
VBS + ConPTY 技术实现真正的无黑框后台运行,避免了 -WindowStyle Hidden 无法压制子进程控制台窗口的历史问题。
插件采用 PowerShell 5.1 脚本体系,配套注册表修复脚本(fix_smb_guest_it01.reg)解决 SMB 来宾访问问题。
版本管理需同步修改 plugin.json 和 marketplace.json 两处,避免 JSON BOM 编码问题。
适用场景
本源码适合需要快速搭建 AI 编程助手工作环境的研发团队,尤其是使用 Claude Code 或 Codex 的企业用户。
典型场景包括:新员工入职环境初始化、多项目跨目录工作区管理、生产环境日志查询与问题排查、团队编码规范自动化同步。
插件支持自动更新机制,可减少人工维护成本,适合长期使用。
功能亮点
① 入职初始化流水线(yoooni-onboard-pipeline):编排已有能力,从拉项目源码到画像构建全自动,关键节点设人工关卡。
② 一键安装公司套件:install-team-tools.ps1 自动识别已安装项并跳过,支持 Gitee 私有源,解决多仓库依赖。
③ 生产日志查询(yoooni-prod-log-query):通过 Spring Security 自动登录生产后台 apiRegistrylog,支持翻页合并,账号密码存本地配置文件不硬编码。
④ 跨目录任务空间(yoooni-taskspace):Windows 创建 junction、macOS/Linux 创建 symlink,无需管理员权限,支持 create/list/add/remove/teardown 完整生命周期。
⑤ SessionStart 自动更新:后台 git pull 两个 MCP 仓,引擎有变化才重建,不阻塞会话。
技术架构与部署指南
| 维度 | 本套源码 | 同类通用方案 |
|---|---|---|
| 技术栈 | 前端:无(纯插件,通过 Claude Code / Codex 交互) 后端:JavaScript(Node.js ≥ |
依具体方案选型,需自行搭建与维护 |
| 部署方式 | 在 Claude Code 会话中依次执行 /plugin marketplace add https://gitee. | 多托管于第三方平台或订阅云服务 |
| 功能侧重 | ① 入职初始化流水线(yoooni-onboard-pipeline):编排已有能力,从拉项目源码到画像构建全自动,关键 | 功能通用,定制深度有限 |
| 数据归属 | 数据自持,部署在自有服务器,不出站 | 数据通常留存于服务商侧 |
| 成本模式 | 获取后自主部署,无持续授权费用 | 通常按订阅或调用量计费 |
技术栈与运行环境
前端:无(纯插件,通过 Claude Code / Codex 交互)
后端:JavaScript(Node.js ≥18)、PowerShell 5.1+
数据库:无(依赖公司内网 SVN/Gitee/Oracle Redis)
运行环境:Windows 10/11(PowerShell 5.1)、macOS/Linux(Node.js + Git)
其他依赖:Claude Code CLI(npm install -g @anthropic-ai/claude-code)、Git、Node.js ≥18、VBS 隐藏窗口启动器(run-hidden.vbs + conhost.exe –headless)
安装与部署提示
在 Claude Code 会话中依次执行 /plugin marketplace add https://gitee.com/wyoooni/yoooni-daily-plugin.git 和 /plugin install yoooni-daily-plugin@yoooni-daily-plugin,最后 /reload-plugins 生效。
全新机器需先安装 Git 和 Node.js ≥18(建议 winget install Git.Git 和 winget install OpenJS.NodeJS.LTS),然后执行 npm install -g @anthropic-ai/claude-code。
安装完成后重启 Claude Code 会话或执行 /reload-plugins。
如需定时自动更新,执行 register-autoupdate-task.ps1 注册 Windows 计划任务(每 4 小时),任务指向固定路径的稳定启动器 %USERPROFILE%\.kai-toolbox\run-update.ps1。
截图与演示说明
项目无独立前端页面,所有交互均通过 Claude Code / Codex 终端完成。
用户触发对应 Skill 后,终端输出结构化 Markdown 格式的指引内容,例如 yoooni-onboard-init 显示 SVN 拉取进度,yoooni-prod-log-query 输出 HTML 日志表格到 %TEMP%\yoooni-prod-log\ 目录,yoooni-taskspace 显示 junction 创建状态。
SessionStart Hook 在终端日志中打印版本检查提示,update-team-tools.ps1 执行时输出 git pull 状态和插件更新结果。
常见问题
问:安装后插件不生效或版本过期怎么办?
执行 /reload-plugins 强制重载,或重启 Claude Code 会话。确保 SessionStart Hook 正常工作(查看终端是否有自动更新日志),必要时手动执行 update-team-tools.ps1 脚本刷新 MCP 仓。
问:为什么 SMB 连接 \IT01 需要 Guest 登录?
公司内网共享文件夹默认允许来宾访问,但 Windows 10/11 安全策略默认禁用不安全的 Guest 登录。运行 apply_smb_guest_it01.ps1(需管理员权限)导入注册表修复项,执行 Set-SmbClientConfiguration 修改客户端配置后重启 Workstation 服务即可。
问:跨目录任务空间删除后原项目会丢失吗?
不会。teardown 操作仅删除 junction 链接和 .taskspace.json 清单文件,不删除源项目目录。工作区目录非空时会保留,可手动清理。
问:自动更新任务不运行或路径失效?
update-team-tools.ps1 在每次执行时会以 -OnlyIfExists 参数自愈校准计划任务,确保任务指向固定路径的 run-update.ps1 稳定启动器(运行时再定位最新版脚本)。可通过 schtasks /query /tn “Yoooni Team Tools AutoUpdate” 查看任务状态。
安全风险提示
本插件为内部工具源码,包含访问公司内网共享文件夹(\IT01)、操作注册表开启 SMB Guest 登录、执行 PowerShell 系统管理脚本等功能。
使用来自不可信来源的修改版本需进行代码审计,确认无恶意代码注入。SMB Guest 登录开启会降低本机 SMB 安全性,建议仅在可信公司内网使用。
生产日志查询配置中存储有账号密码(%USERPROFILE%\.config\yoooni\prod-backend.json),请勿提交到公共仓库。
建议审查所有 PowerShell 脚本的远程操作部分,确认不会泄露本地数据。
下载说明
源码仅供学习研究、测试部署和二次开发参考,商用前请自行确认授权、版权和安全风险。
使用前请务必在隔离环境中审查代码,确认无恶意行为后再在生产环境部署。
本插件依赖 Claude Code / Codex 生态,请确保运行环境符合安全要求,定期更新插件以获取最新修复。