Files
WeKnora/internal/im/cmd_stop.go
T
nullkey f05f9b0e11 feat(im): add slash-command system with /help, /info, /search, /stop, /clear
Introduce a pluggable command framework for IM channels. Includes
Command interface, CommandRegistry for registration and dispatch,
and five built-in commands: /help (list commands), /info (inspect
knowledge bases), /search (search knowledge), /stop (cancel running
QA), and /clear (reset conversation context).
2026-03-20 15:49:59 +08:00

22 lines
750 B
Go

package im
import "context"
// StopCommand implements /stop.
// It cancels the in-flight QA request for the current user+chat, allowing the
// user to abort a long-running ReAct reasoning chain without waiting for it to
// complete. If no request is in progress the command simply acknowledges.
type StopCommand struct{}
func newStopCommand() *StopCommand { return &StopCommand{} }
func (c *StopCommand) Name() string { return "stop" }
func (c *StopCommand) Description() string { return "中止当前正在进行的回答" }
func (c *StopCommand) Execute(_ context.Context, _ *CommandContext, _ []string) (*CommandResult, error) {
return &CommandResult{
Content: "✅ 已请求中止当前回答。",
Action: ActionStop,
}, nil
}