跳到正文

大肥鱼开发交流群

QQ 群二维码

用手机 QQ 扫码加入

群号 1044394495
打开 QQ 加入
目录

Python SDK

已经封装好 API,并带有缓存、人设切换和给大模型用的工具。支持 Python 3.10 及以上。

开始使用

安装后把 Key 保存到本机,代码里就不用再写它了。没有 Key 时只有热门的 20 个梗和 10 个人物,第一次调用 client.turn() 时返回的 notice 会提醒去哪里拿 Key。不想没有 Key 时也玩梗,用 GengWiki(guest_memes=False),只保留这条提醒。

pip install gengwiki
gengwiki keys add 我的Key   # 粘贴时不显示,也不会留在命令历史里
gengwiki status            # 查看当前 Key、人设和额度
from gengwiki import GengWiki

client = GengWiki()

client.search_memes("躺平")
client.meme("躺平").body
client.persona().as_message()   # {"role": "system", "content": "..."}

还能做什么

切换人设

按标题或 id 切换,没有绑定它的 Key 时,登录后会自动创建一个

client.use_persona("温柔姐姐")

给大模型用的工具

生成 OpenAI、DeepSeek 和 Claude 的工具定义,并用 client.tools.run 执行模型的调用

client.tools.openai()

工具用法

生成查梗和发表情的步骤和 Key 关联的人物,放在人设后面,人设只要写性格和说话方式

client.tools.guide()

人物

查询特定人物,client.people() 查询全部,client.linked_people() 只看 Key 关联的

client.person("鲁迅")

主动玩梗

生成一段放进提示词的梗,模型不用等提问也能接梗

client.meme_prompt(用户的话)

订阅标签

模型也会用上这个标签的前 5 名,已经绑定在 Key 上的梗不会重复,client.unsubscribe 退订,client.tags() 列出全部标签

client.subscribe("游戏")

搜索订阅的梗

除了 Key 范围内的梗,还会搜订阅标签的前 5 名和热门榜,它们只有释义和使用场景,search_memes 工具用的就是它

client.find_memes("游戏")

添加自己的内容

也有 add_sticker、add_persona 和 add_person,只有自己的 Key 能用,不用审核,remove_word 这些用来删除

client.add_word("名字", "解释")

离线和命令行

下载全部内容供离线使用,搜索、切换人设和管理 Key 也都有命令

gengwiki sync --images

完整说明 示例代码 PyPI

人物和语录

Key 关联的人物会随 client.tools.guide() 和插件自动进入提示词。人物有语录时,用下面四种用法之一决定模型怎么对待语录

不使用off

提示词和工具结果都不带语录,模型只知道这个人是谁

引用cite

SDK 默认。贴切时照抄原话并说明是谁说的

直接使用use

语境合适时整条回复只发一句语录原话,不加其他文字,用户问起出处时如实说

引用和使用both

AstrBot 插件默认。两种都可以,优先只发语录原话

client = GengWiki(quotes="both")   # off、cite、use、both,默认 cite
system = f"{client.persona().prompt}\n\n{client.tools.guide()}"

提示词里每个人物放简介开头 200 字和前 8 句语录,其余的模型用 search_people 和 get_person 工具查。AstrBot 插件在配置项 quote_mode 里选,聊天里发送 /语录 或 /语录 名字 可以随机抽一句

继续看 API

任何语言都能调用的 HTTP 接口,返回 JSON