feat: add agent-notify server command

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-02 14:34:39 +08:00
parent e95b3315b0
commit 6802a432d7
2 changed files with 39 additions and 0 deletions
+3
View File
@@ -41,6 +41,8 @@ func run(cmd string, args []string) error {
return cmdLogs(args) return cmdLogs(args)
case "inbox": case "inbox":
return cmdInbox(args, os.Stdout, os.Stderr) return cmdInbox(args, os.Stdout, os.Stderr)
case "server":
return cmdServer(args)
case "version", "-V": case "version", "-V":
return cmdVersion() return cmdVersion()
case "help", "-h", "--help": case "help", "-h", "--help":
@@ -205,6 +207,7 @@ Commands:
test claude [--apply] test claude [--apply]
logs [--tail 30] logs [--tail 30]
inbox <list|show|done|rm|clear|serve|ssh-config> inbox <list|show|done|rm|clear|serve|ssh-config>
server [--listen ADDR] [--db PATH] [--token TOKEN]
version version
doctor doctor
`) `)
+36
View File
@@ -0,0 +1,36 @@
package main
import (
"flag"
"fmt"
"net/http"
"os"
"github.com/longbin/agent-notify/internal/server"
)
func cmdServer(args []string) error {
fs := flag.NewFlagSet("server", flag.ExitOnError)
listen := fs.String("listen", ":8080", "listen address")
db := fs.String("db", "./agent-notify.db", "SQLite database path")
token := fs.String("token", "", "API bearer token")
_ = fs.Parse(args)
tok := *token
if tok == "" {
tok = os.Getenv("AGENT_NOTIFY_TOKEN")
}
if tok == "" {
return fmt.Errorf("--token or AGENT_NOTIFY_TOKEN is required")
}
store, err := server.Open(*db)
if err != nil {
return err
}
defer store.Close()
handler := server.NewHandler(store, tok)
fmt.Fprintf(os.Stderr, "agent-notify server listening on %s\n", *listen)
return http.ListenAndServe(*listen, handler)
}