🌾 pi-mono SDK 嵌入式版本 — 对比实验
这是 RICEMIND 的 SDK Embedding 实现,与 pi package 版本 做对比。
同一个功能,两种实现方式。
用 pi-mono 的 SDK(createAgentSession)直接嵌入 agent 引擎,构建一个独立的农业文献搜索工具。不依赖 pi CLI,不需要 pi install,自包含运行。
# 安装依赖
npm install
# 设置 API key(任选一个)
export XIAOMI_TOKEN_PLAN_CN_API_KEY="your-key"
# 或 ANTHROPIC_API_KEY / OPENAI_API_KEY / ZAI_API_KEY / DEEPSEEK_API_KEY
# 运行
npx tsx ricemind-sdk.ts "搜索 precision agriculture 的文献"- 🔍 文献搜索 — CrossRef + Semantic Scholar 双源
- 📄 BibTeX 导出 — 自动去重、citation key 生成、LaTeX 转义
- 🌾 5 个农业模板 — precision-ag / crop-yield / agri-llm / disease-det / remote-sensing
- 🧠 RICEMIND 身份 — 自动注入农业领域 system prompt
- 💬 交互模式 — 多轮对话、上下文记忆、命令系统(/help, /quit, /clear, /list, /survey, /bibtex)
- 📂 Session 管理 — 自动保存历史到 .ricemind/history.jsonl
- 🔧 3 个 inline 工具 — literature_search, bibtex_export, agri_survey
- 💬 交互模式 — 多轮对话、上下文记忆、steering message
- 📂 Session 管理 — 自动保存历史、支持继续对话
npx tsx ricemind-sdk.ts "搜索 precision agriculture 的文献"npx tsx ricemind-sdk.ts交互模式下支持:
- 输入查询搜索文献
/survey <template>领域调研(如:/survey precision-ag)/bibtex导出 BibTeX(从当前对话历史)/clear清空历史/list列出所有 session/quit退出
npx tsx ricemind-sdk.ts "搜索 precision agriculture 的文献"npx tsx ricemind-sdk.ts --history-from .ricemind/history.jsonl| 维度 | pi package | SDK Embedding(本仓库) |
|---|---|---|
| 定位 | pi 的插件 | 独立产品 |
| 安装 | pi install git:... |
npm install + 代码 |
| 代码量 | ~1,900 行 / 12 文件 | ~450 行 / 2 文件 |
| 依赖 | undici (1个) | pi-ai + pi-coding-agent + undici (3个) |
| 交互 | 多轮对话 | 单次查询 |
| Provider | pi 内置 30+ | 手动检测 5 个 |
| 主题/命令 | ✅ 完整 | ❌ 无 |
| 控制力 | 受 pi 框架约束 | 完全控制 |
| 你想做什么 | 推荐 |
|---|---|
| 给 pi 加领域能力 | pi package |
| 个人定制 pi | pi package |
| 独立 AI 产品 | SDK Embedding |
| 多渠道 AI 助手 | SDK Embedding |
| 学术研究工具 | pi package |
| 商业 SaaS | SDK Embedding |
- OpenClaw(⭐368k)— 选择 SDK Embedding,因为要做 30+ 渠道的个人 AI 助手
- RICEMIND — 选择 pi package,因为是领域增强工具
ricemind-sdk.ts(单文件,~450 行)
├── Literature Search Engine # CrossRef + Semantic Scholar API
├── BibTeX Engine # 去重/转义/citation key
├── Agricultural Templates # 5 个领域模板
├── Tool Definitions # 3 个 inline tools (TypeBox schema)
├── System Prompt # RICEMIND 身份 + 原则
└── Bootstrap # createAgentSession + 事件处理
核心 SDK 调用链:
import { createAgentSession, AuthStorage, ModelRegistry } from "@mariozechner/pi-coding-agent";
const { session } = await createAgentSession({
model, // 自动检测 provider
resourceLoader, // 自定义 system prompt
extensionFactories: [tools], // inline 注册工具
sessionManager: SessionManager.inMemory(),
});
session.subscribe((event) => { /* 流式输出 */ });
await session.prompt(query);- ricemind — pi package 版本
- pi-mono — AI agent toolkit(⭐45k+)
- OpenClaw — 个人 AI 助手(⭐368k+,SDK Embedding 的标杆)
MIT