@@ -4,15 +4,15 @@ | |||
## 插件配置 | |||
将 `plugins/linkai` 目录下的 `config.json.template` 配置模板复制为最终生效的 `config.json`: | |||
将 `plugins/linkai` 目录下的 `config.json.template` 配置模板复制为最终生效的 `config.json`。 (如果未配置则会默认使用`config.json.template`模板中配置,功能默认关闭,可通过指令进行开启)。 | |||
以下是配置项说明: | |||
```bash | |||
{ | |||
"group_app_map": { # 群聊 和 应用编码 的映射关系 | |||
"测试群1": "default", # 表示在名称为 "测试群1" 的群聊中将使用app_code 为 default 的应用 | |||
"测试群2": "Kv2fXJcH" | |||
"测试群名称1": "default", # 表示在名称为 "测试群名称1" 的群聊中将使用app_code 为 default 的应用 | |||
"测试群名称2": "Kv2fXJcH" | |||
}, | |||
"midjourney": { | |||
"enabled": true, # midjourney 绘画开关 | |||
@@ -51,6 +51,8 @@ | |||
### 2.Midjourney绘画功能 | |||
若未配置 `plugins/linkai/config.json`,默认会关闭画图功能,直接使用 `$mj open` 可基于默认配置直接使用mj画图。 | |||
指令格式: | |||
``` | |||
@@ -69,7 +71,9 @@ | |||
"$mjr 11055927171882" | |||
``` | |||
注: | |||
1. 开启 `use_image_create_prefix` 配置后可直接复用全局画图触发词,以"画"开头便可以生成图片。 | |||
2. 提示词内容中包含敏感词或者参数格式错误可能导致绘画失败,生成失败不消耗积分 | |||
3. 使用 `$mj open` 和 `$mj close` 指令可以快速打开和关闭绘图功能 | |||
注意事项: | |||
1. 使用 `$mj open` 和 `$mj close` 指令可以快速打开和关闭绘图功能 | |||
2. 海外环境部署请将 `img_proxy` 设置为 `False` | |||
3. 开启 `use_image_create_prefix` 配置后可直接复用全局画图触发词,以"画"开头便可以生成图片。 | |||
4. 提示词内容中包含敏感词或者参数格式错误可能导致绘画失败,生成失败不消耗积分 | |||
5. 若未收到图片可能有两种可能,一种是收到了图片但微信发送失败,可以在后台日志查看有没有获取到图片url,一般原因是受到了wx限制,可以稍后重试或更换账号尝试;另一种情况是图片提示词存在疑似违规,mj不会直接提示错误但会在画图后删掉原图导致程序无法获取,这种情况不消耗积分。 |
@@ -1,7 +1,7 @@ | |||
{ | |||
"group_app_map": { | |||
"测试群1": "default", | |||
"测试群2": "Kv2fXJcH" | |||
"测试群名1": "default", | |||
"测试群名2": "Kv2fXJcH" | |||
}, | |||
"midjourney": { | |||
"enabled": true, | |||
@@ -18,6 +18,9 @@ class LinkAI(Plugin): | |||
super().__init__() | |||
self.handlers[Event.ON_HANDLE_CONTEXT] = self.on_handle_context | |||
self.config = super().load_config() | |||
if not self.config: | |||
# 未加载到配置,使用模板中的配置 | |||
self.config = self._load_config_template() | |||
if self.config: | |||
self.mj_bot = MJBot(self.config.get("midjourney")) | |||
logger.info("[LinkAI] inited") | |||
@@ -70,7 +73,7 @@ class LinkAI(Plugin): | |||
is_open = False | |||
conf()["use_linkai"] = is_open | |||
bridge.Bridge().reset_bot() | |||
_set_reply_text(f"知识库功能已{tips_text}", e_context, level=ReplyType.INFO) | |||
_set_reply_text(f"LinkAI对话功能{tips_text}", e_context, level=ReplyType.INFO) | |||
return | |||
if len(cmd) == 3 and cmd[1] == "app": | |||
@@ -139,6 +142,17 @@ class LinkAI(Plugin): | |||
help_text += f"\n\"{trigger_prefix}mjv 11055927171882 2\"\n\"{trigger_prefix}mjr 11055927171882\"" | |||
return help_text | |||
def _load_config_template(self): | |||
logger.debug("No LinkAI plugin config.json, use plugins/linkai/config.json.template") | |||
try: | |||
plugin_config_path = os.path.join(self.path, "config.json.template") | |||
if os.path.exists(plugin_config_path): | |||
with open(plugin_config_path, "r", encoding="utf-8") as f: | |||
plugin_conf = json.load(f) | |||
plugin_conf["midjourney"]["enabled"] = False | |||
return plugin_conf | |||
except Exception as e: | |||
logger.exception(e) | |||
# 静态方法 | |||
def _is_admin(e_context: EventContext) -> bool: | |||
@@ -15,8 +15,8 @@ class Plugin: | |||
""" | |||
# 优先获取 plugins/config.json 中的全局配置 | |||
plugin_conf = pconf(self.name) | |||
if not plugin_conf or not conf().get("use_global_plugin_config"): | |||
# 全局配置不存在 或者 未开启全局配置开关,则获取插件目录下的配置 | |||
if not plugin_conf: | |||
# 全局配置不存在,则获取插件目录下的配置 | |||
plugin_config_path = os.path.join(self.path, "config.json") | |||
if os.path.exists(plugin_config_path): | |||
with open(plugin_config_path, "r", encoding="utf-8") as f: | |||