How hewliyang/office-agents works
Office Agents is a monorepo of AI chat add-ins for Excel, PowerPoint, and Word, backed by a shared SDK and Svelte chat UI. A user opens an Office task pane, chats with an agent, and the agent uses app-specific tools to inspect or change the active document; settings, sessions, skills, and files support that workflow. The SDK also offers shell/VFS commands, web search and fetch, OAuth, and storage. A local bridge can inspect and invoke a live add-in during development. Unsampled tool families are represented at their source directories; their internal calls are not inferred.
Main entry points: components/app.svelte Excel task pane · components/app.svelte PowerPoint task pane · components/app.svelte Word task pane · chat-interface.svelte Chat interface
Components 26
Office Add-ins
- Excel task pane
packages/excel/src/taskpane/components/app.svelte - PowerPoint task pane
packages/powerpoint/src/taskpane/components/app.svelte - Word task pane
packages/word/src/taskpane/components/app.svelte - Excel adapter
packages/excel/src/lib/adapter.ts - PowerPoint adapter
packages/powerpoint/src/lib/adapter.ts - Word adapter
packages/word/src/lib/adapter.ts - Spreadsheet tools
packages/excel/src/lib/tools - Slide tools
packages/powerpoint/src/lib/tools - Document tools
packages/word/src/lib/tools - OOXML utilities
packages/powerpoint/src/lib/pptx/slide-zip.ts
Chat Experience
- Chat interface
packages/core/src/chat/chat-interface.svelte - File panel
packages/core/src/chat/files-panel.svelte - Settings panel
packages/core/src/chat/settings-panel.svelte - Chat controller
packages/core/src/chat/chat-controller.ts
Agent SDK
- Agent runtime
packages/sdk/src/runtime.ts - Agent context
packages/sdk/src/context.ts - VFS commands
packages/sdk/src/vfs/custom-commands.ts - Web search
packages/sdk/src/web/search.ts - Session storage
packages/sdk/src/storage/db.ts
Developer Bridge
- Bridge client
packages/bridge/src/client.ts - Bridge server
packages/bridge/src/server.ts - Bridge CLI
packages/bridge/src/cli.ts
External Services
- LLM providers
- Search providers
Other components
- Office user
- Microsoft Office
Connections 31
- Office user → Excel task pane: opens
- Office user → PowerPoint task pane: opens
- Office user → Word task pane: opens
- Excel task pane → Excel adapter: configures
packages/excel/src/taskpane/components/app.svelte - PowerPoint task pane → PowerPoint adapter: configures
packages/powerpoint/src/taskpane/components/app.svelte - Word task pane → Word adapter: configures
packages/word/src/taskpane/components/app.svelte - Excel task pane → Chat interface: renders
packages/excel/src/taskpane/components/app.svelte - PowerPoint task pane → Chat interface: renders
packages/powerpoint/src/taskpane/components/app.svelte - Word task pane → Chat interface: renders
packages/word/src/taskpane/components/app.svelte - Excel adapter → Spreadsheet tools: creates
packages/excel/src/lib/adapter.ts - PowerPoint adapter → Slide tools: creates
packages/powerpoint/src/lib/adapter.ts - Word adapter → Document tools: creates
packages/word/src/lib/adapter.ts - Slide tools → OOXML utilities: uses
packages/powerpoint/src/lib/tools/edit-slide-text.ts - Chat interface → Chat controller: delegates
- Chat controller → Agent runtime: invokes
packages/core/src/chat/chat-controller.ts - Excel task pane → Agent context: creates
packages/excel/src/taskpane/components/app.svelte - PowerPoint task pane → Agent context: creates
packages/powerpoint/src/taskpane/components/app.svelte - Word task pane → Agent context: creates
packages/word/src/taskpane/components/app.svelte - Agent context → VFS commands: loads
packages/sdk/src/context.ts - VFS commands → Web search: calls
packages/sdk/src/vfs/custom-commands.ts - Web search → Search providers: queries
packages/sdk/src/web/search.ts - Agent runtime → LLM providers: connects
- Agent runtime → Session storage: persists
- Excel adapter → Microsoft Office: reads and writes
- PowerPoint adapter → Microsoft Office: reads and writes
- Word adapter → Microsoft Office: reads and writes
- Excel task pane → Bridge client: starts in development
packages/excel/src/taskpane/components/app.svelte - PowerPoint task pane → Bridge client: starts in development
packages/powerpoint/src/taskpane/components/app.svelte - Word task pane → Bridge client: starts in development
packages/word/src/taskpane/components/app.svelte - Bridge CLI → Bridge server: controls
- Bridge client → Bridge server: connects