羡逍遥
type: channel
link: https://lyj15.cn/
description: 羡逍遥 - 技术栈
items: 如何搭建codex ai 开发项目
items: thinkphp框架-参数验证规则
items: 自定义css与js文件
items: 博客美化设置自定义外观
items: 评论显示评论者的基础信息
items: 博客美化插件集锦
items: 文章添加AI摘要功能
items: 博客信息添加在线人数
items: 评论增加表情包类别
items: 分享一个在d2admin项目中强制https的方法

如何搭建codex ai 开发项目
type: item
date: 2026-03-20T06:39:00+00:00
description: AI摘要 本文介绍了如何搭建Codex AI开发项目。首先，推荐使用Claude平台购买token并获取API密钥。接着，通过命令行下载依赖并验证安装成功。然后，在指定文件夹下创建配置文件`config.toml`和环境变量文件，设置模型提供者、模型名称等信息，并替换为自己的API Key。最后，通过命令行进入工作目录，输入`codex`启动AI工作，也可以通过`codex -m`命令切换不同的模型。 此内容根据文章生成，仅用于文章内容的解释与总结 准备工作首先，推荐一个实用的平台，Claude平台，在这边购买token后，然后到api密钥去拿取自己的密钥上面是价格，按我使用习惯，一个月能用十多亿额度下载安装首先打开cmd，下载依赖npm install -g @openai/codex安装完成后，重新打开窗口，认证有没有安装成功配置然后进入这个文件夹C:\Users\你使用的电脑用户，新建一个文件夹并进入.codex创建第一个文件，config.tomlmodel_provider = "fox" model = "gpt-5" model_reasoning_effort = "high" disable_response_storage = true [model_providers.fox] name = "fox" base_url = "https://code.newcli.com/codex/v1" wire_api = "responses" requires_openai_auth = true创建第二个文件，auth.json{ "OPENAI_API_KEY": "替换为您的API Key" }进入cmd，再次设置自己的api密钥setx OPENAI_API_KEY 你的密钥然后重新打开窗口，进行验证echo %OPENAI_API_KEY%使用打开cmd，进入你要让ai工作的代码操作目录，然后输入codex然后就可以让它工作了另外也可以切换模型codex -m 你想要的模型如codex -m gpt-5-codex

thinkphp框架-参数验证规则
type: item
date: 2026-03-02T10:27:00+00:00
description: AI摘要 本文介绍了ThinkPHP框架中参数验证规则的应用。参数验证是确保用户输入数据安全性和有效性的重要手段。文章重点介绍了alphaNum规则，即验证字段值只能包含英文字母（大小写）和数字，不能包含中文、符号、空格、下划线等其他字符。这种验证规则有助于提高数据的准确性和安全性。 此内容根据文章生成，仅用于文章内容的解释与总结 引言以下是收集好用的参数验证规则，可以参考使用alphaNum全称是 alpha + numeric，验证字段的值 只能包含英文字母（大小写）和数字 ，不允许包含任何其他字符（比如中文、符号、空格、下划线等)

自定义css与js文件
type: item
date: 2025-10-30T03:17:06+00:00
description: AI摘要 博客美化：如何自定义CSS和JS文件 此内容根据文章生成，仅用于文章内容的解释与总结 前言随着博客逐渐美化，使用的后台的自定义css与自定义js越来越多，写起来就越来越难受。尤其是当里面代码多了，每次编辑就要一直往下滑，好不容易滑到底了，点击一下进入编辑又跑到顶上了......而且看着很混乱，所以我就创建文件单独给拉出来了自定义css进入/usr/themes/handsome/assets/css目录，创建customize.css文件（名字按自己喜欢的来，不需要一样），然后把更改外观-设置外观-开发者设置-自定义 CSS里面的内容全选剪切进customize.css文件将下面代码粘贴到 /usr/themes/handsome/component/header.php文件，大概在324行 <link rel="stylesheet" href="<?php echo STATIC_PATH; ?>css/customize.css?v=<?php echo Handsome::version . Handsome::$versionTag ?>" type="text/css"/>自定义css方法1：进入/usr/themes/handsome/assets/js目录，创建customize.js文件（名字按自己喜欢的来，不需要一样），然后把更改外观-设置外观-开发者设置-自定义JavaScript里面的内容全选剪切进customize.js文件将下面代码粘贴到 /usr/themes/handsome/component/footer.php文件，大概在310行，在 上面就行<script src="<?php $this->options->themeUrl('assets/js/customize.js'); ?>"> 或者是打开后台-更改外观-设置外观-开发者设置-复制代码粘贴至 自定义输出body 尾部的HTML代码 看到文件访问成功后，强制刷新一下网站，清除一下缓存就可以了

