真实 Excel 文件
结果是可下载的 .xlsx 工作簿,包含公式、格式、图表、表格、验证和工作簿元数据——而非粘贴到聊天中的表格。
zSpreadsheet 通过对话规划、构建、样式设计、计算、预览并版本控制真实的 Excel 工作簿。结果在整个工作过程中保持可见和可编辑。

为什么它是超级代理
基础电子表格助手可能回答公式问题或返回一块 CSV 数据。 zSpreadsheet 负责最终完成的工作簿: 它的结构、公式、数据、格式、计算、文件创建以及审阅体验。
代理仍在可见边界内工作。它只能调用连接到运行时的电子表格工具,保存到用户工作区,并在界面中显示进度。用户可以检查公式栏,直接编辑工作簿,下载文件或继续对话。
这使产品成为有用的 ADK-Rust 案例研究。多个代理、MCP 能力服务器、RAG、会话、流事件和成果存储围绕一个熟悉的业务结果组装。 一个可以打开并使用的工作簿.
结果是可下载的 .xlsx 工作簿,包含公式、格式、图表、表格、验证和工作簿元数据——而非粘贴到聊天中的表格。
工具调用流入对话,同时渐进保存刷新工作簿预览。用户可以看到成果成型。
预览包含公式栏和直接工作簿控件。用户可以自行更改单元格或请求代理再次处理。
上传、活动工作簿上下文、代理会话和不可变工作簿版本保持附着于用户工作区。
跟踪一个工作簿
每个阶段都有明确职责。该分离让开发者可以更改规划模型、工作簿工具、样式策略或存储层,而无需重新设计整个产品。
请求预算、预测、定价模型、跟踪器、运营报告或对现有工作簿的更改。上传文件可提供源数据。
规划者将请求转化为工作表、精确单元格位置、公式、格式规则、图表范围和保存目标。
写入器通过 Excel MCP 服务器批量处理值和公式。独立操作可同时运行,减少模型和工具往返。
样式代理应用主题、数字格式、边框、表格、图表和布局。工作簿引擎在保存前重新计算公式。
浏览器渲染已保存的工作簿,计算公式,支持直接编辑,并记录新版本,同时不隐藏底层 .xlsx 文件。
架构
浏览器既是对话界面也是工作簿编辑器。ADK-Rust 协调代理和状态。MCP 为这些代理提供受控连接到创建最终成果的 Excel 引擎。
ADK-Rust v2 的贡献
这些是当前实现的源代码验证部分。zSpreadsheet 目前不支持 A2A 或 AWP。
规划器、撰写器和样式器职责分明,同时共享同一请求和会话。
ADK-Rust v2 在请求时适配 Gemini、OpenAI、Anthropic 或 DeepSeek 的 74 MCP 工具模式。
应用使用 ADK-Rust 的 rmcp 2.2 重新导出,保持客户端和框架在同一协议版本。
连接工厂和有界重试策略可在传输故障可恢复时替代子进程连接。
写入器和样式器可以同时执行独立的工作簿操作,而依赖操作保持有序。
PostgreSQL 存储会话和事件;上下文压缩保持较长的电子表格对话可用。
ADK-Rust RAG 在请求到达代理工作流前搜索上传的工作簿和 CSV 内容。
代理文本、思考、工具调用、工具结果和完成事件构成产品 UI 中显示的 SSE 流。
let pipeline = SequentialAgent::new(
"spreadsheet_builder",
vec![
Arc::new(planner),
Arc::new(writer),
Arc::new(styler),
],
);
let runner = Runner::builder()
.app_name("excel_agent")
.agent(Arc::new(pipeline))
.session_service(postgres_sessions)
.compaction_config(compaction)
.build()?;let client = ().serve(
TokioChildProcess::new(Command::new(excel_mcp_server))?
).await?;
let tools = McpToolset::new(client)
.with_connection_factory(factory)
.with_refresh_config(
RefreshConfig::default().with_max_attempts(3)
);当前产品边界
