从脚本到命令:打造专属Linux工具,提升开发效率
1. 项目概述为什么我们需要一个自己的命令在Linux世界里我们每天都在和命令打交道ls、cd、grep、find……这些命令就像我们手中的瑞士军刀高效而精准。但你是否曾有过这样的时刻一个复杂的操作需要反复敲入一串长长的命令或者一个特定的工作流需要组合好几个工具才能完成每次都要回忆或翻找历史记录又或者你发现某个常用功能现有的命令用起来总是不够顺手缺了那么一点“定制感”。这个时候编写一个属于自己的命令就成了从“命令使用者”进阶到“系统塑造者”的关键一步。这不仅仅是写个脚本那么简单它意味着你将常用的操作固化、优化并集成到系统的血脉之中让它像原生命令一样随时听候调遣。无论是为了提升日常工作效率封装团队内的特定工具链还是单纯为了探索Linux系统的运作机制“编写自己的命令”都是一个极具实践价值且充满乐趣的项目。它不要求你是编程专家但能让你对Shell、环境变量、系统路径有更深刻的理解。今天我就以自己多次封装自动化部署和日志处理命令的经验带你从零开始打造一个专属于你、功能强大且风格独特的Linux命令。2. 核心思路与实现路径解析2.1 命令的本质从脚本到命令的蜕变在动手之前我们必须厘清一个核心概念在Linux中一个“命令”到底是什么简单来说任何可以被Shell识别并执行的可执行文件都可以称为命令。它可以是系统内置的二进制程序如/bin/ls由C等语言编译而成。Shell内置命令如cd由Shell本身提供。脚本文件如Python、Bash、Perl脚本只要它有可执行权限且能被正确解析。我们“编写自己的命令”绝大多数时候指的是第三种情况创建一个脚本文件并让系统能够像找到ls一样找到它。这里的关键在于两个点可执行权限和搜索路径。实现路径通常有三条各有优劣路径A直接使用绝对或相对路径。例如你在家目录写了个脚本~/myscript.sh每次执行都要输入/home/yourname/myscript.sh或./myscript.sh如果在该目录下。这显然不够“命令化”。路径B将脚本所在目录加入PATH环境变量。这是最灵活、最个人化的方式。你可以把所有的自定义脚本都放在一个目录下比如~/bin然后将这个目录添加到PATH中。之后在任何位置只需输入脚本名即可执行。这是本文推荐的主流方法。路径C将脚本复制到系统已有的PATH目录中如/usr/local/bin。这通常需要管理员权限sudo并且会影响系统上的所有用户。适用于那些你希望全局可用的、比较稳定的工具。对于个人日常使用路径B是最佳实践。它既不会污染系统目录又管理方便完全在你的用户控制之下。2.2 工具与语言选型用什么来写你的命令选择哪种编程或脚本语言来编写你的命令取决于命令的复杂度和你的熟悉程度。Bash Shell Script这是首选尤其是对于文件操作、流程控制、调用其他命令组合完成任务。它的优势是直接运行在Shell环境中处理文本、操作文件、管理进程得天独厚且无需额外依赖。你的命令很可能就是一个功能强大的Shell脚本。对于需要复杂逻辑判断、循环、字符串处理的任务Bash完全胜任。Python如果你的命令涉及更复杂的逻辑、网络请求、数据处理如JSON/XML解析、或者需要用到丰富的第三方库Python是更强大的选择。现代Linux系统通常预装Python其可读性和生态库是巨大优势。你可以写一个Python脚本并在第一行指定解释器#!/usr/bin/env python3。其他脚本语言如Perl擅长文本处理、Ruby等如果你对其特别熟悉也可以使用。编译型语言C/Go/Rust对于追求极致性能、或希望分发二进制文件而不暴露源码的场景可以用这些语言编写并编译。但这超出了“快速编写自定义命令”的入门范畴属于进阶玩法。我的建议是从Bash开始。大多数自定义命令都是为了自动化重复的Shell操作Bash是最直接的工具。当Bash脚本变得过于冗长或复杂时再考虑用Python重构。3. 实战打造一个专业的“工作区切换”命令光说不练假把式。我们以一个实际且常用的场景为例创建一个名为wsworkspace的缩写的命令。它的功能是快速切换并初始化不同的项目工作区。比如输入ws project_alpha就能自动切换到~/workspace/project_alpha目录并自动启动特定的开发环境如激活虚拟环境、打开特定文件、启动后台服务等。3.1 第一步创建脚本与基础框架首先在你的家目录下创建一个用于存放个人命令的目录并创建我们的命令脚本。mkdir -p ~/bin # 创建个人命令目录 touch ~/bin/ws # 创建名为‘ws’的命令文件 chmod x ~/bin/ws # 赋予可执行权限使用你喜欢的文本编辑器如vimnano 或code打开~/bin/ws开始编写。脚本开头Shebang#!/usr/bin/env bash#!/usr/bin/env bash是一个更可移植的Shebang写法。它会自动在PATH中寻找bash解释器比直接写#!/bin/bash更灵活。添加基础逻辑和帮助信息一个健壮的命令应该提供帮助信息。#!/usr/bin/env bash # 定义工作区根目录 WORKSPACE_ROOT$HOME/workspace # 显示帮助信息函数 show_help() { cat EOF 用法: ws [选项] 工作区名称 一个快速切换和初始化项目工作区的工具。 选项: -h, --help 显示此帮助信息 -l, --list 列出所有可用的工作区 -c, --create 创建新的工作区目录 工作区名称 切换到指定工作区并执行初始化 示例: ws # 显示帮助默认行为 ws -l # 列出 ~/workspace 下的所有项目 ws -c blog # 创建 ~/workspace/blog 目录 ws blog # 切换到 blog 工作区并初始化环境 EOF } # 处理参数 if [[ $# -eq 0 ]]; then show_help exit 0 fi至此一个命令的骨架就搭好了。它定义了变量提供了帮助函数并开始处理命令行参数。3.2 第二步实现核心功能模块接下来我们实现-l列表、-c创建和核心的切换初始化功能。实现列表功能 (-l):# 在参数处理部分之后添加主逻辑 case $1 in -h|--help) show_help exit 0 ;; -l|--list) echo 可用工作区列表 ($WORKSPACE_ROOT): if [[ -d $WORKSPACE_ROOT ]]; then # 使用 find 命令列出目录并做格式化输出 find $WORKSPACE_ROOT -maxdepth 1 -type d ! -path $WORKSPACE_ROOT | while read -r dir; do basename $dir done | sort | column else echo 工作区根目录不存在: $WORKSPACE_ROOT echo 你可以使用 ws -c 名称 来创建第一个工作区。 fi exit 0 ;; -c|--create) if [[ -z $2 ]]; then echo 错误请提供要创建的工作区名称。 show_help exit 1 fi new_ws_path$WORKSPACE_ROOT/$2 if [[ -d $new_ws_path ]]; then echo 工作区 $2 已存在。 else mkdir -p $new_ws_path echo 工作区 $2 已创建于: $new_ws_path # 可选创建一个基础的 README 文件 echo # $2 $new_ws_path/README.md echo 工作区创建于 $(date) $new_ws_path/README.md fi exit 0 ;; *) # 如果不是上述选项则认为是工作区名称进入切换逻辑 workspace_name$1 ;; esac实现核心的切换与初始化功能这是命令的精华所在。我们假设切换到工作区后需要根据项目类型执行不同的初始化操作。# 接在上面的 case 语句的 * 分支后 ws_path$WORKSPACE_ROOT/$workspace_name # 1. 检查工作区是否存在 if [[ ! -d $ws_path ]]; then echo 错误工作区 $workspace_name 不存在。 echo 使用 ws -l 查看列表或使用 ws -c $workspace_name 创建。 exit 1 fi # 2. 切换到工作区目录 echo 切换到工作区: $workspace_name cd $ws_path || { echo 无法进入目录: $ws_path; exit 1; } # 3. 执行工作区特定的初始化脚本如果存在 # 这是高度可定制的部分也是命令的灵魂 init_script$ws_path/.ws_init.sh if [[ -f $init_script -x $init_script ]]; then echo 执行工作区初始化脚本... source $init_script elif [[ -f $init_script ]]; then echo 发现初始化脚本但无可执行权限尝试授予权限并执行... chmod x $init_script source $init_script else echo 未找到工作区初始化脚本 (.ws_init.sh)执行通用初始化。 # 通用初始化示例 # 3.1 自动激活 Python 虚拟环境如果存在 if [[ -d venv ]]; then echo 检测到 Python venv正在激活... source venv/bin/activate elif [[ -d .venv ]]; then echo 检测到 Python .venv正在激活... source .venv/bin/activate fi # 3.2 检查并提示当前 Git 分支状态 if git rev-parse --git-dir /dev/null 21; then current_branch$(git branch --show-current) echo Git 仓库当前分支: $current_branch # 可以在这里添加 git status -s 来显示简短状态 fi # 3.3 打开特定的文件或IDE可选例如用code命令打开VSCode # if command -v code /dev/null 21; then # echo 使用 VSCode 打开当前目录... # code . # fi fi # 4. 启动一个新的Shell会话保持在当前目录高级用法 # 默认情况下脚本执行会改变子进程的目录但父Shell你的终端不会变。 # 为了让切换持久化有几种方法但最常用的是让用户 source 这个脚本或者使用函数/别名。 # 我们这里采用另一种实践提示用户。 echo echo 提示工作区 $workspace_name 已准备就绪。 echo 当前目录: $(pwd) # 可以在这里打印一些自定义的欢迎信息或待办事项 if [[ -f $ws_path/TODO.md ]]; then echo --- head -5 $ws_path/TODO.md fi这个ws命令的核心逻辑就完成了。它不仅能切换目录还能根据项目环境自动执行初始化任务极大地提升了上下文切换的效率。3.3 第三步让系统找到你的命令配置PATH脚本写好了但如果你直接在终端输入ws系统会告诉你“命令未找到”。因为我们还没把~/bin加入到系统的命令搜索路径PATH中。修改PATH环境变量通常我们将配置添加到~/.bashrc如果你使用Bash或~/.zshrc如果你使用Zsh文件中。echo export PATH$HOME/bin:$PATH ~/.bashrc然后让配置立即生效source ~/.bashrc现在打开一个新的终端标签页或窗口输入ws --help你应该能看到我们编写的帮助信息了恭喜你的第一个自定义命令已经正式集成到系统中。4. 高级技巧与最佳实践一个能用的命令和一個健壮、好用的命令之间还有不少距离。下面分享一些让命令更专业的心得。4.1 错误处理与日志记录错误处理上面的脚本已经包含了一些基本的错误检查如目录是否存在。但还可以更完善。例如使用set -euo pipefail是一个好习惯它能让脚本在遇到错误时立即退出避免产生更隐蔽的问题。#!/usr/bin/env bash set -euo pipefail # 遇到错误退出使用未定义变量报错管道命令中任意失败则整体失败日志记录对于复杂的命令将操作记录到日志文件有助于调试。可以定义一个简单的日志函数。log() { local level$1 local message$2 local timestamp$(date %Y-%m-%d %H:%M:%S) echo [$timestamp] [$level] $message $HOME/.ws_command.log # 同时根据级别决定是否输出到屏幕 if [[ $level ERROR ]]; then echo $message 2 # 错误信息输出到标准错误 fi } # 使用示例 log INFO 开始切换到工作区 $workspace_name4.2 参数解析进阶支持长选项和多个参数我们上面的例子用了简单的case语句对于复杂参数如ws -e editor -d /path/to/dir project推荐使用getopts兼容性好或getopt功能更强来解析。# 使用 getopts 示例 while getopts “hlc:” opt; do case $opt in h) show_help; exit 0 ;; l) list_workspaces; exit 0 ;; c) create_workspace $OPTARG; exit 0 ;; ?) echo “无效选项”; show_help; exit 1 ;; esac done # 处理非选项参数 shift $((OPTIND -1)) workspace_name$14.3 命令的配置化不要将配置如工作区根目录WORKSPACE_ROOT硬编码在脚本里。可以将其外置到配置文件比如~/.config/ws.conf或环境变量中提高灵活性。# 在脚本开头读取配置 CONFIG_FILE$HOME/.config/ws.conf if [[ -f $CONFIG_FILE ]]; then source $CONFIG_FILE else WORKSPACE_ROOT$HOME/workspace # 默认值 fi配置文件内容可以是# ~/.config/ws.conf WORKSPACE_ROOT$HOME/Projects DEFAULT_INIT_ACTIONstart_services4.4 为命令添加自动补全这是提升用户体验的杀手锏。你可以为Bash或Zsh编写自动补全脚本。例如为ws命令添加补全使其能补全工作区名称。Bash补全示例保存到~/.bash_completion.d/ws_ws_completion() { local cur prev opts COMPREPLY() cur${COMP_WORDS[COMP_CWORD]} prev${COMP_WORDS[COMP_CWORD-1]} opts-h --help -l --list -c --create # 如果当前词以 ‘-’ 开头补全选项 if [[ ${cur} -* ]] ; then COMPREPLY( $(compgen -W ${opts} -- ${cur}) ) return 0 fi # 否则补全工作区目录名 local workspace_root${WS_WORKSPACE_ROOT:-$HOME/workspace} if [[ -d $workspace_root ]]; then local workspaces$(find $workspace_root -maxdepth 1 -type d -exec basename {} \; | tail -n 2) COMPREPLY( $(compgen -W ${workspaces} -- ${cur}) ) fi } complete -F _ws_completion ws然后在~/.bashrc中加载补全脚本for file in ~/.bash_completion.d/*; do [[ -f $file ]] source $file done这样在终端输入ws后按Tab键就能看到选项和工作区名的提示了专业感瞬间拉满。5. 常见问题与排查实录即使按照步骤操作你也可能会遇到一些问题。这里记录几个我踩过的坑和解决方案。问题1执行命令报Permission denied现象输入ws后提示bash: /home/xxx/bin/ws: Permission denied。原因脚本文件没有可执行权限。解决执行chmod x ~/bin/ws。务必确保在赋予权限后再测试。问题2命令找不到即使已经添加了PATH现象source ~/.bashrc后当前终端可以用但新开的终端窗口又不行了。原因1你可能修改了~/.bash_profile而不是~/.bashrc或者你使用的是Zsh应修改~/.zshrc。确认你使用的Shell类型echo $SHELL。原因2PATH添加语句写错了位置或者有语法错误。检查~/.bashrc文件末尾确保export PATH$HOME/bin:$PATH这一行存在且无误。解决确认Shell类型修改对应的配置文件并确保在新终端中生效或重新登录。问题3脚本执行成功但目录没有切换现象运行ws blog后提示切换成功但终端的当前工作目录没变。原因这是Shell的工作机制决定的。脚本是在一个子Shell中运行的cd命令只改变了子Shell的目录。子Shell结束后父Shell你的终端的目录保持不变。解决这是设计使然并非错误。我们的脚本通过输出信息告知用户已切换到目标目录。如果你真的需要改变父Shell的目录有几种方法使用source命令source ws blog。这样脚本就在当前Shell中执行cd会生效。你可以为这个操作创建一个别名alias sws“source ws”。将命令定义为Shell函数这是更优雅的方式。把ws函数定义写在~/.bashrc里函数内的cd会直接影响当前Shell。很多成熟的工具如virtualenv的activate也采用类似思路。但这意味着你的命令逻辑需要写在配置文件中而不是独立的脚本文件。问题4自动补全不生效现象按照步骤配置了补全脚本但按Tab没反应。原因1补全脚本没有加载。确保~/.bash_completion.d/目录存在且~/.bashrc中的加载循环正确。原因2补全脚本语法错误。可以用bash -n ~/.bash_completion.d/ws检查语法。原因3需要重新加载配置。执行source ~/.bashrc。解决逐项检查上述原因。最简单的测试方法是直接source你的补全脚本文件然后测试补全是否工作。问题5脚本在特定情况下行为异常现象例如工作区名称包含空格或特殊字符时脚本出错。原因Shell脚本中变量引用时如果没有用双引号包裹在遇到空格时会被拆分成多个参数。解决养成好习惯所有变量引用都加上双引号。将cd $ws_path改为cd “$ws_path”。这在文件名、路径处理中是黄金法则。编写自己的Linux命令是一个从实用出发逐步深入系统原理的过程。它开始于一个简单的脚本但通过融入错误处理、配置管理、自动补全等技巧最终能打磨成一个与系统原生工具无异的高效生产力组件。最重要的是这个过程中你获得的对Shell、对系统工作流的掌控感是任何现成工具都无法给予的。从今天这个ws命令开始尝试将你日常中任何一个重复两次以上的操作封装起来你会发现一个更高效、更个性化的计算环境正由你自己的双手塑造。

