---
title: "快速开始"
description: "本地开发、目录结构与常用命令。"
version: "zh"
---

> Documentation Index
> Fetch the complete documentation index at: https://botharness.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 快速开始

## 环境

pnpm 12.4.2 · Node ≥22 · TypeScript 7 · oxlint / oxfmt · vitest · tsdown。

```bash
pnpm install
pnpm lint && pnpm format:check && pnpm typecheck && pnpm test
pnpm build
```

## 目录结构（monorepo）

```text
packages/core        @botharness/core   # PersonaBot registry / 状态（记忆在 M2）
packages/client      @botharness/client # React：roster / 详情 / 委派入口（M3）
packages/im          @botharness/im     # IM 适配器（M5）
packages/deepseekbot deepseekbot        # bundle + 应用（后续）
apps/docs            文档站（Nimbus / Astro，部署 Cloudflare Workers）
docs/                规格、ADR、架构与 changelog（文档站的唯一内容源）
```

## 文档站

`apps/docs` 的内容大多由 `scripts/sync-docs.mjs` 从仓库根部同步生成（规格 / PRD / 词表 / ADR / 架构 / changelog）——**改文档请改仓库源文件**，不要改生成物。

```bash
pnpm dev           # 推荐：经 portless → https://docs.botharness.localhost（首次会生成本地 CA 并请求信任）
PORTLESS_PORT=8788 PORTLESS_HTTPS=0 pnpm dev   # 免 sudo 版 → http://docs.botharness.localhost:8788
pnpm docs:dev      # 直连 → http://localhost:4321（WSL / Windows 本机均可访问）
pnpm docs:build    # 同步 + 构建
pnpm docs:deploy   # 构建 + wrangler 部署
```

> 同步已内置在 `astro.config.ts`（`syncDocs()`），所以直接用 `astro dev` / `astro build` 也会先生成内容；`portless` 作为根 devDependency 锁定版本（无需全局安装），从本包内启动以便正确注入 `--port`。

Source: https://botharness.ai/zh/docs/quickstart/index.mdx
