开始之前请先将你原先在penmods中设置的newbing地址按以下格式写入文件/userdisk/Music/bing-url.json。(记得先删掉bing-url.json中的旧内容)
{
"signature":"signature创建地址",
"chathub":"chathub地址"
}日后如需更换bing的相关地址,在bing-url.json文件中修改即可。
为兼容penmods原有的newbing功能,ydpExt提供两种使用模式。
- 扩展程序模式: 该模式下可以使用扩展程序。
- newbing模式: 该模式下可以像没装
ydpExt之前那样使用newbing。
在两种使用模式间切换,只需在penmods中修改以下地址。
| 名称 | 扩展程序模式 | newbing模式 |
|---|---|---|
| signature创建地址 | http://127.0.0.2:9988 |
http://127.0.0.2:8988 |
| chathub地址 | ws://127.0.0.2:9989 |
ws://127.0.0.2:8989 |
- 安装或更新一个扩展程序只需要将 包含它本体的文件夹(文件夹内应有
index.js文件) 放入/userdisk/youdaoExt/ext或/userdisk/chroot/youdaoExt/ext下即可。 - 卸载一个扩展程序只需要将包含它本体的文件夹从
/userdisk/youdaoExt/ext或/userdisk/chroot/youdaoExt/ext下删除即可。
扩展程序主机支持多任务(对扩展程序而言),其操作逻辑与手机类似。
你可以在bing聊天界面点击左边的设置图标查看服务版本,其内容即是当前处于前台的扩展程序的名称。
扩展程序主机会将 你的输入(你在bing聊天界面输入的内容) 送至处于前台的扩展程序,同时会将 扩展程序的输出(扩展程序对你的输入做出的回复,就是最后要显示在消息框的内容) 送回penmods显示在消息框内。
处于后台的扩展程序并不会 挂起(暂停运行) 或关闭,而会保持继续运行。你的输入不会被送至处于后台的扩展程序,处于后台的扩展程序的输出不会被送回penmods,且它在处于后台的时间内产生的输出将永远不会被送回。
参照下文超级命令。
在扩展程序选择页,你可以选择要启动的或要切换到前台的扩展程序。扩展程序选择页显示在服务版本处的名称是youdaoExt。在退出一个扩展程序或要切换扩展程序时你会来到此页。
只有在有扩展程序处于前台时,你可以在bing聊天界面输入超级命令。
超级命令会被扩展程序主机接收,而其他输入则会被扩展程序接收。
超级命令是只以一个#开头的不含空格的字符串(满足正则表达式/^(#)([a-zA-Z]+)$/g)。
以下是超级命令列表。
#exit: 关闭当前处于前台的扩展程序。#switch: 启动扩展程序或将后台扩展程序切到前台。#memClean: 清理运行内存。(不推荐此种方式,即将弃用)
若要向扩展程序输入以#开头的内容,请重复首字符#,例如: 你想输入###test,则输入####test,最后扩展程序将收到###test。
当扩展程序中出现 未处理的异常(uncaughtException) 和 在Promise中未处理异常(unhandledRejection) 时,扩展程序会自动关闭。在扩展程序事件处理和响应函数中的错误可以立即看到错误提示;但其他的不会有任何立即提示,需要再次向扩展程序输入内容时才可看到提示。为帮助解决问题,你可以在 词典笔的shell(注意不是容器的shell,除非你的容器内安装了telnet) 上telnet到 日志服务器(地址127.0.0.1,端口12345) 后复现错误收集实时日志并反馈至其作者,涉及到的命令如下。
telnet 127.0.0.1 12345打开位于文件夹youdaoExt下的config.json,参照下表按需要以json格式写入内容。
| 名称 | 解释 | 默认值 |
|---|---|---|
logServerAddr |
日志服务器地址 | 127.0.0.1 |
logServerPort |
日志服务器端口 | 12345 |
serverAddr |
扩展程序主机的服务器地址 | 127.0.0.2 |
signatureServerPort |
使用 扩展程序模式 时的signature创建地址的端口 | 9988 |
chathubServerPort |
使用 扩展程序模式 时的chathub地址的端口 | 9989 |
fallbackSignatureServerPort |
使用 newbing模式 时的signature创建地址的端口 | 8988 |
fallbackChathubServerPort |
使用 newbing模式 时的chathub地址的端口 | 8989 |
以下是一个例子。
{
"logServerAddr": "0.0.0.0",
"logServerPort": 3344
}此例子会将日志服务器公开到局域网并修改其端口。最后日志服务器地址为词典笔的局域网ip,端口为3344。
目前只支持API版本的gpt,配置方法参考此处。
具体使用方法同penmods的bing,不多赘述。
特有的命令如下。
##save: 导出当前对话到/userdisk/Music/gpt。##retry: 重新发送你的最后一次输入。##new: 开始新对话。
如需输入以#开头的消息,请参考一下转义示例。
| 想输入的 | 实际要输入的 |
|---|---|
# Title |
### Title |
## Title |
#### Title |
注意:
- 此终端不是一个
tty终端。 - 终端用户是
root,请注意防护。 - 假如你输入
YourInput,此终端实现prompt的原理是向bash的stdin写入YourInput\necho \`whoami\`@\`hostname\`:\`pwd\`#\n,所以例如使用apt install时,请带上-y参数。
配置textweb,请参考此处
消息框右下角的数字含义: 当前Tab的id/最大的Tab's id。
一些特殊Tab(tabId<0):
| id | 名称 | 使用方法 |
|---|---|---|
-1 |
初始页,或者叫主页 | 直接输入url查看对应网站(注意,url需要带协议名称)。 |
-2 |
Tab切换页 | 直接在参考候选选择Tab。 |
在正常tab(tabId>=0)上,你只能 输入对应指令进行相关操作 或 输入以>开头的内容传入由类型为handle的textweb扩展程序处理的网站(比如内置的百度和萌娘百科搜索)。
主页的参考候选中的链接可自定义。
配置文件位于/userdisk/Music/textweb/sites.json(若文件不存在请自行创建),其格式如下:
{
"sites": ["链接1", "链接2", "链接3"]
}在网页上的链接通常会被标为蓝色且有这种格式: 链接名称[链接id]。
直接输入链接id会在新tab打开对应链接。
在网页上的图片通常有这种格式: 图片本体[p数字]。
直接输入方括号内内容会在独立图片查看器中打开对应图片。
以下是命令列表:
info: 查看当前tab的标题和链接。show: 重新展示当前tab。save: 离线页面至/userdisk/Music/textweb/offline。refresh: 重新加载当前tab。close: 关闭当前tab。open 链接: 在新tab中打开链接(你输入的链接)。switch: 进入Tab切换页。
为特定网站加载cookie(常用于对抗反爬虫机制)。
cookie文件请放在/userdisk/Music/textweb/cookie下,参考以下格式:
{
"cookie": "你提取的cookie",
"banSite": []
}关于cookie文件的命名,参考以下例子:
当为网站www.github.com加载cookie时,会依次读取以下cookie文件并合成最终cookie:
www.github.com.jsongithub.com.jsoncom.json
现在你应该知道如何命名cookie文件了。
假如现在你不想让docs.github.com加载cookie文件github.com.json,则在github.com.json中的banSite添加元素docs.github.com,现在你应该知道banSite的作用了。
| 名称 | 支持的 |
|---|---|
| 协议 | http,https |
content-encoding |
br,gzip,deflate,不压缩 |
| 网页编码格式 | utf-8 |
| 请求方法 | GET |
| http版本 | 1.1 |
connection |
closed,keep-alive |
重定向statusCode |
301,302,307,308 |
分为config、hook和handle三种。