【伪春菜调查】构造篇

伪春菜,是国内的叫法,其实是开发者黒衣鯖人氏制造的First Ghost 的角色名,后来改称为「伺か」即Ukagaka
伪春菜最早由ls 氏开发,由佐川豊秋氏配布
伪春菜,由平台和人格两部分构成
平台(platform)在不同的操作系统上均有复刻实现:SSP、Materia、CROW(win)、ninix-aya(linux,用ruby开发的,开源)、伪林檎(mac)、何か on 林檎(PPC、PowerPC Macintosh)、Pocket Ghost(PocketPC2002)
人格,由ghost和shell两部分构成,其中ghost中包含shiori和saori
在运行时,背后发生的事情是这样的:
平台使用SSTP向shiori发送Request
shiori接收Request,根据需求查找辞书(dic),将内容翻译成sakura script,使用SSTP传给平台Response
SSTP,全称「Sakura Script Transfer Protcol」
樱花脚本传输通信 <---------这里是重点
下面举个小栗子
我们知道当双击伪春菜时,会弹出菜单(menu),这个背后出发的shiori事件为 OnMouseDoubleClick
可以使用SEED工具发送OnMouseDoubleClick事件做测试

这个过程具体实现如下:
平台(ssp),发送Request,如下
GET SHIORI/3.0
Sender: SSP
Charset: UTF-8
SecurityLevel: local
ID: OnMouseDoubleClick
Reference0: 238
Reference1: 239
Reference2: 0
Reference3: 0
Reference4:
Reference5: 0
shiori返回Response,其中Value就是樱花脚本
SHIORI/3.0 200 OK
Sender: AYA
Charset: UTF-8
Value: \0\b[2]\![sound,stop]\_q\s[0]\![sound,play,voice/吩咐.mp3] 嗯…怎么了?\n\_q\![*]\q[刚才说了什么?,OnLastTalk]\n\n[half]\![*]\q[聊天,AITALK]\_l[120,-]\![*]\q[说笑话,Story]\n\![*]\q[教学,教学] \_l[120,-]\![*]\q[对话,Communicate]\n\![*]\q[快捷,Rjkj]\_l[120,-]\![*]\q[任务,OnMission]\n\![*]\q[闹钟,Alarm]\_l[120,-]\![*]\q[RSS,Autosign]\n\![*]\q[工具,Tool] \_l[120,-]\![*]\q[系统,System]\n\![*]\q[设定,SETTING]\_l[120,-]\![*]\q[关于,ABOUTAYA]\n\n\_l[80,-]\q[取消,CANCEL]\e
书接上回,这也就解释了为什么shiori能有那么多种编程语言实现
能根据辞书查找东东翻译传回樱花语法,任何编程语言都能做到
补充一下:还有一些其他的增强 ,如:SAORI(可看作shiori功能拓展)、MAKOTO(ghost和shell功能拓展,实现根据季节换肤,以内置)、SERIKO(实现动画,已内置)....SSP平台也可以写插件(这个增强方法更简单更好用,用任何编程语言均可开发插件)
番外:这些奇奇怪怪名字的由来(让我们来看看技术宅是怎么给程序起名字的)
SHIORI 来自 「美坂 栞」,其中栞这个字读作SHIORI
SAORI 来自 「観月さおり」(「観月さおり」的姐姐叫「観月しおり」,SHIORI ,所以可以把SAORI 看作SHIORI功能的拓展,从起名时就定好了)
MAKOTO 来自 「沢渡 真琴」
SERIKO 来自 「HMX-13 セリオ」
本文主要参考 https://www.ooyashima.net/db/ukagaka.htm
次回预告:SSTP篇