Category · 分类浏览

Drupal

vibe writing vibe coding vibe living

菊叔AI助手平台 - DiVoAI项目完整技术分析报告

  1. 项目综述 菊叔AI助手平台是一个基于 Headless CMS(无头内容管理) 架构的综合性教育服务网站。项目集成了留学咨询、高考提分、神经科学研究及学术出版等多元化服务模块。 其核心技术特色在于将企业级 CMS (Drupal) 的数据管理能力与现代前端框架 (Next.js) 的高性能渲染相结合,并深度融合了 Dify AI 引擎,打造了一个不仅具备丰富内容展示,还拥有智能化交互能力的现代化 Web 平台。 2. 核心技术架构 (Tech Stack) 项目采用现代化的 JAMstack 架构模式,实现了前后端分离,确保了系统的高安全性、可扩展性及卓越的用户体验。 2.

vibe writing vibe coding vibe living

先把向量数据库部署起来

先把向量数据库部署起来,选型就先选Milvus,如下为AI生成内容 Milvus 向量数据库介绍 Milvus 是一款开源的、专为大规模向量相似性搜索和分析而设计的向量数据库。它致力于管理海量的非结构化数据,并为其提供高效的检索和分析能力。在人工智能和机器学习应用中,非结构化数据(如图像、视频、音频和文本)通常被转换为高维向量(Embeddings),Milvus 的核心任务就是对这些向量进行存储、索引和搜索。 核心功能与特性 高性能相似性搜索 Milvus 能够在上亿甚至百亿规模的向量数据集中实现毫秒级的相似性搜索。它支持多种常用的相似性度量方法,包括欧氏距离 (L2)、内积 (IP)、杰卡

vibe writing vibe coding vibe living

什么都ai只会害了你

什么都AI只会害了你:构建应用与业务系统时的警示 如下内容为ai生成 人工智能(AI)无疑是当今最具变革性的技术之一。然而,在应用开发和业务系统构建的浪潮中,一种“万物皆可AI”的思维正在蔓延。这种思维认为,任何问题都可以、也应该用AI来解决。这种观点不仅是错误的,更是有害的。在构建稳定、可靠、高效的业务系统时,盲目追求AI,只会带来技术、商业和组织层面的灾难。 技术与架构层面:不必要的复杂性与风险 “黑盒”特性与系统可维护性灾难 许多先进的AI模型,尤其是深度学习模型,本质上是“黑盒”。我们很难精确解释模型为何做出某个特定决策。这与传统软件工程形成了鲜明对比,后者的逻辑是明确、可追溯和可调试

vibe writing vibe coding vibe living

测试一下第二种AI写作implement

  测试一下第二种AI写作implement,就是用ckeditor ai agent 这个module. The goal is to assess its performance, usability, and the quality of the output. 下面这段英文是我用ckeditor AI agent用写的,看起来还需要调教。但是ckeditor ai agent这个实现AI的方式,其实是比较适合写作为中心的运用方式的。  The relationship between the CKEditor AI Agent module and the

vibe writing vibe coding vibe living

为mcp实现多种auth方式

为mcp实现多种auth方式,mcp自带的有token auth,basic auth,另外就是如果drupal配置了oauth的mcp会自动适配,不需要单独在配置。 如下handbook为AI撰写 Drupal OAuth2 Server 与 Client 配置指南 为 Drupal 实例配置 OAuth2 服务端 (Server) 与客户端 (Client) 的详细步骤。 配置 OAuth2 Server 此部分说明如何将一个 Drupal 实例配置为 OAuth2 提供商,使其能够颁发访问令牌。 步骤一:安装所需模块 * 使用 Composer 安装 Simple OAuth 模块及其依

vibe writing vibe coding vibe living

先把drupal实例转换为mcp服务器吧

把drupal实例转换为mcp服务器,也就是implement MCP到一个drupal实例。 如下内容为AI撰写,可能有错。我还没有仔细来审阅 将Drupal实例转换为MCP服务器的实施指南 本文档详细描述了将一个标准的Drupal实例配置为任务控制平台(Mission Control Platform, MCP)服务器的步骤、所需模块以及相关注意事项。MCP服务器作为一个中心枢纽,用于集中管理、监控和操作多个Drupal客户端站点。 核心概念 MCP 服务器 (MCP Server) 一个专门配置的Drupal实例,作为中央控制台。它负责接收来自客户端站点的数据,向客户端发送指令,并提供一

vibe writing vibe coding vibe living

1 Drupal的知识库化 RAG—ready Drupal

