diff --git a/internal/app/event_command.go b/internal/app/event_command.go index c949b000..7c5510a0 100644 --- a/internal/app/event_command.go +++ b/internal/app/event_command.go @@ -280,7 +280,7 @@ func newEventConsumeCommand() *cobra.Command { f.StringVar(&personalOpts.GroupID, "group", "", "group 规则:openConversationId") f.StringVar(&personalOpts.ControlBaseURL, "personal-event-base-url", "", - "个人事件控制面 base URL;默认由 MCP base URL 派生为 /dws") + "个人事件控制面 base URL;当前默认预发 https://pre-mcp.dingtalk.com/dws") f.BoolVar(&personalOpts.DebugRawEvents, "debug-raw-events", false, "个人事件联调:绕过本地 event type/subscribe_id 过滤,输出当前 personal stream bus 收到的所有事件") f.StringVar(&streamOpts.Mode, "stream-ticket-mode", strings.TrimSpace(os.Getenv("DWS_STREAM_TICKET_MODE")), @@ -288,7 +288,7 @@ func newEventConsumeCommand() *cobra.Command { f.StringVar(&streamOpts.SourceID, "stream-source-id", strings.TrimSpace(os.Getenv("DWS_STREAM_SOURCE_ID")), "个人 Stream sourceId;开源版默认 open,可由 edition 覆盖") f.StringVar(&streamOpts.TicketURL, "stream-ticket-url", strings.TrimSpace(os.Getenv("DWS_STREAM_TICKET_URL")), - "个人 Stream 取票 URL;默认由 MCP base URL 派生") + "个人 Stream 取票 URL;当前默认预发 https://pre-mcp.dingtalk.com/stream/connections/ticket") hideEventInternalFlags(cmd, "as") return cmd } @@ -718,7 +718,7 @@ func newEventStatusCommand() *cobra.Command { cmd.Flags().StringVar(&personalOpts.EventKey, "event", "", "个人事件 event_key 过滤") cmd.Flags().StringVar(&personalOpts.Status, "status", "active", "个人订阅状态过滤: active|paused|error|deleted|all") cmd.Flags().StringVar(&personalOpts.SubscribeID, "subscribe-id", "", "个人订阅 ID 过滤") - cmd.Flags().StringVar(&personalOpts.ControlBaseURL, "personal-event-base-url", "", "个人事件控制面 base URL;默认由 MCP base URL 派生为 /dws") + cmd.Flags().StringVar(&personalOpts.ControlBaseURL, "personal-event-base-url", "", "个人事件控制面 base URL;当前默认预发 https://pre-mcp.dingtalk.com/dws") cmd.Flags().StringVar(&personalOpts.StreamSourceID, "stream-source-id", strings.TrimSpace(os.Getenv("DWS_STREAM_SOURCE_ID")), "个人事件 sourceId;开源版默认 open,可由 edition 覆盖") hideEventInternalFlags(cmd, "as", "all", "all-editions", "client-id", "fail-on-orphan") @@ -997,7 +997,7 @@ func newEventStopCommand() *cobra.Command { }, } cmd.Flags().StringVar(&asIdentity, "as", "user", "事件身份: user") - cmd.Flags().StringVar(&opts.ControlBaseURL, "personal-event-base-url", "", "个人事件控制面 base URL;默认由 MCP base URL 派生为 /dws") + cmd.Flags().StringVar(&opts.ControlBaseURL, "personal-event-base-url", "", "个人事件控制面 base URL;当前默认预发 https://pre-mcp.dingtalk.com/dws") cmd.Flags().StringVar(&opts.StreamSourceID, "stream-source-id", strings.TrimSpace(os.Getenv("DWS_STREAM_SOURCE_ID")), "个人事件 sourceId;开源版默认 open,可由 edition 覆盖") cmd.Flags().BoolVar(&opts.All, "all", false, "取消当前身份下本地记录的所有个人订阅") diff --git a/internal/app/event_personal_command.go b/internal/app/event_personal_command.go index 882d1b7d..090accc7 100644 --- a/internal/app/event_personal_command.go +++ b/internal/app/event_personal_command.go @@ -36,11 +36,12 @@ import ( "github.com/DingTalk-Real-AI/dingtalk-workspace-cli/internal/event/consume" "github.com/DingTalk-Real-AI/dingtalk-workspace-cli/internal/event/personal" "github.com/DingTalk-Real-AI/dingtalk-workspace-cli/internal/event/source" - "github.com/DingTalk-Real-AI/dingtalk-workspace-cli/pkg/config" "github.com/DingTalk-Real-AI/dingtalk-workspace-cli/pkg/edition" "github.com/spf13/cobra" ) +const defaultPersonalEventMCPBaseURL = "https://pre-mcp.dingtalk.com" + type commonConsumeOptions struct { EventTypes []string Filter string @@ -830,7 +831,7 @@ func personalEventMCPBaseURL(configDir string) string { if v := configuredMCPBaseURL(configDir); v != "" { return strings.TrimRight(v, "/") } - return config.DefaultMCPBaseURL + return defaultPersonalEventMCPBaseURL } func configuredMCPBaseURL(configDir string) string { diff --git a/internal/app/event_personal_identity_test.go b/internal/app/event_personal_identity_test.go index afdbdbe7..5448c68c 100644 --- a/internal/app/event_personal_identity_test.go +++ b/internal/app/event_personal_identity_test.go @@ -133,18 +133,18 @@ func TestResolvePersonalEventIdentityDefaultsSourceIDToOpen(t *testing.T) { } } -func TestPersonalEventDefaultsUseProductionWithoutMCPConfig(t *testing.T) { +func TestPersonalEventDefaultsUsePreReleaseWithoutMCPConfig(t *testing.T) { dir := t.TempDir() t.Setenv("DWS_CONFIG_DIR", dir) prev := edition.Get() edition.Override(&edition.Hooks{}) t.Cleanup(func() { edition.Override(prev) }) - if got := personalEventControlBaseURL("", dir); got != "https://mcp.dingtalk.com/dws" { - t.Fatalf("personalEventControlBaseURL() = %q, want production control URL", got) + if got := personalEventControlBaseURL("", dir); got != "https://pre-mcp.dingtalk.com/dws" { + t.Fatalf("personalEventControlBaseURL() = %q, want pre-release control URL", got) } - if got := personalEventStreamTicketURL("", dir); got != "https://mcp.dingtalk.com/stream/connections/ticket" { - t.Fatalf("personalEventStreamTicketURL() = %q, want production ticket URL", got) + if got := personalEventStreamTicketURL("", dir); got != "https://pre-mcp.dingtalk.com/stream/connections/ticket" { + t.Fatalf("personalEventStreamTicketURL() = %q, want pre-release ticket URL", got) } if got := personalEventStreamSourceID(""); got != "open" { t.Fatalf("personalEventStreamSourceID() = %q, want open", got)