f2e8e3f56c
Survey of 10 mainstream CLIs (gh, lark, stripe, vercel, supabase, aws, azure, gcloud, openai/codex, github-copilot-cli) showed env-gated per-command --help blurbs are a Stripe-only pattern; gh uses env detect for telemetry only, and lark relies on installed agent Skills + MCP. Our cmd/mcp/serve already covers the dominant 2025/26 path, so internal/aiclient/ (136 LOC + 38 callsites) is net maintenance burden without precedent. - Drop internal/aiclient/ entirely (annotations + detect + tests) - Remove 38 SetAgentHelp callsites + agentAwareHelpFunc / SetHelpFunc wiring in cmd/root.go - Migrate 4 command-level rules to standard Long help (visible to all, not env-gated): doc upload mode mutex, kb edit at-least-one, kb pin idempotent, search chunks channel mutex - Rewrite AGENTS.md as a developer guide (gh-style 6 H2 / 167 lines): audience preamble + Build / Architecture / Command Structure / Testing / Code Style / Error Handling. Drops sections absent in surveyed projects (Commit & PR Conventions, Who Uses This CLI) - Clean 14 internal doc refs (ADR-N, spec §X, v0.X) in source comments and docs that pointed at docs/superpowers/ — that directory is local-only / uncommitted, so refs are dead for outside readers - Drop forward-looking "once v0.2 ships" from README
36 lines
1.3 KiB
Go
36 lines
1.3 KiB
Go
// Package agentcmd holds the `weknora agent` command tree:
|
|
// list / view / invoke. The directory is named `agent/` (matches cobra
|
|
// noun-verb convention) but the Go package is `agentcmd` to avoid
|
|
// colliding with cobra's *cobra.Command identifier.
|
|
//
|
|
// "agent" in this subtree refers to WeKnora's user-defined Custom
|
|
// Agents (server resource: GET/POST /agents/...). The CLI's
|
|
// `agent invoke` calls /agent-chat/:session_id which dispatches the
|
|
// agent's configured workflow (system prompt, allowed tools, KB scope,
|
|
// retrieval thresholds).
|
|
package agentcmd
|
|
|
|
import (
|
|
"github.com/spf13/cobra"
|
|
|
|
"github.com/Tencent/WeKnora/cli/internal/cmdutil"
|
|
)
|
|
|
|
// NewCmd builds the `weknora agent` parent and registers leaves. Called
|
|
// from cli/cmd/root.go.
|
|
func NewCmd(f *cmdutil.Factory) *cobra.Command {
|
|
cmd := &cobra.Command{
|
|
Use: "agent",
|
|
Short: "Manage and invoke custom agents",
|
|
Long: `Custom Agents bundle a system prompt, model, tool allow-list, and KB
|
|
scope into an addressable resource. List visible agents, view a single
|
|
agent's configuration, or invoke an agent against a query.`,
|
|
Args: cobra.NoArgs,
|
|
Run: func(c *cobra.Command, _ []string) { _ = c.Help() },
|
|
}
|
|
cmd.AddCommand(NewCmdList(f))
|
|
cmd.AddCommand(NewCmdView(f))
|
|
cmd.AddCommand(NewCmdInvoke(f))
|
|
return cmd
|
|
}
|