diff --git a/ai/Agent/Kconfig b/ai/Agent/Kconfig new file mode 100644 index 0000000000..1bb42966fc --- /dev/null +++ b/ai/Agent/Kconfig @@ -0,0 +1,110 @@ +# Kconfig file for package Agent +menuconfig PKG_USING_AGENT + bool "lightweight agent software for RT-Thread" + select PKG_USING_CJSON + select PKG_USING_WEBCLIENT + select PKG_USING_MBEDTLS + select PKG_USING_MBEDTLS_DIGICERT_ROOT_CA + select PKG_USING_MBEDTLS_CLOBALSIGN_ROOT_CA + select RT_USING_ULOG + default n + +if PKG_USING_AGENT + + config PKG_AGENT_PATH + string + default "/packages/ai/Agent" + + menu "Agent Runtime Configuration" + config PKG_AGENT_API_KEY + string "Agent user API Key" + default "sk-**-**" + help + API key used to access LLM service. + + config PKG_AGENT_MODEL_NAME + string "LLM model name" + default "deepseek-ai/DeepSeek-V4-Pro" + help + Specify target LLM model name. + + config PKG_AGENT_API_URL + string "LLM API endpoint URL" + default "https://api.siliconflow.cn/v1/chat/completions" + help + Agent model API URL. + Default: https://api.siliconflow.cn/v1/chat/completions + endmenu + + menu "Buffer & Length Configuration" + config PKG_AGENT_WEB_SOCKET_BUFSZ + int "webclient session buffer size" + default 2048 + help + Webclient session send/recv buffer size. + + config PKG_AGENT_RESP_BUFSZ + int "webclient response buffer size" + default 2048 + help + HTTP response temporary buffer size. + + config PKG_AGENT_MAX_REASONING_LEN + int "agent max reasoning text length" + default 2048 + help + Maximum reasoning content buffer length. + + config PKG_AGENT_MAX_CONTENT_LEN + int "agent max message content length" + default 2048 + help + Maximum chat message content length. + + config PKG_AGENT_STREAM_LINE_BUFSZ + int "agent string stream line buffer size" + default 4096 + help + Line buffer size for SSE streaming parse. + + config PKG_AGENT_MAX_TOOL_ARG_LEN + int "agent max tool argument length" + default 512 + help + Maximum json arguments length for tool calling. + endmenu + + choice + prompt "Agent communication channel" + default PKG_AGENT_CLI_CHANNEL + help + Select input/output channel for agent interaction. + + config PKG_AGENT_CLI_CHANNEL + bool "CLI channel (MSH command line)" + help + Interact with agent via RT-Thread MSH CLI. + + config PKG_AGENT_WEBNET_CHANNEL + select PKG_USING_WEBNET + select WEBNET_USING_CGI + bool "WebNet channel (Websocket/HTTP)" + help + Interact with agent via web network interface. + endchoice + + choice + prompt "Agent software version" + default PKG_USING_AGENT_LATEST_VERSION + help + Select Agent package source version. + + config PKG_USING_AGENT_LATEST_VERSION + bool "latest (master branch)" + endchoice + + config PKG_AGENT_VER + string + default "latest" if PKG_USING_AGENT_LATEST_VERSION + +endif \ No newline at end of file diff --git a/ai/Agent/package.json b/ai/Agent/package.json new file mode 100644 index 0000000000..6696437ae1 --- /dev/null +++ b/ai/Agent/package.json @@ -0,0 +1,29 @@ +{ + "name": "Agent", + "description": "rtthread lightweight agent software package", + "description_zh": "rtthread 轻量级Agent软件包", + "enable": "PKG_USING_AGENT", + "keywords": [ + "ai", + "Agent", + "llm", + "toolcall" + ], + "category": "ai", + "author": { + "name": "CXSforHPU", + "email": "19511928573@163.com", + "github": "https://github.com/CXSforHPU" + }, + "license": "MIT", + "repository": "https://github.com/CXSforHPU/Agent", + "homepage": "https://github.com/CXSforHPU/Agent#readme", + "site": [ + { + "version": "latest", + "URL": "https://github.com/CXSforHPU/Agent.git", + "filename": "", + "VER_SHA": "master" + } + ] +} \ No newline at end of file diff --git a/ai/Kconfig b/ai/Kconfig index 233db460ac..360578cdd2 100644 --- a/ai/Kconfig +++ b/ai/Kconfig @@ -12,5 +12,6 @@ source "$PKGS_DIR/packages/ai/naxos/Kconfig" source "$PKGS_DIR/packages/ai/ncnn/Kconfig" source "$PKGS_DIR/packages/ai/r-tinymaix/Kconfig" source "$PKGS_DIR/packages/ai/llmchat/Kconfig" +source "$PKGS_DIR/packages/ai/Agent/Kconfig" endmenu