在你的自定义代理应用中实现斜杠命令——提供便捷的快捷操作。
什么是斜杠命令
斜杠命令是以 / 开头的快捷指令,触发特定的操作而不是普通对话。
实现斜杠命令
SLASH_COMMANDS = {
"/help": lambda: "可用命令:/help, /clear, /model, /context",
"/clear": lambda: (messages.clear(), "会话已清除"),
"/model": lambda: switch_model(),
"/context": lambda: show_context_usage(),
}
def process_input(user_input):
"""处理用户输入,检查是否是斜杠命令。"""
if user_input.startswith("/"):
command = user_input.split()[0]
handler = SLASH_COMMANDS.get(command)
if handler:
return handler()
return f"未知命令: {command}"
# 普通消息,发送给代理
return run_agent(user_input)
def switch_model():
"""切换模型的交互处理。"""
models = ["claude-sonnet-4-20250514", "claude-opus-4-0-20250414"]
print("可用模型:")
for i, model in enumerate(models):
print(f" {i+1}. {model}")
choice = input("选择: ")
current_model = models[int(choice) - 1]
return f"模型已切换到: {current_model}"
扩展命令
# 带参数的命令
SLASH_COMMANDS["/set-max-tokens"] = lambda n: set_max_tokens(int(n))
SLASH_COMMANDS["/save-session"] = lambda: save_session(messages)
SLASH_COMMANDS["/load-session"] = lambda: load_session()