fp-terminal — FP 终端 REPL
简介
fp-terminal 是FPAgent 框架的交互式命令行界面。它基于 prompt-toolkit 构建,提供了语法高亮、自动补全、多行编辑、历史记录等现代终端体验。
通常通过主包
fp安装,无需单独安装。
特性
- REPL 交互模式 — 实时与 Agent 对话,流式输出响应
- 命令系统 — 内置
/命令用于控制会话、加载插件、切换模型等 - 语法高亮 — 代码块自动识别并着色
- 自动补全 — 命令与参数 Tab 补全
- 多行编辑 — 支持粘贴多行文本或代码
- 会话历史 — 对话历史持久化存储,跨会话可回溯
- 多彩输出 — 基于
rich的渲染引擎
安装
pip install fp-terminal
要求 Python >= 3.11。
Windows 用户:推荐安装 Git for Windows(安装时勾选"Git Bash"并添加到 PATH),以获得完整的 Unix 命令支持。未安装时会自动降级到 cmd.exe,仅支持 Windows 原生命令。
快速使用
启动 REPL
fp
或显式调用:
python -m fp_cli
启动后进入交互模式:
╭─ FP ───────────────────────────╮
│ 输入 /help 查看可用命令 │
│ 按 Ctrl+D 或输入 /exit 退出 │
╰──────────────────────────────────────────╯
🤖 你好!我是 FP,请告诉我你的问题。
开始对话
>> 请用 Python 写一个快速排序
# 直接输入即发送消息,Agent 会流式输出回复
>> /save session-quicksort
# 保存当前会话
>> /load session-quicksort
# 恢复历史会话
命令列表
| 命令 | 别名 | 说明 |
|---|---|---|
/help |
/h |
显示帮助信息 |
/exit |
/q, /quit |
退出 REPL |
/clear |
/c |
清屏 |
/save <name> |
— | 保存当前会话 |
/load <name> |
— | 加载指定会话 |
/list |
/ls |
列出所有会话 |
/delete <name> |
/rm |
删除指定会话 |
/model <name> |
— | 切换 LLM 模型 |
/plugin list |
— | 列出已加载的插件 |
/plugin load <name> |
— | 动态加载插件 |
/tool list |
— | 列出可用工具 |
/env |
— | 查看当前环境配置 |
/config <key>=<value> |
— | 动态修改配置 |
/reset |
— | 重置当前会话上下文 |
/export <format> |
— | 导出会话(json/md) |
快捷键
| 快捷键 | 功能 |
|---|---|
Tab |
自动补全命令/参数 |
Ctrl+C |
中断当前输出 |
Ctrl+D |
退出 REPL |
Ctrl+L |
清屏 |
Ctrl+R |
反向搜索历史 |
Up/Down |
浏览历史命令 |
Shift+Enter |
换行(多行输入) |
Ctrl+W |
删除前一个词 |
Ctrl+U |
删除整行 |
Ctrl+K |
删除光标至行尾 |
配置
通过命令行标志自定义启动行为:
# 指定配置文件
fp --config ./my-config.yaml
# 指定初始模型
fp --model claude-3-opus
# 静默模式(跳过启动横幅)
fp --quiet
# 调试模式
fp --debug
配置文件示例(YAML):
cli:
theme: dark # dark / light
multi_line: true # 启用多行编辑
max_history: 1000 # 历史记录条数
stream: true # 流式输出
依赖
| 依赖 | 版本 | 用途 |
|---|---|---|
fp-core |
>= 0.1.0 | Agent 核心引擎 |
prompt-toolkit |
>= 3.0.40 | 终端交互框架 |
许可
MIT © zpb
Metadata
Release files for fp-terminal 0.1.14
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fp_terminal-0.1.14.tar.gz | 20.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fp_terminal-0.1.14-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 39.8 kB
Release files / fp_terminal-0.1.14.tar.gz
| Download URL | fp_terminal-0.1.14.tar.gz |
|---|---|
| Size | 20.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fa11f91b06ad0ef7ed56d715972bb14295b4ab16ce6c357f01ec309e934e01a2
|
|
BLAKE2b-256 checksum How to use checksums |
47b5f966775780fa37e6a1d614203cd44d1d756d24bbb6ebbce6895f03992585
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.8
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.
Transparency logRelease files / fp_terminal-0.1.14-py3-none-any.whl
| Download URL | fp_terminal-0.1.14-py3-none-any.whl |
|---|---|
| Size | 19.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2d685d899edd35893b59d4d6e484797c1265fec5d70bf43221009fed7d023d41
|
|
BLAKE2b-256 checksum How to use checksums |
4245b88a186378d33f78507998f5c4a419f9064d48ecf559c115a657c7e65481
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.8
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.
Transparency log