Office Agent is a local-first, enterprise-oriented AI agent desktop client built on the open-source DeepChat project (Apache License 2.0). It offers rich agent capabilities around the Tape.systems philosophy, with support for MCP, Skills, ACP, remote control for messaging apps, and a suite of enterprise features for document recognition, resume screening, and office automation.
- 📑 Table of Contents
- 🚀 Project Introduction
- 💡 Why Choose Office Agent
- 🔥 Main Features
- 🏢 Enterprise Enhancements
- 📼 Tape & Trace
- 🧠 Skills Support
- 🧩 ACP Integration (Agent Client Protocol)
- 📡 Remote Control
- 🤖 Supported Model Providers
- 🔍 Use Cases
- 📦 Quick Start
- 💻 Development Guide
- 👥 Community & Contribution
- 🙏🏻 Thanks
- 📃 License
Office Agent is a powerful, local-first AI agent desktop client that brings together models, tools, Skills, agent runtimes, Tape, and long-running sessions in one desktop app. Whether you're using cloud APIs like OpenAI, Gemini, Anthropic, or locally deployed Ollama models, Office Agent delivers a smooth user experience.
Office Agent's sessions and agent processes follow the Tape.systems philosophy: keep the process, so context, tool calls, requests, and results stay recoverable, traceable, and inspectable. It also provides strong MCP support, installable Skills, ACP agent integration, and remote control for Telegram, Feishu/Lark, QQBot, Discord, WeChat iLink, and other messaging workflows.
Office Agent is built on the open-source DeepChat project — thanks to the upstream community for the excellent foundation.
Compared to other AI tools, Office Agent offers the following unique advantages:
- Local-First Agent Desktop Client: Run Office Agent, ACP agents, and remote-ready bots in one local app
- Tape.systems Philosophy: Preserve recoverable session history, trace request context, and inspect token budgets when agent work gets complex
- Skills That Travel: Install, import, export, and enable reusable Skills per conversation for code review, documents, frontend work, Office/PDF tasks, and more
- Native ACP Integration: Run ACP-compatible coding and task agents as first-class entries in the model selector
- Strong MCP Support: Support Resources, Prompts, Tools, multiple transports, inMemory services, and one-click installation
- Remote-Ready Workflows: Control Office Agent sessions from Telegram, Feishu/Lark, QQBot, Discord, and WeChat iLink
- Unified Multi-Model Management: One application supports mainstream cloud LLMs and local Ollama models, eliminating the need to switch between multiple apps
- Privacy-Focused: Local data storage and network proxy support reduce the risk of information leakage
- Business-Friendly: Embraces open source under the Apache License 2.0, suitable for both commercial and personal use
- 🤖 Local-First Agent Desktop Client
- Select Office Agent, ACP, and remote-capable agents from one model-like entry point
- Run long-lived sessions with project folders, permission modes, tool output, and resumable context
- 📼 Tape & Trace
- Session Tape records structured work history for recovery, resume, and future agent memory flows
- Trace previews show request sequences, provider/model metadata, Tape view manifests, included entries, and token budgets
- 🧠 Skills
- Install Skills from folders, ZIP files, or URLs
- Enable Skills per conversation so the agent can load task-specific instructions, references, and optional scripts
- Import and export Skills with Claude Code, Codex, Cursor, Windsurf, GitHub Copilot, and other compatible tools
- 🤝 ACP (Agent Client Protocol) Agent Integration
- Run ACP-compatible agents (built-in or custom commands) as selectable “models”
- ACP workspace UI for structured plans, tool calls, and terminal output when provided by the agent
- 📡 Remote Control
- Control Office Agent sessions from Telegram, Feishu/Lark, QQBot, Discord, and WeChat iLink
- Bind remote endpoints to sessions, switch models, answer pending interactions, stop runs, and open desktop sessions remotely
- 🌐 Multiple Cloud LLM Provider Support: DeepSeek, OpenAI, Moonshot/Kimi, Grok, Gemini, Anthropic, and more
- 🏠 Local Model Deployment Support:
- Integrated Ollama with comprehensive management capabilities
- Control and manage Ollama model downloads, deployments, and runs without command-line operations
- 🚀 Rich and Easy-to-Use Chat Capabilities
- Complete Markdown rendering with code block rendering based on industry-leading CodeMirror
- Multi-window + multi-tab architecture supporting parallel multi-session operations across all dimensions, use large models like using a browser, non-blocking experience brings excellent efficiency
- Supports Artifacts rendering for diverse result presentation
- Messages support retry to generate multiple variations; conversations can be forked freely, ensuring there's always a suitable line of thought
- Supports rendering images, Mermaid diagrams, and other multi-modal content; supports GPT-4o, Gemini, Grok text-to-image capabilities
- Supports highlighting external information sources like search results within the content
- 🔍 Robust Search Extension Capabilities
- Built-in integration with leading search APIs like BoSearch and Brave Search, allowing the model to intelligently decide when to search
- Supports mainstream search engines like Google, Bing, Baidu, and Sogou Official Accounts search by simulating user web browsing, enabling the LLM to read search engines like a human
- Supports reading any search engine; simply configure a search assistant model to connect various search sources, whether internal networks, API-less engines, or vertical domain search engines, as information sources for the model
- 🔧 Strong MCP (Model Context Protocol) Support
- Full support for Resources / Prompts / Tools
- Supports StreamableHTTP, SSE, Stdio, and other transports
- Official Node.js toolchain for npx/node-style services, installed from Settings when needed
- inMemory services for code execution, web information retrieval, file operations, and other common utilities
- Clear tool-call display with parameter and return-data debugging
- DeepLink support for one-click MCP service installation
- 💻 Multi-Platform Support: Windows, macOS, Linux
- 🎨 Beautiful and User-Friendly Interface, user-oriented design, meticulously themed light and dark modes
- 🔗 Rich DeepLink Support: Initiate conversations via links for seamless integration with other applications, including one-click MCP service installation.
- 🚑 Security-First Design: Chat data and configuration data have reserved encryption interfaces and code obfuscation capabilities
- 🛡️ Privacy Protection: Supports screen projection hiding, network proxies, and other privacy protection methods to reduce the risk of information leakage
- 💰 Business-Friendly:
- Embraces open source, based on the Apache License 2.0 protocol, enterprise use without worry
- Enterprise integration requires only minimal configuration code changes to use reserved encrypted obfuscation security capabilities
- Clear code structure, both model providers and MCP services are highly decoupled, can be freely customized with minimal cost
- Reasonable architecture, data interaction and UI behavior separation, fully utilizing Electron's capabilities, rejecting simple web wrappers, excellent performance
For more details on how to use these features, see the documentation index.
This fork ships as Office Agent and extends upstream DeepChat with the following enterprise-oriented features:
- 📄 Document Recognition & Archive
- Extraction templates with a visual editor: preset invoice templates plus custom fields, prompts, and a test-extraction panel
- Batch recognition tasks with a concurrent queue, live progress, and in-place retry for failed tasks
- Smart routing per file: native PDF text extraction, vision-model recognition for scanned pages, and OCR fallback
- Field validation with amount cross-checks and invoice-aware extraction prompts
- Archive browser with date filters, pagination, detail editing, tabbed source-file preview, and CSV export
- Document recognition callable from chat via a built-in agent tool
- 🧑💼 Resume Screening Assistant
- Create screening tasks from resume files; text extraction and an LLM pipeline produce structured candidate profiles and interview points
- Task detail view with tabbed result sections and inline resume source preview
- 🖼️ Image Prompt Templates
- Built-in prompt templates for image generation, applied from starter cards and a popover panel in chat
- 📊 PPT Master Skill
- Built-in Skill for generating PowerPoint presentations
- 🏢 Office Automation Plugin & Baidu Search
- Bundled office automation MCP plugin with Baidu web search integration
- 🔌 Model Access Enhancements
- Offline-first provider database by default (bundled snapshot), opt-in remote refresh via
DEEPCHAT_PROVIDER_DB_ONLINE - Multiple instances of the same provider and extra model selection in conversations
- Offline-first provider database by default (bundled snapshot), opt-in remote refresh via
- 🌏 Localized Built-in Skills
- Chinese-localized GPT-Image-2, PDF image-text extraction, and web-scraper skills
- ℹ️ Windows System Information Panel
- The About page shows the current Windows login account's basic identity — username, domain, hostname, home directory, and SID — in a read-only card. Data is read locally only and never uploaded; on macOS/Linux the panel stays hidden.
Office Agent's session Tape follows the Tape.systems philosophy and keeps agent work recoverable and inspectable. Trace previews expose request sequences, provider/model metadata, Tape view manifests, included or excluded entries, and token budgets, making long-running agent sessions easier to debug and resume.
Office Agent Skills are designed to be compatible with the standard Agent Skills specification. A Skill can include task instructions, reference files, assets, and optional scripts, so Office Agent can act more like a domain specialist after it is enabled.
You can install Skills from folders, ZIP files, or URLs, and import/export them with Claude Code, Codex, Cursor, Windsurf, GitHub Copilot, Kiro, Antigravity, OpenCode, Goose, Kilo Code, and other compatible tools.
Built-in Skills cover generative art, code review, DeepChat settings, document collaboration, DOCX, frontend design, git commit messages, infographic syntax, MCP building, PDF, PPTX, Skill creation, Web Artifacts, and XLSX workflows.
Quick start:
- Open Settings → Skills
- Install or import a Skill
- Enable it in conversations that need that capability
Office Agent has built-in support for Agent Client Protocol (ACP), allowing you to integrate external agent runtimes with a native UI. Once enabled, ACP agents appear as first-class entries in the model selector, so you can use coding agents and task agents directly inside the app.
Quick start:
- Open Settings → ACP Agents and enable ACP
- Enable a built-in ACP agent or add a custom ACP-compatible command
- Select the ACP agent in the model selector to start an agent session
To explore the ecosystem of compatible agents and clients, see: https://agentclientprotocol.com/overview/clients
Office Agent can be controlled from messaging apps, so you can keep a session running even when you are away from the desktop. Configure remote channels under Settings → Remote.
Supported channels include Telegram, Feishu/Lark, QQBot, Discord, and WeChat iLink. Remote endpoints can bind to one session, then create new sessions, list and switch recent sessions, stop generation, open the current session on desktop, answer pending questions or permission prompts, switch models, and check runtime status.
Common commands include /start, /help, /pair, /new, /sessions, /use, /stop, /open, /pending, /model, and /status.
Office Agent is suitable for various AI application scenarios:
- Daily Assistant: Answering questions, providing suggestions, assisting with writing and creation
- Development Aid: Code generation, debugging, technical problem solving
- Learning Tool: Concept explanation, knowledge exploration, learning guidance
- Content Creation: Copywriting, creative inspiration, content optimization
- Data Analysis: Data interpretation, chart generation, report writing
Download the latest version for your system from the GitHub Releases page:
- Windows:
.exeinstallation file - macOS:
.dmginstallation file - Linux:
.AppImageor.debinstallation file
Internal distribution channels are maintained by the maintainers; contact the maintainers for internal download links.
- Launch the Office Agent application
- Click the settings icon
- Select the "Model Providers" tab
- Add your API keys or configure local Ollama
- Click the "+" button to create a new conversation
- Select the model you want to use
- Start communicating with your AI assistant
For a comprehensive guide on getting started and using all features, please refer to the documentation index.
Please read the Contribution Guidelines
Windows and Linux are packaged by GitHub Action. For Mac-related signing and packaging, please refer to the Mac Release Guide.
$ pnpm install
$ pnpm run installRuntime
# if got err: No module named 'distutils'
$ pip install setuptools- For Windows: To allow non-admin users to create symlinks and hardlinks, enable
Developer Modein Settings or use an administrator account. Otherwisepnpmops will fail.
$ pnpm run dev# For Windows
$ pnpm run build:win
# For macOS
$ pnpm run build:mac
# For Linux
$ pnpm run build:linux
# Specify architecture packaging
$ pnpm run build:win:x64
$ pnpm run build:win:arm64
$ pnpm run build:mac:x64
$ pnpm run build:mac:arm64
$ pnpm run build:linux:x64
$ pnpm run build:linux:arm64For enterprise batch deployment, set MAIN_VITE_MANAGED_CONFIG_URL in the same shell as the packaging command to bake a default enterprise managed config service URL into the installer. The client shows the URL on the Settings → About page with the source labeled "Built-in":
# Windows (PowerShell)
$env:MAIN_VITE_MANAGED_CONFIG_URL='https://example.com/managed/config'; pnpm run build:winNotes:
- The URL is replaced into the main process bundle at build time — changing it requires rebuilding
- The runtime environment variable
DEEPCHAT_MANAGED_CONFIG_URLtakes priority and serves as an emergency override - When neither is set, the managed config is treated as unconfigured and client behavior is unchanged
For a more detailed guide on development, project structure, and architecture, please see the Developer Guide.
Office Agent is maintained by the maintainers, and we welcome various forms of contribution:
Check the Contribution Guidelines to learn more about ways to participate in the project.
This project is built on the open-source DeepChat project, with the help of these awesome libraries and projects:
- Vue
- Electron
- Electron-Vite
- oxlint
- Bub, whose tape model inspired the session tape design. For the underlying tape architecture, visit tape.systems.