mirror of
https://github.com/AstrBotDevs/AstrBot
synced 2026-07-16 01:40:15 +08:00
1.8 KiB
1.8 KiB
AstrBot 开发任务
当前最高优先级
1. 修复 anyio 违规 (P0)
问题: 代码使用 asyncio 但 openspec 要求使用 anyio
需要修改的文件:
astrbot/_internal/runtime/orchestrator.py:asyncio.sleep→anyio.sleepasyncio.CancelledError→anyio.CancelledError
astrbot/_internal/protocols/mcp/client.py:asyncio.Lock→anyio.Lock
astrbot/_internal/protocols/abp/client.py:asyncio.Future→anyio.Future
2. 实现 ABP 协议完整功能 (P0)
ABP (AstrBot Protocol) 是最终目标
已完成:
- ABPClient 基础实现
- star 注册/注销
- call_star_tool 调用
待完成:
- ABP 服务端实现
- 完整的协议序列化
- 错误处理和重连机制
3. 测试覆盖提升 (P1)
当前测试: 81 passed, 3 failed (anyio 违规)
目标:
- 增加 _internal 模块测试覆盖率
- 修复 anyio 违规测试
- 添加协议集成测试
4. 类型标注完善 (P1)
执行: uvx ty check astrbot/_internal/
当前问题:
- 避免使用 Any
- 避免使用 cast
- 完善 return type annotations
进行中的任务
迁移现有功能到 _internal
状态: 部分完成
已迁移:
- MCP client →
astrbot/_internal/protocols/mcp/ - ABP client →
astrbot/_internal/protocols/abp/ - ACP client →
astrbot/_internal/protocols/acp/ - LSP client →
astrbot/_internal/protocols/lsp/ - Tools →
astrbot/_internal/tools/
待迁移:
- 完整的 star 系统
- Gateway 服务端
- Orchestrator 核心
技术债务
-
测试:
tests/test_dashboard.py::test_auth_login失败- 错误:
AttributeError: 'FuncCall' object has no attribute 'register_internal_tools' - 需要在 FuncCall 添加 register_internal_tools 方法或修复引用
- 错误:
-
代码风格: ruff ASYNC110 警告
- orchestrator run_loop 使用 asyncio.sleep 而非 anyio