dolphinpi
DolphinDB 智能编程助手 — 集成 RAG 文档检索与脚本执行。一条命令安装,无需额外配置。
Package details
Install dolphinpi from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:dolphinpi- Package
dolphinpi- Version
1.0.1- Published
- Jun 1, 2026
- Downloads
- not available
- Author
- tradercjz
- License
- MIT
- Types
- extension, skill
- Size
- 58.4 KB
- Dependencies
- 2 dependencies · 0 peers
Pi manifest JSON
{
"extensions": [
"./extensions/dolphinpi"
],
"skills": [
"./skills/dolphinpi"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
DolphinPI
概述
DolphinPI 是一个 pi-coding-agent 扩展包,专为 DolphinDB 开发者设计。它集成了两大能力:
| 能力 | 实现 | 说明 |
|---|---|---|
| RAG 文档检索 | DolphinMind 知识库 | 编写脚本前自动查询官方 API 文档、函数签名和用法示例 |
| 脚本执行验证 | dolphindb WebSocket | 写完脚本直接在服务器上运行验证,即时反馈结果 |
LLM 在生成每行 DolphinDB 代码前都会先检索官方文档,不会凭记忆编造不存在的 API。
快速开始
1. 安装
npm install -g dolphinpi
一条命令完成安装。pi 和 dolphindb SDK 自动安装。
2. 启动
dolphinpi
3. 配置
首次启动后需要配置两项,在 pi 交互界面中运行 /ddb:config 完成:
① DolphinDB 服务器连接 — 输入 DolphinDB 服务器的 Host / Port / User / Password。
② DolphinMind 账户登录 — 在配置流程末尾选择登录,使用 dolphindb.cn/think 注册的账户(手机号 + 密码)。登录后自动获取 Token,后续 RAG 检索无需重复操作。
💡 也可以用环境变量一次性配完,见 环境变量。
4. 验证
/ddb:doctor
一键检查:DDB WebSocket 连接 → DolphinMind API 状态。
5. 开始编程
用户: 帮我写一个 DolphinDB 因子回测脚本
LLM 自动流程:
dolphindb_search("因子回测最佳实践")
↓
基于文档生成脚本
↓
dolphindb_execute(script)
↓
✅ 执行成功 / ❌ 报错 → dolphindb_search(错误信息) → 修复 → 重新执行
其他安装方式
# curl 一键安装
curl -fsSL https://dolphindb.cn/install-dolphinpi.sh | sh
# 开发者本地安装
git clone ... && cd DolphinPI && npm install -g .
命令
| 命令 | 功能 |
|---|---|
/ddb:config |
交互式配置 DolphinDB 连接 + DolphinMind 登录 |
/ddb:doctor |
诊断:配置、DDB 连接、DolphinMind API 状态 |
/ddb:config 交互流程
首次配置,依次输入:
- DolphinDB 连接 — Host / Port / User / Password
- 保存位置 — 项目级 (
<cwd>/.dolphinpi/config.json) 或全局级 (~/.dolphinpi/config.json) - DolphinMind 登录 — dolphindb.cn/think 账户(手机号 + 密码)→ 自动获取 JWT Token
已有配置时显示菜单:Modify DDB | Login Mind | View JSON | Test DDB | Cancel
LLM 工具
| 工具 | 触发场景 | 功能 |
|---|---|---|
dolphindb_search |
写代码前 / 报错后 / 询问 API | 从 DolphinDB 官方知识库检索文档,返回 Markdown |
dolphindb_execute |
写完脚本需要验证 | WebSocket 在服务器上执行脚本,返回结果 |
架构
┌─────────────────────────────────────────────────────────┐
│ DolphinPI │
│ │
│ ┌──────────────────┐ ┌─────────────────────────────┐ │
│ │ dolphindb_search │ │ dolphindb_execute │ │
│ │ │ │ │ │
│ │ HTTP multipart │ │ WebSocket (dolphindb) │ │
│ │ ↓ │ │ ↓ │ │
│ │ DolphinMind API │ │ DolphinDB Server │ │
│ │ :8007 │ │ ws://host:port │ │
│ └──────────────────┘ └─────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
设计决策:
- RAG 逻辑全部在服务端(DolphinMind)— DolphinPI 只做 HTTP 调用和格式化
- JavaScript 原生连接 — 使用
dolphindbnpm 包(WebSocket),无 Python 依赖 - 只收集文档,不生成答案 — SSE 流中忽略 LLM 生成的 content,只保留 source 文档片段,最终答案由 pi 的 LLM 生成
配置
配置文件
优先级:项目级 > 全局级 > 默认值
<cwd>/.dolphinpi/config.json # 项目级
~/.dolphinpi/config.json # 全局级
{
"host": "127.0.0.1",
"port": 8848,
"username": "admin",
"password": "123456",
"dolphinmindToken": "eyJ...",
"dolphinmindBaseUrl": "https://dolphindb.cn:8007"
}
环境变量
设置后首次启动自动写入配置文件,跳过 /ddb:config 交互:
| 变量 | 用途 |
|---|---|
DOLPHINPI_DDB_HOST |
DolphinDB 主机 |
DOLPHINPI_DDB_PORT |
DolphinDB 端口 |
DOLPHINPI_DDB_USER |
DolphinDB 用户名 |
DOLPHINPI_DDB_PASS |
DolphinDB 密码 |
DOLPHINPI_DOLPHINMIND_TOKEN |
DolphinMind JWT Token(跳过登录) |
DOLPHINPI_TLS_INSECURE |
设为 0 要求有效证书(默认自动允许自签证书) |
export DOLPHINPI_DDB_HOST=10.0.0.1
export DOLPHINPI_DDB_PORT=8920
export DOLPHINPI_DDB_USER=admin
export DOLPHINPI_DDB_PASS=123456
export DOLPHINPI_DOLPHINMIND_TOKEN=eyJ...
dolphinpi # 直接启动,无需 /ddb:config
项目结构
DolphinPI/
├── bin/
│ └── dolphinpi.js # CLI 启动器 — TLS + env config + pi 启动
├── install.sh # curl 一键安装脚本
├── package.json
├── extensions/dolphinpi/
│ ├── index.ts # 主扩展 — 注册工具/命令/事件处理
│ ├── config.ts # 配置管理 — 加载/保存/解析 + TLS 处理
│ ├── ddb.ts # DolphinDB 连接池 — WebSocket 单例
│ └── dolphinmind.ts # DolphinMind HTTP 客户端 — 登录 + 检索
└── skills/dolphinpi/
└── SKILL.md # LLM 行为引导 — 何时检索、如何执行
各模块职责
| 文件 | 行数 | 职责 |
|---|---|---|
index.ts |
~560 | 注册 2 工具 + 2 命令 + 3 事件处理 |
config.ts |
~210 | DolphinDB 连接 + DolphinMind API 配置,TLS 兼容 |
ddb.ts |
~70 | DolphinDB WebSocket 连接池 |
dolphinmind.ts |
~400 | DolphinMind 登录 + SSE 流解析 + 文档片段收集 |
SKILL.md |
~90 | LLM 行为指令 |
dolphinpi.js |
~90 | CLI 启动器 |
依赖
| 包 | 版本 | 用途 |
|---|---|---|
@earendil-works/pi-coding-agent |
>=0.74 | pi 运行时 + 交互终端 |
typebox |
(pi 内置) | 工具参数 Schema |
dolphindb |
^3.1.48 | DolphinDB WebSocket 客户端 |
License
MIT