博客美化设置自定义外观
type: item
date: 2025-10-28T07:43:00+00:00
description: AI摘要 博客美化技巧：自定义CSS和JavaScript实现头像旋转、赞赏按钮跳动等功能。 此内容根据文章生成，仅用于文章内容的解释与总结 前言最近觉得博客有点单调，所以想美化一下美化首页头像鼠标悬停旋转[collapse status="false" title="点击打开查看"]打开后台-更改外观-设置外观-开发者设置-复制代码粘贴至 自定义 CSS 即可/*头像呼吸光环和鼠标悬停旋转 开始 */ .img-full { border-radius: 50%; animation: light 4s ease-in-out infinite; transition: 0.5s; } .img-full:hover { transform: rotate(666turn); transition-duration: 59s; transition-timing-function: cubic-bezier(.34, 0, .84, 1); } @keyframes light { 0% { box-shadow: 0 0 4px #22ACD6; } 50% { box-shadow: 0 0 16px #22ACD6; } 100% { box-shadow: 0 0 4px #22ACD6; } } /*头像呼吸光环和鼠标悬停旋转 结束 */[/collapse]文章赞赏按钮跳动[collapse status="false" title="点击打开查看"]打开后台-更改外观-设置外观-开发者设置-复制代码粘贴至 自定义 CSS 即可/*赞赏按钮跳动开始*/ .btn-pay { animation: star 0.5s ease-in-out infinite alternate; } @keyframes star { from { transform: scale(1); } to { transform: scale(1.1); } } /*赞赏按钮跳动结束*/[/collapse]转载提醒[collapse status="false" title="点击打开查看"]打开后台-更改外观-设置外观-开发者设置-复制代码粘贴至 自定义输出head 头部的HTML代码 打开后台-更改外观-设置外观-开发者设置-复制代码粘贴至 自定义 JavaScript document.body.oncopy=function(){layer.msg('复制成功,若要转载请务必保留原文链接！');};效果预览：[/collapse]时间流逝[collapse status="false" title="点击打开查看"]将下面代码加到 /usr/themes/handsome/component/sidebar.php的放在 <?php endif; ?> 后面，大概150行左右 <?php _me("时间流逝") ?> 今日已经过去小时 这周已经过去天 本月已经过去天 今年已经过去个月 打开后台-更改外观-设置外观-开发者设置-复制代码粘贴至 自定义 CSS/* 时间流逝 开始 */ .sidebar-count .content { padding: 15px } .sidebar-count .content .item { margin-bottom: 15px } .sidebar-count .content .item:last-child { margin-bottom: 0 } .sidebar-count .content .item .title { font-size: 12px; color: var(--minor); margin-bottom: 5px; display: flex; align-items: center } .sidebar-count .content .item .title span { color: var(--theme); font-weight: 500; font-size: 14px; margin: 0 5px } .sidebar-count .content .item .progress { display: flex; align-items: center } .sidebar-count .content .item .progress .progress-bar { height: 10px; border-radius: 5px; overflow: hidden; background: var(--classC); width: 0; min-width: 0; flex: 1; margin-right: 5px } @keyframes…

评论显示评论者的基础信息
type: item
date: 2025-10-27T11:17:00+00:00
description: AI摘要 实现在评论显示评论者基础信息的插件下载和使用教程。 此内容根据文章生成，仅用于文章内容的解释与总结 效果预览实现步骤[collapse status="false" title="插件下载"]作者博客下载：点击前往本文下载：[hide]点击下载[/hide][/collapse]进入handsome/component/comments.php文件，找到82行，添加这条语句<?php UserAgent_Plugin::get_useragent($comments->agent,$comments->ip); ?>添加完成后启用插件，大概和下面配置差不多就好，可以按自己需求来最后刷新一下网站就可以看到了~

博客美化插件集锦
type: item
date: 2025-10-27T09:14:00+00:00
description: AI摘要 介绍一款轻量级插件，用于博客的访问层拦截及验证，防止恶意访问。 此内容根据文章生成，仅用于文章内容的解释与总结 前言最近觉得这个主题有点单调，所以想美化一下，找了一些喜欢的插件美化，所以顺便记录下来备用插件[scode type="yellow" size=""]所有下载下来的插件，解压后上传到你的博客根目录的 /usr/plugins 目录下，然后后台启用及配置插件[/scode]easywaf—访问层拦截及验证插件插件下载：[hide]插件下载[/hide]有两种验证方式，一个是滑动，一个是技术自动模式看自己喜欢的来，建议打开，不然每十分钟再进去都会弹（被攻击时不建议打开）HoerMouse—鼠标美化插件下载：[hide]插件下载[/hide]按自己喜欢的配置就好

文章添加AI摘要功能
type: item
date: 2025-10-27T08:15:00+00:00
description: AI摘要 文章介绍了如何在Typecho博客中安装和配置AISummary插件，实现文章自动生成摘要功能。 此内容根据文章生成，仅用于文章内容的解释与总结 准备工作首先先弄一个大模型的api Key，这边选的是Kimi，因为它送了15块的余额...，平台地址：Moonshot AI 开放平台Github下载AISummary插件，仓库地址：AISummary插件如果仓库打不开，就下载这个：[hide]点击下载[/hide]实现步骤安装把下载好AISummary插件解压，改名为AISummary，将插件文件夹上传至Typecho的/usr/plugins/目录进入Typecho后台 → 插件 → 启用AISummary插件配置模型名：moonshot-v1-auto（Kimi平台的自动选择模型）API KEY：你的Kimi API密钥（形如sk-xxxxxx）API 地址：https://api.moonshot.cn（注意不需要添加/v1）提示词的话有两种，看自己选择提示词1（详细版，耗钱一点） ：你的任务是生成文章的摘要。请你根据以下文章内容生成150字内的摘要，除了你生成的的摘要内容，请不要输出其他任何无关内容。摘要最大长度：160（建议留点空间）提示词2 （简略版，省钱一点）：你的任务是根据以下文章内容生成一句不超过50个字的简短摘要，只需概括文章主题或核心内容，不要包含具体步骤、教程过程、示例、链接或多余说明。除了摘要外，不要输出任何其他内容。摘要最大长度：60（建议留点空间）是否替换默认摘要：替换文章修改时更新摘要：启用正文摘要显示样式：使用自定义样式自定义样式 正文摘要前后固定文字 <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M3 10a4 4 0 0 1 4 -4h10a4 4 0 0 1 4 4v6a4 4 0 0 1 -4 4h-10a4 4 0 0 1 -4 -4v-6z" ></path> <path d="M8 3l2 3" ></path> <path d="M16 3l-2 3" ></path> <path d="M9 13v-2" ></path> <path d="M15 11v2" ></path> AI摘要 {{text}} 此内容根据文章生成，仅用于文章内容的解释与总结 存储字段名称：summary使用配置完成后，就可以使用了首先进入管理-摘要-管理Ai摘要使用要点：在插件配置好启用后，以前的文章是不会自动生成摘要的，需要在摘要管理里面手动生成，或者进入编辑文章后发布文章自动生成新文章只要发布就会自动生成摘要在摘要管理里面不要一下子手动生成太多的摘要，会导致后台卡死在配置里面的文章修改时更新摘要选择启用时，文章每次修改提交都会刷新摘要生成摘要后，刷新一下网站进入对应文章就可以看到了~，示例图如下：

博客信息添加在线人数
type: item
date: 2025-10-27T03:57:00+00:00
description: AI摘要 如何在博客侧边栏添加在线人数统计功能。 此内容根据文章生成，仅用于文章内容的解释与总结 效果预览位置在侧边栏的博客信息里面，效果图如下：实现步骤添加统计函数，在/usr/themes/handsome/functions.php文件的末尾添加/** * 在线人数统计函数 */ function online_users() { // 基本配置参数 $filename = 'online.txt'; // 数据文件路径，默认在网站根目录 $cookiename = 'Typecho_Online'; // Cookie名称，用于标识访客 $onlinetime = 30; // 在线有效时间（秒），超过此时间未活动则视为离线 // 读取在线用户数据文件 $online = file_exists($filename) ? file($filename) : array(); $nowtime = $_SERVER['REQUEST_TIME']; $nowonline = array(); // 清理过期的在线记录 foreach($online as $line) { $row = explode('|', $line); $sesstime = trim($row[1]); // 仅保留有效期内的记录 if(($nowtime - $sesstime) <= $onlinetime) { $nowonline[$row[0]] = $sesstime; } } // 处理当前访客的Cookie if(isset($_COOKIE[$cookiename])) { // 已有Cookie，获取访客ID $uid = $_COOKIE[$cookiename]; } else { // 无Cookie，生成新的唯一访客ID $vid = 0; do { $vid++; $uid = 'U'.$vid; } while(array_key_exists($uid, $nowonline)); // 设置Cookie，默认会话期有效 setcookie($cookiename, $uid); } // 更新当前访客的在线时间 $nowonline[$uid] = $nowtime; // 计算在线总人数 $total_online = count($nowonline); // 将更新后的数据写回文件 if($fp = @fopen($filename, 'w')) { if(flock($fp, LOCK_EX)) { // 获取独占锁 rewind($fp); foreach($nowonline as $fuid => $ftime) { $fline = $fuid.'|'.$ftime."\n"; @fputs($fp, $fline); } flock($fp, LOCK_UN); // 释放锁 } fclose($fp); } return $total_online; }在博客信息显示，在/usr/themes/handsome/component/sidebar.php文件中添加 <?php echo online_users() ?> <?php _me("在线人数") ?> 最后刷新一下网站就可以看到了~

评论增加表情包类别
type: item
date: 2025-10-24T09:55:00+00:00
description: AI摘要 博客增加表情包功能，提供QQ、抖音、哔哩哔哩、滑稽和微博等表情包类别，并附有详细配置源码和安装步骤。 此内容根据文章生成，仅用于文章内容的解释与总结 引言最近感觉博客有点单调，所以增加了一些喜欢的东西在里面配置表情包配置源码：[collapse status="false" title="QQ" color="block"]"QQ": { "name": "QQ", "type": "image", "container": [ { "icon": "aini", "text": "爱你" }, { "icon": "aixin", "text": "爱心" }, { "icon": "aoman", "text": "傲慢" }, { "icon": "baiyan", "text": "白眼" }, { "icon": "bangbangtang", "text": "棒棒糖" }, { "icon": "baojin", "text": "生气" }, { "icon": "baoquan", "text": "抱拳" }, { "icon": "bishi", "text": "鄙视" }, { "icon": "bizui", "text": "闭嘴" }, { "icon": "cahan", "text": "擦汗" }, { "icon": "caidao", "text": "菜刀" }, { "icon": "chi", "text": "吃" }, { "icon": "ciya", "text": "呲牙" }, { "icon": "dabing", "text": "大兵" }, { "icon": "daku", "text": "大哭" }, { "icon": "dan", "text": "蛋" }, { "icon": "deyi", "text": "得意" }, { "icon": "doge", "text": "doge" }, { "icon": "fadai", "text": "发呆" }, { "icon": "fanu", "text": "发怒" }, { "icon": "fendou", "text": "奋斗" }, { "icon": "ganga", "text": "尴尬" }, { "icon": "ganga", "text": "尴尬" }, { "icon": "gouyin", "text": "勾引" }, { "icon": "guzhang", "text": "鼓掌" }, { "icon": "haixiu", "text": "害羞" }, { "icon": "hanxiao", "text": "憨笑" }, { "icon": "haobang", "text": "好棒" }, { "icon": "haqian", "text": "哈欠" }, { "icon": "hecai", "text": "喝彩" }, { "icon": "hexie", "text": "河蟹" }, { "icon": "huaixiao", "text": "坏笑" }, { "icon": "jie", "text": "饥饿" }, { "icon": "jingkong", "text": "惊恐" }, { "icon": "jingxi", "text": "惊喜" }, { "icon": "jingya", "text": "惊讶" }, { "icon": "juhua", "text": "菊花" }, { "icon": "keai", "text": "可爱" }, { "icon": "kelian", "text": "可怜" }, { "icon": "koubi", "text": "抠鼻" }, { "icon": "ku", "text": "酷" }, { "icon": "kuaikule", "text": "快哭了" }, { "icon": "kulou", "text": "骷髅" }, { "icon": "kun", "text": "困" }, { "icon": "lanqiu", "text": "篮球" }, { "icon": "leiben", "text": "泪奔" }, { "icon": "lenghan", "text": "冷汗" }, { "icon": "liuhan", "text": "流汗" }, { "icon": "liulei", "text": "流泪" }, { "icon": "nanguo", "text": "难过" }, { "i…

分享一个在d2admin项目中强制https的方法
type: item
date: 2025-10-23T03:16:00+00:00
description: AI摘要 在d2admin项目中通过添加Content-Security-Policy元标签实现强制HTTPS调用。 此内容根据文章生成，仅用于文章内容的解释与总结 现在是跟随env文件配置的http来调用的在public目录下的index.html文件增加这句 添加完成后，再次调用可以看到已经转为https调用了