Skip to main content

五块卵石 - 终端 REPL

Project description

fp-terminal — 五块卵石终端 REPL

PyPI Python License

简介

fp-terminal 是五块卵石(Five Pebbles)Agent 框架的交互式命令行界面。它基于 prompt-toolkit 构建,提供了语法高亮、自动补全、多行编辑、历史记录等现代终端体验。

通常通过主包 fp 安装,无需单独安装。


特性

  • REPL 交互模式 — 实时与 Agent 对话,流式输出响应
  • 命令系统 — 内置 / 命令用于控制会话、加载插件、切换模型等
  • 语法高亮 — 代码块自动识别并着色
  • 自动补全 — 命令与参数 Tab 补全
  • 多行编辑 — 支持粘贴多行文本或代码
  • 会话历史 — 对话历史持久化存储,跨会话可回溯
  • 多彩输出 — 基于 rich 的渲染引擎

安装

pip install fp-terminal

要求 Python >= 3.11。


快速使用

启动 REPL

fp

或显式调用:

python -m fp_cli

启动后进入交互模式:

╭─ Five Pebbles ───────────────────────────╮
│ 输入 /help 查看可用命令                   │
│ 按 Ctrl+D 或输入 /exit 退出               │
╰──────────────────────────────────────────╯

🤖 你好!我是五块卵石,请告诉我你的问题。

开始对话

>> 请用 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fp_terminal-0.1.2.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fp_terminal-0.1.2-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file fp_terminal-0.1.2.tar.gz.

File metadata

  • Download URL: fp_terminal-0.1.2.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for fp_terminal-0.1.2.tar.gz
Algorithm Hash digest
SHA256 1c22380e56a306aebfa486e57616b072b4ae9699dc5e9a4de1563b83fa9ff7cd
MD5 de2d42edc9f44d7946e15dda69b9a528
BLAKE2b-256 c01ed5409de098c90aeb001fa6b899d8d361d0448090ebec2b003462e300125c

See more details on using hashes here.

Provenance

The following attestation bundles were made for fp_terminal-0.1.2.tar.gz:

Publisher: release.yml on zpb911km/fp-agent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fp_terminal-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: fp_terminal-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for fp_terminal-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f4aa97a0c449ff40fe09b0b32b51531ff78b1d5f9d16a4133730cd66e667531a
MD5 c89b8880411a408930331b90fe07fc38
BLAKE2b-256 e3beaffe4f80e546396db63964dd6437a9179a56dda64ee755ebc6594f5193c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for fp_terminal-0.1.2-py3-none-any.whl:

Publisher: release.yml on zpb911km/fp-agent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page