Skip to content

一个面向终端的轻量化 LLM/Agent 对话工具。

Notifications You must be signed in to change notification settings

tamakara/ChatCLI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ChatCLI

ChatCLI 是一个面向终端的轻量化对话工具。
它把“配置模型服务、管理会话、持续对话”整合到一套清晰的命令行工作流中。


1. 主要能力

  1. 统一 Profile 管理(llm/agent)。
  2. 多会话管理(创建、切换、重命名、删除)。
  3. /status 状态可视化(包含数据库路径、会话、本地ID、外部会话ID、绑定配置、端点,简写:/s)。
  4. Agent 会话外部 session_id 自动回填并复用。

2. 安装与启动

2.1 安装

pip install .

2.2 开发安装

pip install -e .

2.3 启动

默认数据库路径:./chat_cli.db

chatcli

指定数据库路径:

chatcli --db-path ./data/my-chat_cli.db

说明:

  1. 每次启动会把本次运行路径写入 app_state.db_path
  2. 本版本不兼容旧数据库结构。

3. 提示符规则

  1. 无激活会话时:[user]>
  2. 有激活会话时:[session_name]>

4. 命令总览

4.1 通用命令

命令 参数 作用
/help 显示命令帮助(简写:/h
/status 显示当前状态(含数据库路径,简写:/s
/quit 退出程序(简写:/q

4.2 Profile 命令

命令 简写 参数 作用
/profile list /pf ls 列出所有 Profile
/profile new /pf new 创建向导
/profile edit /pf edit profile_name 编辑向导
/profile delete /pf del profile_name 删除 Profile(软删除)
/profile use /pf use profile_name 设置默认 Profile

4.3 会话命令

命令 简写 参数 作用
/session new /new [-n <session_name>] [-p <profile_name>] 创建会话
/session list /ls 列出会话
/session switch /sw session_id 按本地会话ID切换
/session rename /rn [session_id] <new_name> 重命名会话(省略 session_id 时默认当前会话)
/session delete /del session_id 删除会话(软删除)

5. 会话命名规则

  1. 用户可在创建时通过 -n 指定名称。
  2. 未指定时,默认名:new-session-YYYYMMDD-HHMMSS
  3. 不再使用模型/Agent返回内容自动改名。

6. Agent 外部 session_id 规则

  1. 本地会话首次请求 Agent 时,若 sessions.session_id='',请求体发送 session_id: null
  2. 若上游返回 session_id,写回 sessions.session_id
  3. 后续请求复用该值。
  4. 若首次未返回 session_id,本地会话被标记为阻断(sessions.session_id = NULL),后续发送会直接拒绝并提示新建会话。

7. 快速上手

/profile new
/profile use my-agent
/session new -n 日常问答 -p my-agent
你好,帮我整理今天的任务优先级

8. 文档

  1. docs/01-product-spec.md
  2. docs/02-architecture.md
  3. docs/03-agent-protocol.md
  4. docs/04-data-model.md
  5. docs/05-command-reference.md

About

一个面向终端的轻量化 LLM/Agent 对话工具。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages