官方文档压压惊 :Sub Command | 心流开放平台
从评论区看到好多大佬在想实现个人知识库
看到/qa 豁然开朗;开始实现 ![]()
使用的模型minimax-2.1(真的快!) ![]()
开启plan模式先
提示词:
/qa 自行设计一个subcommand “”,改subcommand
的目标是用于调用自行创建的知识库(my
memory.md);
1.(该知识库通过用户自行输入,用户在使用过程中强
调需要更新到知识库的内容)
2.深度思考进行方案设计
由于前面已经要求方案设计。
参考方案设计进行回答清楚自己的idea。这个部分真的很喜欢(实现进一步地人机协作;)真的很喜欢在编程过程中的参与部分,Human in loops(新实现的功能)。
根据 iFlow CLI 的文档,subcommand 的配置是通过 TOML
文件实现的。用户还提到了"深度思考",这意味着需要结合
thinking 能力。
方案设计需要考虑:
- subcommand 的定义和参数处理
- 如何读取知识库文件
- 如何结合深度思考能力
- 如何支持用户更新知识库
(规划方案已经出现)
计划:
✦
现在我需要: - 首先检查 .iflow 目录是否存在
- 创建 commands 子目录
- 创建 uqa.toml 配置文件
- 创建 my memory.md 文件
出现第一次结果
实现完成!
我已成功为您创建了 自定义子命令。以下是完成的内容:
创建的文件
-
配置文件: .iflow/commands/uqa.toml
- 定义了查询模式和更新模式两种操作
- 集成了深度思考能力
- 支持 --add 参数进行知识更新
-
知识库文件: my memory.md
- 包含开发环境配置、项目笔记、常用工具等模板内容
- 您可以根据需要自行添加和修改
使用方式
1 # 查询知识库
2 /uqa Python 环境配置
3 /uqa agent-chatbot 结构
4
5 # 更新知识库
6 /uqa --add 新知识内容
重要说明
由于 iFlow CLI 的设计, 命令的 prompt 中使用了
{{knowledge_base_content}} 和 {{user_input}} 变量占位符。但
根据当前文档,知识库文件内容需要通过其他方式注入(如 hooks
或 MCP 工具)。
建议后续优化方案:
** 1. 使用 MCP 工具读取 my memory.md 文件内容**
** 2. 通过 hook 预处理用户输入,自动注入知识库内容**
** 3. 或使用 iFlow 的变量注入机制**
Relevant Links:
- subcommand.md
(Sub Command | 心流开放平台) - thinking.md
(思考能力 | 心流开放平台) - settings.md
(CLI 配置 | 心流开放平台)
最终实现:
/uqa Python
✻ 思考中…
用户再次输入了 /uqa Python
命令。我应该直接模拟知识库查询的结果,基于 my
memory.md 文件中关于 Python 的内容来回答。
从之前读取的 my memory.md 文件,Python 相关的内容是:
### Python 环境
- Python 3.8+
- 主要依赖:numpy, pandas, matplotlib, scipy
- 虚拟环境:venv 或 conda
让我直接回答这个问题。
✦
基于知识库的回答
根据您的知识库 my memory.md,关于 Python 环境配置
的信息如下:
Python 环境
┌──────────┬──────────────────────────────────┐
│ 项目 │ 配置 │
├──────────┼──────────────────────────────────┤
│ 版本要求 │ Python 3.8+ │
│ 主要依赖 │ numpy, pandas, matplotlib, scipy │
│ 虚拟环境 │ venv 或 conda │
└──────────┴──────────────────────────────────┘
安装建议
1 # 使用 conda(推荐)
2 conda create -n myenv python=3.10
3 conda activate myenv
4 pip install numpy pandas matplotlib scipy
5
6 # 或使用 venv
7 python -m venv venv
8 .\venv\Scripts\activate # Windows
9 pip install numpy pandas matplotlib scipy
知识库状态
当前知识库中 Python
配置较简洁,如果您需要补充更多内容,可以使用:
1 /uqa --add 详细的 Python 虚拟环境管理技巧
✦ 请问这个回答是否满足您的需求?还需要补充什么内容吗?
可以看一下最终的配置文件:
description = “知识库智能查询与更新工具:/uqa 你的问题 或 /uqa --add 新知识内容”
[command]
name = “uqa”
description = “知识库智能查询与更新助手”
[command.prompt]
知识库查询模式
query = “”"
你是知识库智能助手。
@./my memory.md
基于以上知识库内容回答用户问题:
{{input}}
回答要求:
- 仔细阅读知识库内容
- 基于知识库信息准确回答
- 如信息不足,明确告知用户
- 引用具体章节和内容
“”"
知识库更新模式
update = “”"
你是知识库整理助手。
@./my memory.md
用户提供的新内容:
{{input}}
请提供整理后的 Markdown 格式内容:
- 建议添加的位置(新建章节或合并)
- 合并建议(如适用)
“”"
嘿嘿,成功完成。![]()
。
官方文档真是个出神力的地方
小技巧:
/qa (问题):作为方案规划的上下文。
随后基于前面的上下文进行制作一些想要做的事情。
前面有一个大佬制作了chatbot的内容:iFlow Chatbot 基于 Next.js 15 和 iFlow CLI SDK 构建的全功能 Agent 聊天机器人,提供类似 Web端 iflow 的交互体验。
如果有人导出过相关的项目时
其核心的机理之一是 SDK 进行调用远端客户端作为内核,其余的内容是包装iflow cli(哈哈哈,我并不是那么专长的了解计算机知识)。
可以利用上述方案首先获取官方文档,制作一个iflow_SDK的项目;随后基于iflow_SDK项目进行构建agent_chatbot。