目录
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人物和语录
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