相关新闻

从全家桶到增强层:构建智能AI编程助手的MCP协议实践

从全家桶到增强层:构建智能AI编程助手的MCP协议实践

1. 项目概述:从“全家桶”到“增强层”的思维跃迁最近在折腾AI编程助手时,我发现一个挺有意思的现象:很多开发者一上手Codex这类工具,就急着去网上找“全家桶”配置,恨不得把所有能找到的MCP服务器、Skills清单都一股脑…

2026/8/7 5:11:58 阅读更多 →
IDEA集成Nacos:一键启动微服务本地开发环境

IDEA集成Nacos:一键启动微服务本地开发环境

1. 项目概述:为什么要在IDEA里折腾Nacos?如果你正在开发微服务,尤其是基于Spring Cloud或Dubbo的分布式应用,那么Nacos这个名字对你来说肯定不陌生。作为服务发现、配置管理和服务管理的核心组件,它已经成了很多技术栈…

2026/8/7 5:10:58 阅读更多 →
基层医疗云HIS系统源码解析:从架构设计到部署运维实战

基层医疗云HIS系统源码解析:从架构设计到部署运维实战

1. 项目概述:为什么基层医疗需要自己的“云HIS”?干了十几年医疗信息化,从三甲医院到乡镇卫生院的项目都摸过一遍,我最大的感触是:基层医疗的信息化需求和大型医院完全是两码事。你拿一套动辄几百万、功能大而全的医院…