如下内容全部由AI生成。AI生成的所谓技术栈和一些内容对于当前的drupal 11.2已经有点过时了,不过大部分还是能用的。 Drupal AI 知识库化开发计划:构建 RAG-Ready 企业级知识平台 基于关于Drupal开发的定位一文的探讨,为将 Drupal 平台提升为现代化、智能化的企业核心资产,特制定本开发计划。核心目标是将 Drupal 改造为一个支持检索增强生成(Retrieval-Augmented Generation, RAG)的 AI 知识库。 项目愿景与目标 最终愿景: 将 Drupal 从一个传统的内容管理系统(CMS)转变为一个智能、可交互的企业级知识中枢。该平台

vibe writing vibe coding vibe living

关于DRUPAL开发的定位

感觉drupal这么弹性的框架,可以承载很多种AI时代的开发目标。 最基本的,做一个企业级的知识管理库是完全没有问题的,而且有了这个只是管理库,和各种AI工具的加持,如果再加上工作流和自动化,可以开发出来很多服务。以前只能把它当做一个博客和一个网页内容管理系统,现在感觉完全不同了。 只是可惜感觉php现在性能有些拉胯,而且php-fpm不是基于events的,高了个frankenPHP还是用go和caddy实现,关键是drupal 11还没有官方支持frankenPHP。   如下内容为AI续写 不过,这种对性能的焦虑,或许也从侧面反映出大家对Drupal寄予了更高的期望。它不再仅仅

vibe writing vibe coding vibe living

增加了内容转MD文本格式功能

开发日记:新增内容转Markdown文本格式功能 为了提升内容的便携性和可复用性,本次开发任务旨在为网站增加一项新功能:将已发布的文章内容转换为标准的Markdown文本格式。这使得内容可以轻松地导出到其他平台,或用于本地存档。该功能主要依赖Drupal社区的优秀模块 Markdownify 来实现。 核心模块:Markdownify 本次功能的核心是利用了 Markdownify 这个Drupal模块。该模块提供了一个强大的服务,可以将HTML文本精准地转换为Markdown格式。它底层使用了 `league/html-to-markdown` PHP库,确保了转换的质量和可靠性。 开发实施

珠穆朗玛国家公园-留学专家菊叔

吐槽一下drupal的管理吧!

作为二十年的drupal建站用户与drupal site building expert,从drupal 6开始用起一直到现在,我还是有资格评论一下drupal的。 第一个感觉AI时代drupal落后了。这是第一点。 接着第一点的感觉,就是drupal错失了AI时代,在CMS的架构和内容生成及管理发布投递方面,完全的战略错误了。 这次drupal错过了AI浪潮。但是wordpress就开始利用AI生成来协助小白用户建个人站了。我觉得这次恐怕wordpress要赢了。drupal总是自夸于自己有多少大学,多少政府部门用drupal建站,但是实际上drupal一直在作为CMS还是建站工具之间摇摆不

《学霸修炼手册》的愿景

给nginx启用http3和quic支持

今天给一个linux的app配置的时候发现它提到了一个quic协议和quic协议的样例。 我就好奇这个quic到底是什么东西,但是显然是和网络传输有关系的。 所以就搜了一下,原来是一个tcp/udp复用的协议,然后可以加速网络的加载的。 QUIC(Quick UDP Internet Connections)是一种在传输层运行的网络协议,由Google的工程师在2012年最初开发,旨在提高网络连接的速度和可靠性,以取代当前互联网基础设施中使用的传输控制协议(TCP)。QUIC建立在用户数据报协议(UDP)之上,使用加密和多路复用来提供改进的安全性和更快的数据传输。它允许在单一连接上发送多个数据

drush-bash: drush: command not found

新装的composer和php 8.3 drush随着project的code一起下载的 但是用drush command的时候提示-bash: drush: command not found 明明project里面又安装了drush 13.4 这个时候要做的是一点小修改 在user的目录里,比如我的是root,那就是 /root/.bash_profile 在这个文件里加上: # include the current `vendor/bin` folder (Notice the `.` - This means current directory) PATH="./vendor/bin

《学霸修炼手册》的愿景

redis开启远程连接

redis开启远程服务的操作方法: 1.打开redis的配置文件“redis.conf”。 2.将“bind 127.0.0.1”注释掉。我的操作是增加了监听0.0.0.0 然后定制了端口 3.将“protected-mode yes”改成“protected-mode no”。 4.添加以下一行代码。 daemonize no 重启redis服务 在redis服务器上的防火墙,开放定制的端口,并且限制连入的服务器ip地址,主要是为了安全考虑。

