内容
<div align="center">
<img src=".github/assets/logo.png" alt="CompanyOS" width="96" height="96" />
# CompanyOS
**适用于代理的Jira。**
一个面向代理的原生工作平台。您的代理与团队一起运行看板、任务、冲刺、会议和笔记,通过内置的MCP服务器,在您自己的密钥上。
[](LICENSE)
[](https://github.com/woosal1337/companyos/releases)
[](https://github.com/woosal1337/companyos/actions/workflows/ci.yml)
[](https://github.com/woosal1337/companyos/stargazers)
[](https://github.com/woosal1337?tab=packages)
[](https://docs.company.chele.bi)
[快速开始](#快速开始) · [文档](https://docs.company.chele.bi) · [功能](#功能) · [架构](#架构) · [自托管](#自托管) · [开发](#开发)
</div>
---
## 为什么选择CompanyOS
大多数团队现在依赖两种劳动力:人和代理,分布在十几个不同的工具中。CompanyOS为两者提供了一个共同的工作场所。这是一个单一的、多租户的、面向代理的平台,**项目、任务、冲刺、会议、笔记以及执行工作的人员和代理都生活在一起**,因此每个任务都可以追溯到创建它的对话。
内置的**MCP服务器**通过OAuth向您的代理公开整个工作空间,产品内的助手和AI代理在**您自己的密钥(BYOK)**上运行,整个系统是**开源和可自托管的**,因此您的数据保留在您的基础设施上。
## 功能
**计划和跟踪**
- 具有负责人、成员、状态和模板的项目
- 具有列表、看板和表格视图的任务,子任务、标签、优先级和查询语言(PQL)
- 周期(冲刺)、计划、里程碑和发布,用于在不同级别进行规划
- 接收和分类 - 将接收到的请求和表单转化为跟踪工作
**会议和知识**
- 具有发言者属性的会议记录、AI摘要和“询问会议”
- 笔记、维基和文档,支持**实时、多光标协同编辑**(Yjs)
- 回顾和可重用的会议模板
**AI和MCP**
- 产品内的AI助手,适用于您的公司大脑 - **自带密钥**(每个组织)
- 具有预算、自动化和沙盒运行器的AI代理
- 内置的**MCP服务器**,通过OAuth向代理公开整个工作空间,以及连接器和市场
**协作**
- 每个实体的线程评论、反应和解决
- 活动动态、通知、全文本搜索、收藏和便利贴
- 公共嵌入和可分享的链接
**企业和平台**
- 真正的多租户,组织范围的数据隔离
- SSO(SAML / OIDC)、SCIM、LDAP、IdP组同步和域名验证
- 基于角色的访问控制,审计日志、审批和合规界面
- Webhooks、邮箱/事件骨干、S3兼容的对象存储和分析仪表盘
## 快速开始
使用一条命令运行整个堆栈 - Postgres、API和Web应用程序。需要安装[Docker](https://docs.docker.com/get-docker/)及其Compose插件。
```bash
git clone https://github.com/woosal1337/companyos.git
cd companyos
cp .env.example .env
docker compose up --build
```
然后打开**http://localhost:3000**。API位于**http://localhost:8000**(健康检查在`/api/v1/health`),数据库迁移在启动时自动运行。
完整的文档、指南和公司大脑MCP参考资料位于 **[docs.company.chele.bi](https://docs.company.chele.bi)**。
`.env.example` 默认值仅适用于**本地评估**。对于实际部署,请生成新的密钥并切换到生产模式:
```bash
# in .env
COMPANYOS_KEK=$(python3 -c "import base64,os;print(base64.urlsafe_b64encode(os.urandom(32)).decode())")
JWT_SECRET_KEY=$(openssl rand -hex 32)
ENV=production # 安全cookie - 请在HTTPS上提供Web应用程序
```
在`production`模式下,API拒绝启动,除非`COMPANYOS_KEK`和`JWT_SECRET_KEY`设置为强壮的非默认值。
## 架构
CompanyOS是一个包含两个可部署服务和一个数据库的monorepo。
```
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
浏览器 → │ web (3000) │ /api │ api (8000) │ SQL │ PostgreSQL │
│ Next.js │ ─────► │ FastAPI │ ─────► │ │
└──────────────┘ └──────────────┘ └──────────────┘
```
```
companyos/
├── apps/
│ ├── api/ FastAPI · SQLAlchemy · Alembic · Postgres (后端)
│ └── web/ Next.js · Turborepo · Tailwind (Web UI)
├── docker-compose.yml 一键全栈
└── .env.example
```
- **后端** — Python / FastAPI,异步SQLAlchemy,Alembic迁移,进程内实时中继用于协同编辑,MCP服务器。作为单个容器运行;其唯一依赖是Postgres。
- **Web** — Next.js(独立输出)通过同源`/api`代理与API通信。可作为容器或任何Next.js主机部署。
## 自托管
上述Docker Compose路径是运行CompanyOS的最快方式。对于Kubernetes(Helm或原始清单)、Docker Swarm和完整的配置参考,请参见 **`apps/api/SELF-HOSTING.md`** 和 `apps/api/deploy/`。
标记版本发布容器镜像到GHCR:`ghcr.io/woosal1337/companyos-api` 和 `ghcr.io/woosal1337/companyos-web`.
## 开发
每个应用程序都可以独立运行和开发:
- **后端** — [`apps/api`](apps/api) (uv, ruff, mypy, pytest; `uv run uvicorn companyos.main:app`)
- **Web** — [`apps/web`](apps/web) (Bun, Turborepo; `bun run dev`)
参见每个应用程序的`README.md`和`CONVENTIONS.md`了解项目规则。Web应用程序通过`BACKEND_ORIGIN`构建参数与API通信。
## 移动端
配套移动应用程序(React Native / Expo)位于单独的存储库中。
## 贡献
欢迎贡献。请参见 [`CONTRIBUTING.md`](CONTRIBUTING.md) 了解如何运行项目和PR需要通过的检查,以及 [`apps/api/CONVENTIONS.md`](apps/api/CONVENTIONS.md) 和 [`apps/web/CONVENTIONS.md`](apps/web/CONVENTIONS.md) 中的约定。要报告漏洞,请参见 [`SECURITY.md`](SECURITY.md)。
## 许可证
根据 [Apache License 2.0](LICENSE) 授权。