2026/8/7 5:10:58 阅读更多 →

最新新闻

CSS伪类选择器全解析:从:hover到:nth-child的实战应用

CSS伪类选择器全解析:从:hover到:nth-child的实战应用

1. 项目概述:为什么伪类选择器是CSS的“灵魂捕手”?刚接触CSS的时候,我们都是从最基础的标签选择器、类选择器、ID选择器开始的。它们就像给网页元素贴上一个固定的标签,然后统一施加样式。但很快你就会发现,现实中的交…

2026/8/7 5:44:21 阅读更多 →
从OpenClaw到虾总9527:AI智能体本地化部署与深度定制实战

从OpenClaw到虾总9527:AI智能体本地化部署与深度定制实战

1. 从“小龙虾”到“虾总9527”:一个AI智能体项目的命名与重生最近在折腾本地AI智能体部署的朋友,估计没少被“OpenClaw”这个名字刷屏。这玩意儿刚出来的时候,大家图个新鲜,都叫它“小龙虾”,形象又好记。但用着用着&…

2026/8/7 5:44:21 阅读更多 →
VSCode Git图形化实战:从原理到高效开发工作流

VSCode Git图形化实战:从原理到高效开发工作流

1. 从命令行到图形化:为什么我们需要在VSCode里用Git?如果你和我一样,是从命令行开始接触Git的,那你一定对git add .、git commit -m "fix"、git push origin main这套组合拳烂熟于心。命令行高效、强大,能让…

