LL

lyxhnu/langchain-miniopenclaw

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

181 stars 质量 47 趋势 17

lyxhnu/langchain-miniopenclaw 是从 https://github.com/lyxhnu/langchain-miniopenclaw. 导入的特工技能候选

概览

lyxhnu/langchain-miniopenclaw 是从 https://github.com/lyxhnu/langchain-miniopenclaw. 导入的特工技能候选

概述(AI 翻译)

可在https://www.bilibili.com/video/BV1izcXz8EJx/?vd_source=af1143f8815e17a230561ad0ef6c689b 观看视频

一个本地运行、文件优先、可审计的 AI Agent 工作台。

  • 对话会落盘到本地 JSON
  • 长期记忆保存在 Markdown
  • 技能不是黑盒函数,而是可读可改的 SKILL.md
  • Prompt、工具调用、记忆注入、检索过程都能被看到

如果你想做一个“能解释自己为什么这样做”的 Agent,这个项目就是为这个方向准备的。

为什么是它

很多 Agent 项目都很强,但也很“黑盒”:

  • 记忆存在向量库里,看不到
  • Prompt 拼接在代码深处,改起来不直观
  • 技能是硬编码函数,扩展成本高
  • 出错以后很难复盘“它到底做了什么”

langchain-OpenClaw 反过来做了几个选择:

传统做法 langchain-OpenClaw
向量库是唯一记忆来源 文件是事实源,索引只是可重建缓存
技能写死在代码里 技能 = skills/*/SKILL.md
Prompt 隐藏在代码里 Prompt 由多个 Markdown 文件实时组装
工具调用不透明 前端可看到 token、tool start/end、raw messages
项目越做越重 默认本地运行,无 MySQL / Redis 依赖

它现在能做什么

当前仓库已经具备一套完整的本地 Agent 基础能力:

  • 流式聊天:基于 FastAPI SSE 返回 token、工具调用、分段回复
  • 会话持久化:每轮对话保存到 backend/sessions/*.json
  • 长期记忆:backend/memory/MEMORY.md
  • 本地知识库检索:backend/knowledge/ + LlamaIndex
  • 技能系统:Agent 先看技能快照,再按需读取 SKILL.md
  • 三栏工作台 UI:会话列表、聊天区、文件检查器
  • 文件在线编辑:可直接编辑 Memory / Skills / Workspace 文件
  • RAG 模式切换:可选择“直接拼接记忆”或“检索后注入”

当前内置的技能包括:

  • 天气查询
  • 联网搜索(塔维利)
  • 本地知识库检索
  • 失败恢复经验沉淀

界面结构

前端是一个面向 Agent 调试的三栏工作台:

  • 左栏:会话列表、历史消息、Raw Messages
  • 中栏:聊天面板、工具调用链、检索卡片、流式输出

本页由 AI 翻译,技术细节请以原文为准。

README

以下为原文 README 节选,完整内容请查看原文。

langchain-OpenClaw

可在https://www.bilibili.com/video/BV1izcXz8EJx/?vd_source=af1143f8815e17a230561ad0ef6c689b 观看视频

一个本地运行、文件优先、可审计的 AI Agent 工作台。

  • 对话会落盘到本地 JSON
  • 长期记忆保存在 Markdown
  • 技能不是黑盒函数,而是可读可改的 SKILL.md
  • Prompt、工具调用、记忆注入、检索过程都能被看到

如果你想做一个“能解释自己为什么这样做”的 Agent,这个项目就是为这个方向准备的。

为什么是它

很多 Agent 项目都很强,但也很“黑盒”:

  • 记忆存在向量库里,看不到
  • Prompt 拼接在代码深处,改起来不直观
  • 技能是硬编码函数,扩展成本高
  • 出错以后很难复盘“它到底做了什么”

langchain-OpenClaw 反过来做了几个选择:

传统做法 langchain-OpenClaw
向量库是唯一记忆来源 文件是事实源,索引只是可重建缓存
技能写死在代码里 技能 = skills/*/SKILL.md
Prompt 隐藏在代码里 Prompt 由多个 Markdown 文件实时组装
工具调用不透明 前端可看到 token、tool start/end、raw messages
项目越做越重 默认本地运行,无 MySQL / Redis 依赖

