发现 AI 代理的未来arrow_forward

agent-coworker

calendar_today收录于 2026年4月24日
category智能体与应用工具
code开源
TypeScriptNode.jsElectron桌面应用MCPAI代理CLIBun智能体与应用工具模型与推理框架开发者工具/代码协议/API/集成

本地优先的编码 Agent 后端,以 Server-Centric 架构通过 WebSocket 统一驱动 CLI、桌面及自定义客户端,支持持久化会话、12 个 LLM Provider、MCP 协议与 Skills 系统。

agent-coworker 是一个本地优先(local-first)的编码 Agent 后端服务,采用 Server-Centric 架构设计。所有 Agent 业务逻辑(推理轮次、工具执行、会话持久化、MCP 对接、Provider 管理)均运行在服务端,CLI、Electron 桌面应用及自定义客户端作为薄客户端通过 JSON-RPC over WebSocket(cowork.jsonrpc.v1)统一通信。

核心特性包括:基于 SQLite 的持久化会话与跨重启恢复机制;丰富的内置工具链(Shell 执行、文件读写、工作区搜索、网页搜索与抓取、工作流控制等);基于 SKILL.md 指令包的多层 Skills 发现系统;完整的 MCP(Model Context Protocol)支持(stdio / HTTP/SSE 传输,三层配置,API-key 与 OAuth 认证);子 Agent 创建与管理;以及 OpenTelemetry + Langfuse 可观测性集成。

项目支持 12 个 LLM Provider(Google、OpenAI、Anthropic、Bedrock、Together、Fireworks、NVIDIA、LM Studio、Baseten、OpenCode Go/Zen、Codex CLI),可通过环境变量、CLI /connect 流程或桌面 UI 灵活切换。安全模型提供危险操作审批与 --yolo 跳过模式,会话支持检查点备份与恢复。

基于 Bun 运行时与 TypeScript 构建(94.4% TypeScript),可编译为独立 cowork-server 二进制用于无头部署。桌面端通过 Electron(electron-vite)构建,移动端目录(Expo/React Native)存在但发布状态未明确。采用自定义源码可用许可证("Forking and Attribution License with Commercial Permission Requirement 1.0"),允许 fork 和修改但商业化销售需作者书面许可。作者声明架构已足够稳定可供构建,但协议层面、桌面打磨和 Provider/运行时行为仍在快速迭代。

安装与运行

前置要求:安装 Bun

git clone https://github.com/mweinbach/agent-coworker.git
cd agent-coworker
bun install
export OPENAI_API_KEY=...
bun run cli            # CLI REPL
bun run start          # Electron 桌面应用(开发模式)
bun run serve          # 独立服务器(无头模式)

构建独立二进制:

bun run build:server-binary
./dist/cowork-server --host 0.0.0.0 --port 7337

CLI REPL 常用命令

命令功能
/connect <provider>启动 Provider 认证流程
/provider <name>切换 Provider
/model <id>切换模型
/new新建会话
/resume <sessionId>恢复历史会话
/sessions列出会话
/tools列出可用工具
/cwd <path>切换工作目录

核心源码结构

路径职责
src/agent.ts核心 Agent 轮次逻辑
src/server/WebSocket 服务器、JSON-RPC 路由、会话编排
src/tools/内置服务端工具
src/providers/12 个 Provider 适配
src/mcp/MCP 配置与客户端生命周期
src/skills/Skill 发现与触发提取
apps/desktop/Electron 桌面应用
apps/mobile/Expo 移动应用

保持更新

获取最新的 AI 工具和趋势,直接发送到您的收件箱。没有垃圾邮件,只有智能。

rocket_launch