# nodeskclaw
**Repository Path**: LiLiLiFan_admin/nodeskclaw
## Basic Information
- **Project Name**: nodeskclaw
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-03-25
- **Last Updated**: 2026-04-13
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
[English](README.md)
[](https://discord.gg/y5NKqcP6eY)
[](LICENSE)
# DeskClaw
**人与 AI,共同经营。** 开源的人机共营平台 -- 让人类的判断力与 AI 的执行力,共同经营每一份事业。
DeskClaw 是人与 AI 共同经营组织的平台。通过赛博办公室(Cyber Workspace),人与 AI 在同一个数字空间中作为经营伙伴协同运转 -- 人类提供战略判断,AI 提供不懈的执行力,共同创造单方无法实现的价值。
## 共同经营
我们相信,未来属于人与 AI 共同经营的组织 -- 不是主人与工具的关系,而是各自贡献不可替代价值的经营伙伴。
- **人类经营者**提供战略判断、创造性决策、价值观把控 -- 决定"做什么"和"为什么做"
- **AI 经营者**提供不知疲倦的执行力、模式识别、快速迭代 -- 把"怎么做"做到极致
- **赛博办公室**是共同经营的空间 -- 共享经营看板(黑板)、任务委派、实时协同,让人与 AI 的经营能力融为一体
## 核心概念
### 赛博办公室(Cyber Workspace)
人与 AI 共同经营的数字空间。六边形拓扑让经营团队的协作关系可视化;共享黑板是团队的经营看板;任务发布让人或 AI 都能将业务委派给最合适的经营伙伴。不是监控面板,而是经营发生的地方。
### 基因系统(Gene System)
对 AI 经营能力的投资。为 AI 装载新基因,就是为你的事业打开新的经营维度 -- 模块化能力包来自公共市场或企业私有库,按需组合,持续进化。经营什么样的事业,就装载什么样的基因。
### 弹性扩展(Elastic Scale)
经营规模的即时扩张。一键部署 AI 经营伙伴,K8s 集群或 Docker 本地环境均可。DeskClaw 处理底层基础设施,你专注于经营决策。
## 亮点
- **赛博办公室** -- 六边形拓扑经营空间,人与 AI 共同经营、共享经营看板、委派业务
- **基因系统** -- 模块化能力投资:从公共或私有市场为 AI 装载新的经营维度
- **一键扩容** -- 端到端扩展经营规模,SSE 实时推送进度
- **多集群经营** -- 跨集群编排、健康巡检、弹性伸缩,覆盖整个经营版图
- **企业认证** -- 飞书 SSO + 组织架构自动同步,让现有组织无缝融入平台
## 社区版 / 企业版
采用社区版(CE)/ 企业版(EE)双版本架构:
| | 社区版(CE) | 企业版(EE) |
|---|---|---|
| 协议 | Apache 2.0 | 商业许可 |
| 核心功能 | 实例部署、集群管理、日志监控、基因市场 | CE 全部 + 多组织、计费、高级审计 |
| 代码 | 本仓库 | 私有 `ee/` 目录 |
运行时通过 `FeatureGate` 自动检测 -- `ee/` 存在即 EE,否则 CE。功能清单定义在 `features.yaml`。
**技术实现**:后端 Factory 抽象层 + Hook 事件总线;前端 Stub + Vite Alias Override。
## 技术架构
```mermaid
graph TD
Human["人类经营者"] --> Portal["用户门户 (CE + EE)"]
Human --> AdminUI["管理后台 (EE)"]
Portal --> API["后端 API 中枢
Python 3.12 + FastAPI"]
AdminUI --> API
API --> DB[(PostgreSQL)]
API --> CW["赛博办公室
黑板 / 拓扑 / 任务委派"]
API --> Gene["基因系统
公共市场 + 企业私有库"]
API --> Compute["K8s / Docker"]
Compute --> Runtime["AI 运行时
OpenClaw / ZeroClaw / Nanobot"]
Runtime <-->|"经营通道 (SSE)"| API
Runtime --> LLM["LLM 代理"] --> Providers["OpenAI / Anthropic / Gemini / ..."]
AIPartners["AI 经营伙伴"] -.->|"共同经营"| CW
```
### 项目结构
```
DeskClaw/
├── nodeskclaw-portal/ # 用户门户 -- Vue 3 + Tailwind CSS(CE + EE)
├── nodeskclaw-backend/ # API 服务 -- Python 3.12 + FastAPI + SQLAlchemy
├── nodeskclaw-llm-proxy/ # LLM 代理 -- Python + FastAPI
├── nodeskclaw-artifacts/ # Docker 镜像与部署制品
├── openclaw-channel-nodeskclaw/ # 赛博办公室经营通道插件
├── features.yaml # CE/EE 功能注册表
├── ee/ # 企业版(私有)
│ └── nodeskclaw-frontend/ # 管理后台 -- Vue 3 + shadcn-vue(EE-only)
├── openclaw/ # DeskClaw 运行时源码(外部)
└── vibecraft/ # VibeCraft 源码(外部)
```
## 国际化
全栈国际化,覆盖 Portal、Admin、Backend 三端。
- 语言检测:`zh*` -> `zh-CN`,`en*` -> `en-US`,回退 `en-US`
- 错误展示:优先 `message_key` 本地翻译,缺失时回退 `message`
- 后端契约:`code` + `error_code` + `message_key` + `message` + `data`
## 快速开始
### Docker Compose 部署(推荐)
内置 PostgreSQL,无需外部数据库,一键启动完整平台。
```bash
cp nodeskclaw-backend/.env.example nodeskclaw-backend/.env
# 编辑 .env,至少设置 JWT_SECRET
# CE 版
docker compose up -d
# EE 版(含管理后台)
docker compose -f docker-compose.yml -f docker-compose.ee.yml up -d
```
| 服务 | 地址 |
|---|---|
| 用户门户(Portal) | http://localhost |
| 后端 API | http://localhost:4510 |
| 管理后台(EE) | http://localhost:8001 |
**初始账号** -- 首次启动时,后端会自动创建管理员账号并生成随机密码,打印在日志中:
```bash
docker compose logs nodeskclaw-backend | grep -A4 "初始账号"
```
| 版本 | 默认账号 | 自定义环境变量 |
|---|---|---|
| CE | `admin` | `INIT_ADMIN_ACCOUNT` |
| EE(额外创建) | `deskclaw-admin` | `INIT_EE_ADMIN_ACCOUNT` |
首次登录后会要求修改密码。在修改密码之前,每次重启都会重新生成随机密码。
如需使用外部数据库替代内置 PostgreSQL,在项目根目录创建 `.env` 设置 `DATABASE_URL`,然后仅启动所需服务:
```bash
echo 'DATABASE_URL=postgresql+asyncpg://user:pass@your-rds:5432/nodeskclaw' > .env
docker compose up -d nodeskclaw-backend portal
```
### 本地开发
#### 前置条件
| 依赖 | 说明 |
|---|---|
| Python >= 3.12 + [uv](https://docs.astral.sh/uv/) | 后端运行时与包管理器 |
| Node.js >= 18 + npm | 前端运行时 |
| PostgreSQL | 数据库(或使用下方 `--docker-pg` 选项) |
#### 1. 配置
```bash
cd nodeskclaw-backend
cp .env.example .env
# 编辑 .env,填写 DATABASE_URL、JWT_SECRET 等
```
#### 2. 一键启动
```bash
./dev.sh # 自动检测:ee/ 存在 -> EE,否则 -> CE
./dev.sh ce # 强制 CE 模式(后端 + Portal)
./dev.sh ee # 强制 EE 模式(后端 + Portal + Admin)
./dev.sh --docker-pg # 用 Docker 启动 PostgreSQL(无需本地安装 PG)
./dev.sh --fresh # 强制重新安装所有依赖
```
脚本自动处理依赖安装,以带颜色的日志前缀启动所有服务,Ctrl+C 统一清理。`--docker-pg` 会自动启动一个本地 PostgreSQL 容器。
| 模式 | 服务 | 端口 |
|------|------|------|
| CE | 后端 + Portal | 4510, 4517 |
| EE | 后端 + Portal + Admin | 4510, 4517, 4518 |
手动启动(备选)
**后端:**
```bash
cd nodeskclaw-backend
uv sync
uv run uvicorn app.main:app --reload --port 4510
```
API 地址 `http://localhost:4510` | Swagger 文档 `http://localhost:4510/docs` | 首次启动自动迁移数据库。
**前端(Portal):**
```bash
cd nodeskclaw-portal
npm install && npm run dev
```
Portal 地址 `http://localhost:4517` | `/api` 自动代理到后端。
**前端(Admin,EE-only):**
```bash
cd ee/nodeskclaw-frontend
npm install && npm run dev
```
Admin 地址 `http://localhost:4518` | `/api` 和 `/stream` 自动代理到后端。
#### 3. 登录
首次启动时,后端会在终端输出中直接打印初始管理员凭据:
```
========================================
超管初始账号
账号: admin
密码: <随机生成>
请登录后立即修改密码
========================================
```
打开 `http://localhost:4517`(Portal)或 `http://localhost:4518`(Admin,EE),使用打印的凭据登录。首次登录后会要求修改密码。
## 升级
### Docker Compose
所有业务服务均为本地构建,升级即拉取最新代码后重新构建。
```bash
# 1. 备份数据库
docker compose exec postgres pg_dump -U nodeskclaw nodeskclaw > backup_$(date +%Y%m%d).sql
# 2. 拉取目标版本
git pull origin main # 最新代码
# git checkout v0.9.0 # 或指定 release tag
# 3. 重新构建并启动
docker compose build
docker compose up -d
# EE 版
docker compose -f docker-compose.yml -f docker-compose.ee.yml build
docker compose -f docker-compose.yml -f docker-compose.ee.yml up -d
```
数据库迁移在后端启动时自动执行(Alembic `upgrade head`)。可通过以下命令确认迁移结果:
```bash
docker compose logs nodeskclaw-backend | grep -i "alembic\|migration\|upgrade"
```
### Kubernetes(通过 deploy/cli.sh)
K8s 部署由 `deploy/cli.sh` 管理,标准流程为**先部署到 Staging,再推广到 Production**。
**Staging** -- 构建镜像、推送到 registry、滚动更新 Staging namespace:
```bash
./deploy/cli.sh deploy --tag v0.9.0
```
**Production** -- 复用已推送的镜像,更新 Production namespace(不重新构建):
```bash
./deploy/cli.sh promote v0.9.0
```
数据库迁移在新的后端 Pod 启动时自动执行。完整 CLI 用法见 [deploy/README.md](deploy/README.md)。
### 升级注意事项
- **重大版本升级前请先备份数据库。**
- 查看 [GitHub Releases](https://github.com/patchwork-body/nodeskclaw/releases) 了解版本变更和不兼容改动。
- 如果数据库此前未由 Alembic 管理,首次升级前可能需要执行一次 `alembic stamp head`,详见[后端 README](nodeskclaw-backend/README.md)。
## 文档
| | |
|---|---|
| [后端](nodeskclaw-backend/README.md) | API 中枢、目录结构、环境变量 |
| [用户门户](nodeskclaw-portal/README.md) | 经营者入口前端 |
| [构建制品](nodeskclaw-artifacts/README.md) | DeskClaw 镜像构建与部署清单 |
| [经营通道](openclaw-channel-nodeskclaw/README.md) | 赛博办公室通信基础设施 |
| [LLM 代理](nodeskclaw-llm-proxy/README.md) | AI 智力供给中枢 |
## 社区
- [Discord](https://discord.gg/y5NKqcP6eY) -- 加入讨论、提问、分享反馈
- [GitHub Issues](https://github.com/patchwork-body/nodeskclaw/issues) -- Bug 报告与功能建议
- 微信 -- 扫描下方二维码加入开发者交流群
## 贡献
欢迎提交 PR。详见 [CONTRIBUTING.md](CONTRIBUTING.md)。
## 许可证
[Apache License 2.0](LICENSE)