经 AI Skill Hub 精选评估,TwipsyBot 获评「强烈推荐」。这款AI工具在功能完整性、社区活跃度和易用性方面表现出色,AI 评分 8.0 分,适合有一定技术背景的用户使用。
AI驱动的Misskey机器人,支持OpenAI兼容LLM
TwipsyBot 是一款基于 Python 开发的开源工具,专注于 ai、bot、llm 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。
AI驱动的Misskey机器人,支持OpenAI兼容LLM
TwipsyBot 是一款基于 Python 开发的开源工具,专注于 ai、bot、llm 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。
# 方式一:pip 安装(推荐)
pip install twipsybot
# 方式二:虚拟环境安装(推荐生产环境)
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install twipsybot
# 方式三:从源码安装(获取最新功能)
git clone https://github.com/oreeke/twipsybot
cd twipsybot
pip install -e .
# 验证安装
python -c "import twipsybot; print('安装成功')"
# 命令行使用
twipsybot --help
# 基本用法
twipsybot input_file -o output_file
# Python 代码中调用
import twipsybot
# 示例
result = twipsybot.process("input")
print(result)
# twipsybot 配置文件示例(config.yml) app: name: "twipsybot" debug: false log_level: "INFO" # 运行时指定配置文件 twipsybot --config config.yml # 或通过环境变量配置 export TWIPSYBOT_API_KEY="your-key" export TWIPSYBOT_OUTPUT_DIR="./output"
一只 Python 实现的 Misskey 机器人<br><br> 正运行在:oreeke.com/@ai
<a href="https://www.python.org/downloads"> <img alt="python 3.11+" src="https://img.shields.io/badge/python-3.11+-4775b1.svg?style=for-the-badge&labelColor=303030&logo=python&logoColor=4775b1"></a> <a href="https://github.com/misskey-dev/misskey"> <img alt="misskey 2025+" src="https://img.shields.io/badge/misskey-2025+-acea31.svg?style=for-the-badge&labelColor=303030&logo=misskey&logoColor=acea31"></a> <a href="./LICENSE"> <img alt="license" src="https://img.shields.io/badge/license-AGPL--3.0-603669.svg?style=for-the-badge&labelColor=303030&logo=gnu&logoColor=ffffff"></a>
</div>
a 手动安装- 复制 config.yaml.example 为 config.yaml 并修改配置 <details> <summary><kbd>📃 config.yaml</kbd></summary>
misskey:
instance_url: "https://misskey.example.com" # Misskey 实例 URL(本地:http://localhost:port)
access_token: "your_access_token_here" # Misskey 访问令牌
openai:
api_key: "your_api_key_here" # OpenAI API 密钥
model: "deepseek-chat" # 使用的模型名称
api_base: "https://api.deepseek.com/v1" # OpenAI API 端点
api_mode: "auto" # auto/chat/responses
max_tokens: 1000 # 最大生成 token 数
temperature: 0.8 # 温度参数
bot:
system_prompt: | # 系统提示词(支持文件导入:"prompts/*.txt")
你是一个可爱的AI助手,运行在Misskey平台上。
请用简短、友好的方式发帖和回答问题。
timeline:
enabled: false # 是否订阅时间线
home: false # homeTimeline
local: false # localTimeline
hybrid: false # hybridTimeline
global: false # globalTimeline
antenna_ids: [] # antenna ID 或名称(逗号/空格分隔)
auto_post:
enabled: true # 是否启用自动发帖
interval_minutes: 180 # 发帖间隔(分钟)
max_posts_per_day: 8 # 每日最大发帖数量(凌晨 0 点重置计数器)
visibility: "public" # 发帖可见性(public/home/followers)
local_only: false # 是否禁用联合(仅本地可见)
prompt: | # 发帖提示词
生成一篇有趣、有见解的社交媒体帖子。
response:
mention: true # 是否响应提及(@)
chat: true # 是否响应聊天
chat_memory: 10 # 聊天上下文记忆长度(条)
rate_limit: -1 # 回复速率限制:同一用户回复最小间隔;-1 不限制;30s/5m/1h
rate_limit_reply: "我需要休息一下..." # 速率限制回复文案
max_turns: -1 # 回复次数限制:同一用户最多对话轮数(机器人回复次数);-1 不限制
max_turns_reply: "我要回家了..." # 次数限制回复文案
max_turns_release: -1 # 次数限制解除时间:超限后多久解除;-1 不解除;30s/5m/1h
whitelist: # 白名单:username@host/userId,这些用户不受以上限制
- "admin@example.com"
- "user-id-123"
blacklist: # 黑名单:username@host/userId,这些用户禁止使用回复
- "admin@example.com"
- "user-id-123"
db:
path: "data/twipsybot.db" # SQLite 路径
clear: 30 # SQLite 数据保留天数(不含插件);-1 不清理
log:
level: "INFO" # 日志级别 (DEBUG/INFO/WARNING/ERROR)
dump_events: false # 是否输出事件原始数据(DEBUG) </details>
pip install -e .
twipsybot up # 启动
twipsybot status # 状态
twipsybot down # 关闭
twipsybot restart # 重启
twipsybot help # 帮助
作为服务(可选)
<details> <summary><kbd>📃 twipsybot.service</kbd></summary>
[Unit]
Description=TwipsyBot Service
After=network.target
[Service]
Type=exec
WorkingDirectory=/path/to/twipsybot
ExecStart=/path/to/envs/twipsybot/bin/twipsybot up
KillMode=control-group
TimeoutStopSec=5
Environment=TWIPSYBOT_UP_MODE=foreground \
PYTHONUNBUFFERED=1 \
PYTHONIOENCODING=utf-8
[Install]
WantedBy=multi-user.target </details>
systemctl daemon-reload
systemctl start twipsybot.service
b Docker Compose- 修改 docker-compose.yaml 中的环境变量 <details> <summary><kbd>📃 docker-compose.yaml</kbd></summary>
MISSKEY_INSTANCE_URL=https://misskey.example.com # Misskey 实例 URL(本地:http://localhost:port)
MISSKEY_ACCESS_TOKEN=your_access_token_here # Misskey 访问令牌
OPENAI_API_KEY=your_api_key_here # OpenAI API 密钥
OPENAI_MODEL=deepseek-chat # 使用的模型名称
OPENAI_API_BASE=https://api.deepseek.com/v1 # OpenAI API 端点
OPENAI_API_MODE=auto # auto/chat/responses
OPENAI_MAX_TOKENS=1000 # OpenAI 最大生成 token 数
OPENAI_TEMPERATURE=0.8 # OpenAI 温度参数
BOT_SYSTEM_PROMPT=你是一个可爱的AI助手... # 系统提示词(支持文件导入:"prompts/*.txt")
BOT_AUTO_POST_ENABLED=true # 是否启用自动发帖
BOT_AUTO_POST_INTERVAL=180 # 发帖间隔(分钟)
BOT_AUTO_POST_MAX_PER_DAY=8 # 每日最大发帖数量(凌晨 0 点重置计数器)
BOT_AUTO_POST_VISIBILITY=public # 发帖可见性(public/home/followers)
BOT_AUTO_POST_LOCAL_ONLY=false # 是否禁用联合(仅本地可见)
BOT_AUTO_POST_PROMPT=生成一篇有趣、有见解的社交媒体帖子。 # 发帖提示词
BOT_RESPONSE_MENTION=true # 是否响应提及(@)
BOT_RESPONSE_CHAT=true # 是否响应聊天
BOT_RESPONSE_CHAT_MEMORY=10 # 聊天上下文记忆长度(条)
BOT_RESPONSE_RATE_LIMIT=-1 # 回复速率限制:同一用户回复最小间隔;-1 不限制;30s/5m/1h
BOT_RESPONSE_RATE_LIMIT_REPLY=我需要休息一下... # 速率限制回复文案
BOT_RESPONSE_MAX_TURNS=-1 # 回复次数限制:同一用户最多对话轮数(机器人回复次数);-1 不限制
BOT_RESPONSE_MAX_TURNS_REPLY=我要回家了... # 次数限制回复文案
BOT_RESPONSE_MAX_TURNS_RELEASE=-1 # 次数限制解除时间:超限后多久解除;-1 不解除;30s/5m/1h
BOT_RESPONSE_WHITELIST= # 白名单:username@host/userId,这些用户不受以上限制
BOT_RESPONSE_BLACKLIST= # 黑名单:username@host/userId,这些用户禁止使用回复
BOT_TIMELINE_ENABLED=false # 是否订阅时间线
BOT_TIMELINE_HOME=false # homeTimeline
BOT_TIMELINE_LOCAL=false # localTimeline
BOT_TIMELINE_HYBRID=false # hybridTimeline
BOT_TIMELINE_GLOBAL=false # globalTimeline
BOT_TIMELINE_ANTENNA_IDS= # antenna ID 或名称(逗号/空格分隔)
DB_PATH=data/twipsybot.db # SQLite 路径
DB_CLEAR=30 # SQLite 数据保留天数(不含插件);-1 不清理
LOG_LEVEL=INFO # 日志级别 (DEBUG/INFO/WARNING/ERROR)
LOG_DUMP_EVENTS=false # 是否输出事件原始数据(DEBUG) </details>
docker compose build
docker compose up -d
[!TIP] - 自动发帖会尽量绕过 Prompt caching,想让帖子更多样化请配置并启用 Topics - 切换模型仅需修改api_keymodelapi_base,相同api_base的模型可通过 Cmd 实时切换 - 机器人使用 Radar +antenna时间线接收帖子,非必要无需订阅其他时间线(日志噪音大)
[!NOTE] - 请遵守联邦规则,启用机器人账号并在实例内部测试功能,避免设置不当影响其他实例 - db.clear 会重置对用户的回复限制,手动删除数据库文件会丢失 Cmd 设置的黑白名单
| 提供商 | 兼容性 | 多模态 |
|---|---|---|
| [OpenAI](https://platform.openai.com/docs/quickstart) | ✅ | 📝 👁️ |
| [DeepSeek](https://api-docs.deepseek.com/) | ✅ | 📝 |
| [xAI](https://docs.x.ai/developers/api-reference) | ✅ | 📝 👁️ |
| [Gemini](https://ai.google.dev/gemini-api/docs/openai) | ✅ | 📝 👁️ |
| [Claude](https://platform.claude.com/docs/en/api/openai-sdk) | ✅ | 📝 👁️ |
| [Ollama](https://ollama.com/blog/openai-compatibility) | ✅ | 📝 👁️ |
| [Perplexity](https://docs.perplexity.ai/docs/agentic-research/openai-compatibility) | ✅ | 📝 👁️ |
| 插件 | 功能描述 |
|---|---|
| [Cmd](./plugins/cmd) | 在聊天中使用 ^ 开头的命令管理机器人 |
| [KeyAct](./plugins/keyact) | 匹配自定义关键词直接回复,绕过 AI |
| [Radar](./plugins/radar) | 与天线推送的帖子互动(反应、回复、转发、引用) |
| [Topics](./plugins/topics) | 为自动发帖提供内容源(TXT / RSS) |
| [Vision](./plugins/vision) | 识别提及(@)或聊天中的图片并回复 |
| [Weather](./plugins/weather) | 查询指定城市的天气信息 |
高质量的AI驱动机器人,支持多种LLM
该工具使用 AGPL-3.0 协议,商用场景请仔细阅读协议条款,必要时咨询法律意见。
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
⚠️ AGPL 3.0 — 最严格的 Copyleft,网络服务端使用也需开源,SaaS 使用受限。
AI Skill Hub 点评:TwipsyBot 的核心功能完整,质量优秀。对于AI 技术爱好者来说,这是一个值得纳入个人工具库的选择。建议先在非生产环境试用,再逐步推广。
| 原始名称 | twipsybot |
| 原始描述 | 开源AI工具:AI-powered Misskey bot with OpenAI-compatible LLMs.。⭐8 · Python |
| Topics | aibotllmmisskeypython |
| GitHub | https://github.com/oreeke/twipsybot |
| License | AGPL-3.0 |
| 语言 | Python |
收录时间:2026-06-13 · 更新时间:2026-06-13 · License:AGPL-3.0 · AI Skill Hub 不对第三方内容的准确性作法律背书。