它现在能做什么

当前仓库已经具备一套完整的本地 Agent 基础能力:

  • 流式聊天:基于 FastAPI SSE 返回 token、工具调用、分段回复
  • 会话持久化:每轮对话保存到 backend/sessions/*.json
  • 长期记忆:backend/memory/MEMORY.md
  • 本地知识库检索:backend/knowledge/ + LlamaIndex
  • 技能系统:Agent 先看技能快照,再按需读取 SKILL.md
  • 三栏工作台 UI:会话列表、聊天区、文件检查器
  • 文件在线编辑:可直接编辑 Memory / Skills / Workspace 文件
  • RAG 模式切换:可选择“直接拼接记忆”或“检索后注入”

当前内置的技能包括:

  • 天气查询
  • 联网搜索(Tavily)
  • 本地知识库检索
  • 失败恢复经验沉淀

界面结构

前端是一个面向 Agent 调试的三栏工作台:

  • 左栏:会话列表、历史消息、Raw Messages
  • 中栏:聊天面板、工具调用链、检索卡片、流式输出
  • 右栏:Memory / Skills / Workspace 文件编辑器(Monaco)

这不是一个只给终端用的 Agent,而是一个“能看见自己内部状态”的 Agent IDE。

一次请求发生了什么

flowchart LR
    U["用户发送消息"] --> F["POST /api/chat"]
    F --> S["加载会话历史 sessions/*.json"]
    S --> R{"RAG 模式?"}
    R -- 是 --> M["检索 memory/MEMORY.md"]
    R -- 否 --> P["直接拼接系统提示词"]
    M --> P
    P --> A["LangChain create_agent"]
    A --> T["调用工具 / 读取技能 / 生成回复"]
    T --> E["SSE 推送 token / tool_start / tool_end / done"]
    E --> UI["前端实时更新界面"]
    UI --> SAVE["保存用户消息、助手消息、工具记录"]

技术栈

后端

  • Python 3.10+
  • FastAPI
  • LangChain 1.x create_agent
  • LlamaIndex Core
  • OpenAI-compatible model API

前端

  • Next.js 14 App Router
  • React 18
  • TypeScript
  • Tailwind CSS
  • Monaco Editor

默认模型配置

  • LLM Provider: zhipu
  • LLM Model: glm-5
  • Embedding Provider: bailian
  • Embedding Model: text-embedding-v4

目前已支持的模型厂商:

  • 智谱 zhipu
  • 百炼 bailian
  • DeepSeek deepseek
  • OpenAI 兼容接口 openai

快速开始

1. 环境要求

  • Python 3.10+
  • Node.js 18+
  • npm

2. 启动后端

cd backend
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
copy .env.example .env

至少补齐这些环境变量:

# 默认聊天模型
ZHIPU_API_KEY=your_key

# 默认 embedding
BAILIAN_API_KEY=your_key

# 联网搜索技能(可选,但推荐)
TAVILY_API_KEY=your_key

然后启动:

uvicorn app:app --host 0.0.0.0 --port 8002 --reload

3. 启动前端

cd frontend
npm install
npm run dev

打开 http://localhost:3000。

5 分钟体验路线

如果你第一次打开项目,建议按这个顺序体验:

  1. 发一条普通聊天消息,感受流式输出(1.黄金现在多少钱。2.帮我在知识库中查询(哪些商品库存不足/三一重工前三大股东/为什么我在我的帐户中找不到我的订单?"…)3.帮我查询北京天气)
在 GitHub 查看完整 README

推荐工具

换一个关键词,或者移除筛选条件。

安装

npx skillfish add lyxhnu/langchain-miniopenclaw
新手?先看 mcpskill.org 教程 →