《学霸修炼手册》的愿景

给我的drupal网站装了一个朗读模块

真的很感谢各位做开源软件的朋友。 很可惜的是,总体而言,drupal社区里面的中国人开发的modules都没有什么好用的。 drupal在中国当然,简中范围内建站drupal也没有什么影响力。不说了。  

nextcloud

nextcloud or drupal?

发现drupal在文件分享和管理方面肯定是存在一些问题的。 Drupal不是有一个电子书阅读功能嘛,就是pdf电子书在线阅读,可以做一个电子书的在线阅读,这样也还可以获得一些流量的嘛,毕竟咱不也要为了流量嘛。 但是显然nextcloud是一个文档管理和协作的瑞士军刀啊。 而且nextcloud是有很好的客户端可以使用的。感觉真的是一个非常不错的私有云web管理系统。

vibe writing vibe coding vibe living

关于drupal位于nginx proxy后使用pdf.js出现file origin does not match viewer's的解决方案

主要是由于nginx proxy pass到前端server之后,把https给bypass成了http了,所以,pdf.js获取的pdf文件链接变成了http开头的,本来应该是https开头的。 解决方法: 在server端nginx服务器的conf文件里面添加如下的内容: fastcgi_param HTTPS on; fastcgi_param SCHEME https; 好像第二行不加也行。如果出现了网址跳转无限循环,则把第二行注释掉吧。 参考: https://www.drupal.org/project/metatag/issues/2842049#comment-14131727

vibe writing vibe coding vibe living

caches make your website fly

os:linux backend sever:nginx with fastcgi cache enabled frontend server nginx with proxy cache enabled to varnish frontend port super cache,varnish http cache with backend diferent hostnames to different ports on backend server php:php 7 via php-fpm  database server mariadb with redis  cac

vibe writing vibe coding vibe living

把editor放到了前端 极大地促进了发表量

有天我想,如果把编辑器直接放到了前端,那不就和微博或者facebook或者linkedin的status发布页面一样方便了吗? drupal有个发行版本social做到了那样,但是它把activities都弄进来了,做得比较复杂了。我用了它几次,关键的是它经常升级出错,卸载模组出错,我被搞的实在太烦了,所以就放弃了。 然后我想,我不就是只是需要一个status log的内容类型(content type)和一个在前端某个位置可以用的编辑器区块(block)吗? 当然,开始我想到了是把blog和status分开,status用评论系统(comments)来实现,这个想法非常自然,因为评论的编辑器

vibe writing vibe coding vibe living

如果想发布短文就发布短文

想发布长文就发布长文 而且,做到了在首页就直接可以发布文章 那和微博比起来又什么区别呢? 至少在易用性上,也是没有什么差异了。 不就是把一个内容的input form给exposed到前端的block嘛。 在drupal 7的时代,人们开发了statuses这种模组,用来发布像facebook状态页面的那种特定的内容。 我现在完全都是用的drupal 8的核心,没有太多的模组,主要就是node (确定content type),然后就是一个expose form的模组,就实现了在前端直接发表内容。 而comments本来就是前端的功能。 所以,内容和comments全部都挪到前端可以发表,和f

vibe writing vibe coding vibe living

还是要把以前的旧文恢复与导入一下

虽然之前因为不知道什么抽风,抽什么风,把数据库忘了续费,然后导致有一段日子的新发布的博文就丢失了。 以后不会再出现这样的情况了,就算服务器不续费,也只是不能访问,但是数据库在自己的私有云集群里面,除非这些硬盘都被毁掉了,不然不会导致断档的情况发生的。

vibe writing vibe coding vibe living

如此一来,写作就变得有趣了。

真的很高兴能够用这个技术,面向世界发布我的一些小事记录及小想法。 虽然,机器自动翻译的外文有些不太精确,但是我相信,对于那些母语为相应语言的网友而言,要大致理解我想表达的意思,(如果不是说要求像我的中文原文意思一模一样精准的话,这实际上也是当前机器翻译和人工翻译都不可能达到的目标),还是完全没有问题的。 感谢微软的语言感知技术,感谢drupal,和drupal的自动翻译模块,让写作变得有趣了。

vibe writing vibe coding vibe living

测试一个邮件发blog的服务

如题 题目已定,内容已定,文字将定。   Posted via email from George's posterous ------------ 2025年6月3日 增补 这个posterous服务也挂掉了 Posterous emerged from Y Combinator in the summer of 2008 as an innovative company focused on making blogging simple - as simple as sending an email - and now has more than 15 million month