feat(outlook): 添加 Outlook MCP 集成支持并优化分页功能
- 新增 NANO_OUTLOOK_MCP_URL 和 NANO_OUTLOOK_MCP_SERVER_ID 环境变量配置 - 实现 Outlook 邮件和日历的分页查询功能,添加安全参数验证 - 为 app-instance 创建脚本添加 Outlook MCP 服务器 ID 参数 - 更新前端 Outlook 页面实现邮件列表和日历事件的分页浏览 - 添加 Git 忽略文件配置和 Docker 挂载路径修复 BREAKING CHANGE: Outlook 集成现在需要配置 MCP URL 和服务器 ID 环境变量
This commit is contained in:
@ -18,6 +18,8 @@
|
||||
- `DEPLOY_CONTROL_API_TOKEN`
|
||||
- `APP_INSTANCE_API_KEY`
|
||||
- `DEFAULT_AUTHZ_BASE_URL`
|
||||
- `DEFAULT_AUTHZ_OUTLOOK_MCP_URL`
|
||||
- `DEFAULT_OUTLOOK_MCP_SERVER_ID`
|
||||
- `DEPLOY_PUBLIC_BASE_DOMAIN`
|
||||
- `DEPLOY_PUBLIC_PORT`
|
||||
- `DEPLOY_PUBLIC_SCHEME`
|
||||
@ -35,6 +37,15 @@ http://<instance-slug>.127.0.0.1.nip.io:8088
|
||||
|
||||
实例容器本身的 `20000-29999` 端口默认只绑定到部署机 `127.0.0.1`,外部入口应走 `router-proxy`。
|
||||
|
||||
如果你希望所有新实例默认带 Outlook MCP HTTP 工具,可以设置:
|
||||
|
||||
```bash
|
||||
DEFAULT_AUTHZ_OUTLOOK_MCP_URL=http://10.6.80.29:8000/mcp
|
||||
DEFAULT_OUTLOOK_MCP_SERVER_ID=outlook_mcp
|
||||
```
|
||||
|
||||
这样 `deploy-control` 创建的新实例会自动写入一条默认 MCP server 配置,并默认使用 `oauth_backend_token` + `mcp:<server_id>` 的 audience。
|
||||
|
||||
## 本机启动
|
||||
|
||||
```bash
|
||||
@ -51,3 +62,30 @@ uv run server.py
|
||||
- `/home/ivan/xuan/nano_project/router-proxy`
|
||||
|
||||
并传入对应环境变量,让容器内脚本路径仍能访问这两个目录。
|
||||
|
||||
关键点:
|
||||
|
||||
- 宿主机路径要原样挂进容器,不要改挂载目标路径
|
||||
- 同时显式传 `APP_INSTANCE_DIR` 和 `ROUTER_PROXY_DIR`
|
||||
|
||||
示例:
|
||||
|
||||
```bash
|
||||
docker run -d \
|
||||
--name nano-deploy-control \
|
||||
--restart unless-stopped \
|
||||
--network nano-instance-edge \
|
||||
-p 8090:8090 \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
-v /home/ivan/xuan/nano_project/app-instance:/home/ivan/xuan/nano_project/app-instance \
|
||||
-v /home/ivan/xuan/nano_project/router-proxy:/home/ivan/xuan/nano_project/router-proxy \
|
||||
-e APP_INSTANCE_DIR=/home/ivan/xuan/nano_project/app-instance \
|
||||
-e ROUTER_PROXY_DIR=/home/ivan/xuan/nano_project/router-proxy \
|
||||
-e DEPLOY_CONTROL_API_TOKEN=change-me \
|
||||
-e APP_INSTANCE_IMAGE=nano/app-instance:latest \
|
||||
-e APP_INSTANCE_NETWORK_NAME=nano-instance-edge \
|
||||
-e APP_INSTANCE_API_KEY=sk-xxxxxxxx \
|
||||
nano/deploy-control:latest
|
||||
```
|
||||
|
||||
如果这里错把宿主机目录映射成容器内的另一个短路径,例如 `/app-instance`,那么 `deploy-control` 通过 Docker socket 创建实例时会把错误路径传给 Docker,最终导致实例容器拿不到 `config.json` 并持续重启。
|
||||
|
||||
Reference in New Issue
Block a user