feat(outlook): 添加Outlook集成功能支持

添加完整的Outlook MCP集成,包括邮件和日历功能,通过AuthZ模式进行认证和权限管理,
支持邮箱连接、断开、状态检查和数据同步等功能。

fix(config): 统一配置文件路径从.nanobot到.beaver

将配置文件路径从/root/.nanobot统一更改为/root/.beaver,更新Dockerfile中的环境变量定义,
确保所有组件使用一致的配置目录结构。

feat(agent): 添加代理删除功能和助手身份提示

为代理注册表添加delete_agent方法,实现代理的动态删除功能;同时添加海狸助手身份提示,
确保AI助手在交互中保持一致的身份认知。

feat(engine): 增强引擎循环并添加意图决策快照

扩展AgentLoop类,添加intent_agent_decision参数用于意图驱动的代理决策,并在会话中记录
决策快照,便于后续分析和调试。

feat(authz): 扩展认证客户端功能

为AuthzClient添加设置权限、用户注册、后端注册和Outlook设置管理等新方法,增强系统
的认证和授权能力。
This commit is contained in:
2026-05-14 16:01:46 +08:00
parent 30ab74ffb2
commit ebfa242862
35 changed files with 3979 additions and 462 deletions

View File

@ -28,7 +28,7 @@ def _normalize_record(record: dict[str, Any]) -> dict[str, Any]:
"image_name",
"public_url",
"instance_root",
"nanobot_home",
"beaver_home",
"config_path",
"auth_users_path",
"network_name",
@ -43,6 +43,8 @@ def _normalize_record(record: dict[str, Any]) -> dict[str, Any]:
"api_base_url",
):
normalized[key] = str(record.get(key, "") or "")
if not normalized["beaver_home"]:
normalized["beaver_home"] = str(record.get("nanobot_home", "") or "")
return normalized
@ -169,7 +171,7 @@ def cmd_upsert(args: argparse.Namespace) -> int:
"host_port": int(args.host_port),
"public_url": args.public_url,
"instance_root": args.instance_root,
"nanobot_home": args.nanobot_home,
"beaver_home": args.beaver_home,
"config_path": args.config_path,
"auth_users_path": args.auth_users_path,
"network_name": args.network_name or "",
@ -285,7 +287,7 @@ def build_parser() -> argparse.ArgumentParser:
upsert_parser.add_argument("--host-port", required=True, type=int)
upsert_parser.add_argument("--public-url", required=True)
upsert_parser.add_argument("--instance-root", required=True)
upsert_parser.add_argument("--nanobot-home", required=True)
upsert_parser.add_argument("--beaver-home", required=True)
upsert_parser.add_argument("--config-path", required=True)
upsert_parser.add_argument("--auth-users-path", required=True)
upsert_parser.add_argument("--network-name", default="")