2026/8/7 5:44:21 阅读更多 →
液压传动实战指南:从核心原理到系统调试的工程实践

液压传动实战指南:从核心原理到系统调试的工程实践

1. 项目概述:一份来自“硬核”课堂的实战笔记如果你对机械、自动化或者重型装备感兴趣,那么“液压传动”这四个字对你来说一定不陌生。它不像电路板那样精致,也不像代码那样抽象,它充满了力量感——用油液作为介质,传递…

2026/8/7 5:44:21 阅读更多 →
软考证书挂靠全流程解析:风险、操作与合法替代方案

软考证书挂靠全流程解析:风险、操作与合法替代方案

1. 项目概述:软考A计划的核心价值与风险边界 “软考A计划”这个提法,在行业内通常不是一个官方称谓,更像是一个圈内人为了特定目的——比如高效通过考试并实现“挂靠”——而私下总结的一套策略组合。我接触过不少咨询这类问题的朋友&#xf…

2026/8/7 5:44:21 阅读更多 →
计算机进制转换:从原理到编程实践

计算机进制转换:从原理到编程实践

1. 进制转换的基本概念与日常应用 计算机科学中最基础也最容易被忽视的技能之一就是进制转换。很多人觉得这不过是数学课上的一个小知识点,但实际上它贯穿了整个数字世界。从我们每天使用的手机APP到银行转账系统,底层都在进行着各种进制的转换运算。 …

2026/8/7 5:43:20 阅读更多 →

日新闻

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南 【免费下载链接】scrcpy Display and control your Android device 项目地址: https://gitcode.com/GitHub_Trending/sc/scrcpy 想要将Android手机屏幕完美投射到电脑上,享受大屏操作的自…

2026/8/7 0:00:19 阅读更多 →
如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南

如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南

如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南 【免费下载链接】tom-select Tom Select is a lightweight (~16kb gzipped) hybrid of a textbox and select box. Forked from selectize.js to provide a framework agnostic autocomplete widget wi…

2026/8/7 0:00:19 阅读更多 →
5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件

5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件

5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件 【免费下载链接】nsz NSZ - Homebrew compatible NSP/XCI compressor/decompressor 项目地址: https://gitcode.com/gh_mirrors/ns/nsz 你是否在为Nintendo Switch游戏文件占用大量存储…

2026/8/7 0:00:19 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/6 22:02:27 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/6 22:02:27 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/6 22:02:27 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/5 23:28:39 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/6 22:02:28 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/5 23:46:51 阅读更多 →