Anki-Connect 故障排除指南
[插件加载失败]:如何恢复 Anki-Connect 功能?
当 Anki 启动后插件列表中找不到 Anki-Connect,或提示"加载失败"时,可按以下步骤诊断解决:
问题定位
Anki 启动时未加载插件,通常表现为插件管理器中显示"已禁用"状态或完全缺失。
核心原因
- 插件文件损坏或权限不足
- Anki 版本与插件不兼容
- 配置文件格式错误
分层解决方案
🔍 诊断:检查插件目录结构
~/.anki/addons21/anki-connect/
├── __init__.py
├── config.json
└── web.py
操作验证点:确认以上核心文件存在且大小正常(非0字节)
✅ 验证:查看 Anki 日志
- 打开 Anki → 帮助 → 显示调试信息
- 搜索"anki-connect"关键词,查找加载错误信息
🔧 修复:重新安装插件
- 从插件目录删除现有文件:
rm -rf ~/.anki/addons21/anki-connect - 克隆仓库:
git clone https://gitcode.com/gh_mirrors/an/anki-connect ~/.anki/addons21/anki-connect - 重启 Anki 并在插件管理器中启用
✅ 验证:确认插件已加载 在 Anki 主界面 → 工具 → 插件,确认 Anki-Connect 显示"已启用"状态
[!WARNING] 常见误区:直接覆盖安装可能保留损坏的配置文件,建议先完全删除旧版本
[!TIP] 进阶技巧:使用
anki --debug命令启动可获取更详细的插件加载日志
预防措施
- 定期备份
~/.anki/addons21/anki-connect/config.json - 升级 Anki 前先检查插件兼容性公告
- 启用 Anki 的自动更新功能:工具 → 首选项 → 自动更新
[API无响应]:如何恢复 localhost:8765 连接?
当调用 API 接口时出现"连接拒绝"或超时错误,无法与 Anki-Connect 建立通信。
问题定位
使用 curl http://localhost:8765 测试时返回"Connection refused"或长时间无响应。
核心原因
- Anki-Connect 服务未启动
- 端口被占用或防火墙拦截
- 配置文件中的端口设置错误
分层解决方案
🔍 诊断:检查服务状态
- 确认 Anki 已启动且插件已启用
- 检查端口占用:
lsof -i :8765或netstat -tulpn | grep 8765
底层原理:Anki-Connect 使用 HTTP 服务器监听本地端口,默认8765,通过 JSON-RPC 2.0 协议通信
✅ 验证:测试基础连接
# 健康检查请求
curl -X POST http://localhost:8765 -d '{"action": "version", "version": 6}'
操作验证点:应返回包含版本号的 JSON 响应
🔧 修复:配置端口与防火墙
- 修改配置文件
~/.anki/addons21/anki-connect/config.json中的"port"字段 - 添加防火墙例外:
sudo ufw allow 8765/tcp - 重启 Anki 使配置生效
✅ 验证:重新测试 API 连接 使用上述 curl 命令确认返回正常响应
[!WARNING] 常见误区:修改端口后未重启 Anki,导致配置未生效
[!TIP] 进阶技巧:使用
nc -zv localhost 8765快速测试端口连通性
预防措施
- 将常用 API 请求保存为 shell 脚本便于快速测试
- 使用端口扫描工具定期检查服务可用性
- 在配置文件中设置非默认端口时记录到备忘录
[卡片创建失败]:如何确保 API 提交的卡片正确入库?
通过 API 创建卡片后,Anki 收藏夹中未显示新卡片,或提示"模板错误"。
问题定位
API 调用返回成功状态,但实际未创建卡片,或卡片内容显示异常。
核心原因
- 卡片数据结构不符合模板要求
- 字段名称与模型定义不匹配
- 媒体文件引用路径错误
分层解决方案
🔍 诊断:检查 API 请求参数
{
"action": "addNote",
"version": 6,
"params": {
"note": {
"deckName": "默认",
"modelName": "基础",
"fields": {
"正面": "问题内容",
"背面": "答案内容"
},
"tags": ["api-created"]
}
}
}
操作验证点:确认 modelName 和 fields 与 Anki 中的模型定义完全一致
✅ 验证:检查 Anki 模型配置
- 打开 Anki → 工具 → 管理笔记类型
- 选择对应模型,确认字段名称与 API 请求中的 fields 键名完全一致
🔧 修复:调整请求参数
- 修正字段名称拼写错误
- 添加必填字段内容
- 确保 deckName 存在于 Anki 中
✅ 验证:确认卡片创建成功
- 在 Anki 中切换到对应牌组
- 搜索标签
tag:api-created查找新创建的卡片
[!WARNING] 常见误区:使用中文标点符号作为字段名,导致匹配失败
[!TIP] 进阶技巧:先使用 "modelNames" API 获取所有模型名称,确保参数正确
预防措施
- 创建专用 API 测试牌组,避免影响正式卡片
- 实现请求参数验证机制,提前检测错误
- 定期导出模型结构文档,作为 API 开发参考
[批量操作超时]:如何优化大量卡片创建效率?
当一次性创建数百张卡片时,API 响应缓慢或返回超时错误。
问题定位
批量创建卡片时出现"504 Gateway Timeout"或响应时间超过30秒。
核心原因
- 单次请求包含过多卡片
- 卡片包含大型媒体文件
- Anki 数据库写入性能瓶颈
分层解决方案
🔍 诊断:分析请求规模 检查批量请求中的卡片数量,超过50张通常需要优化处理。
底层原理:Anki-Connect 处理每张卡片需进行数据库事务,大量并发操作会导致锁等待
✅ 验证:测试不同批次大小 尝试不同数量的批量请求(10/20/50张),记录响应时间临界点。
🔧 修复:实施分批处理
- 将大批量拆分为20张/批的小请求
- 每批之间添加1-2秒延迟
- 实现请求重试机制处理临时失败
✅ 验证:监控系统资源
使用 top 命令观察 Anki 进程的 CPU 和内存占用,确保在安全范围内
[!WARNING] 常见误区:无限制提高并发请求数量,导致 Anki 进程崩溃
[!TIP] 进阶技巧:使用"createDeck" API 预先创建专用工作牌组,减少数据库锁竞争
预防措施
- 建立请求频率限制机制,避免突发流量
- 非高峰时段执行批量操作
- 定期清理测试卡片,保持数据库优化状态
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
LongCat-AudioDiT-1BLongCat-AudioDiT 是一款基于扩散模型的文本转语音(TTS)模型,代表了当前该领域的最高水平(SOTA),它直接在波形潜空间中进行操作。00- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
HY-Embodied-0.5这是一套专为现实世界具身智能打造的基础模型。该系列模型采用创新的混合Transformer(Mixture-of-Transformers, MoT) 架构,通过潜在令牌实现模态特异性计算,显著提升了细粒度感知能力。Jinja00
FreeSql功能强大的对象关系映射(O/RM)组件,支持 .NET Core 2.1+、.NET Framework 4.0+、Xamarin 以及 AOT。C#00