---
title: 本地运行 Investibook
order: 6
description: 在自己机器上拉起整套环境用于开发。
---

# 本地运行 Investibook

大部分用户用托管版 [investibook.tidbcloud.com](https://investibook.tidbcloud.com) 即可。
这页给希望本地拉起整套服务的工程师。

## 前置条件

- **Node.js 20+** 与 **pnpm**（frontend）
- **Python 3.11+** 与 **uv**（backend）
- **Bun**（AgentKit plugins）
- 一个 agent 二进制在 `PATH` 上 —— `opencode`、`claude-code-acp` 或 `pi`

## clone & install

```bash
git clone git@github.com:pingcap/investibook.git
cd investibook
make install
```

`make install` 会：

- 在 `backend/` 跑 `uv sync`
- 在 `frontend/` 跑 `pnpm install`
- 在 AgentKit plugin 目录跑 `bun install`

## 启动整套服务

开两个终端：

```bash
# 终端 1 —— backend :8000
make api

# 终端 2 —— frontend :3000
make web
```

访问 [http://localhost:3000](http://localhost:3000)，用开发账号 `dev@localhost` 登录。

## 环境变量

| 变量 | 作用 |
| --- | --- |
| `ACP_AGENT_TYPE` | `opencode`（默认）、`claude` 或 `pi` |
| `ACP_AGENT_BIN` | 所选 runtime 可执行文件的绝对路径，留空时自动探测；Pi core 使用 Node.js 22.19+ |
| `AGENT_PROVIDER_CONFIG` | 共享的 provider/model 目录，默认使用全局 OpenCode 配置 |
| `AGENT_MODEL_STANDARD` / `AGENT_MODEL_PRO` | OpenCode 与 Pi 共用、由 runtime 自动适配的模型选择器 |
| `PI_MODEL_STANDARD` / `PI_MODEL_PRO` | provider 无法适配时可选的 Pi 专用覆盖配置 |
| `DATA_DIR` | backend 数据目录，默认 `backend/data/` |
| `TEMPLATES_DIR` | workspace 模板目录，默认 `backend/templates/` |
| `AGENTKIT_SKILLS_DIR` | 内置 skill 目录，默认 `agentkit/skills/` |
| `NEXT_PUBLIC_API_URL` | frontend → backend 地址（本地 `http://localhost:8000`） |

## 切换 agent

```bash
# 默认
ACP_AGENT_TYPE=opencode

# 改用 Claude Code
ACP_AGENT_TYPE=claude

# 改用 Pi core
ACP_AGENT_TYPE=pi
```

`ACP_AGENT_BIN` 未设置时，backend 会用 `shutil.which()` 自动找对应 runtime 可执行文件。
