docs: 完善 --help 输出
- 每个子命令增加 long_about 描述和示例 - Login: 说明认证存储方式 - Listen: 示例 ias listen --llm / --echo - Send: 示例 ias send --to <id> --text <msg> - Whoami: 说明输出内容 - Usage: 示例时间范围查询、模型过滤 - Service: 说明日志位置、systemd 配合 - Skills: 子命令 Import/List/Delete 详细说明 - SkillsAction: 每种操作的目标路径和范围 - arg 添加 help 属性(--llm/--echo/--to/--text/--since)
This commit is contained in:
+65
-19
@@ -1,8 +1,11 @@
|
|||||||
use clap::{Parser, Subcommand};
|
use clap::{Parser, Subcommand};
|
||||||
|
|
||||||
/// iAs - 微信 AI 智能助手
|
/// iAs — 微信 AI 智能助手
|
||||||
|
///
|
||||||
|
/// 支持扫码登录、长轮询收发消息、AI 自动回复(DeepSeek/LM Studio)、
|
||||||
|
/// 工具调用(天气/搜索/邮件/Shell/定时任务等)、Token 用量统计。
|
||||||
#[derive(Parser, Debug)]
|
#[derive(Parser, Debug)]
|
||||||
#[command(name = "ias", version, about = "微信 AI 智能助手 (Rust)")]
|
#[command(name = "ias", version, about, long_about = None)]
|
||||||
pub struct Cli {
|
pub struct Cli {
|
||||||
#[command(subcommand)]
|
#[command(subcommand)]
|
||||||
pub command: Commands,
|
pub command: Commands,
|
||||||
@@ -11,60 +14,101 @@ pub struct Cli {
|
|||||||
#[derive(Subcommand, Debug)]
|
#[derive(Subcommand, Debug)]
|
||||||
pub enum Commands {
|
pub enum Commands {
|
||||||
/// 扫码登录微信
|
/// 扫码登录微信
|
||||||
|
///
|
||||||
|
/// 在终端显示二维码,扫描后完成登录。
|
||||||
|
/// 认证信息存入 PostgreSQL 或本地文件。
|
||||||
Login {
|
Login {
|
||||||
/// 登录超时秒数
|
/// 登录超时秒数(默认 480s)
|
||||||
#[arg(long, default_value = "480")]
|
#[arg(long, default_value = "480")]
|
||||||
timeout: u64,
|
timeout: u64,
|
||||||
},
|
},
|
||||||
|
|
||||||
/// 监听消息(长轮询)
|
/// 监听微信消息(长轮询)
|
||||||
|
///
|
||||||
|
/// 启动微信消息监听,接收并处理消息。
|
||||||
|
/// 使用 --llm 启用 AI 自动回复,--echo 原样回显。
|
||||||
|
///
|
||||||
|
/// 示例:
|
||||||
|
/// ias listen # 仅监听,不做回复
|
||||||
|
/// ias listen --llm # AI 自动回复
|
||||||
|
/// ias listen --echo # 原样回显
|
||||||
Listen {
|
Listen {
|
||||||
/// 启用 AI 自动回复
|
/// 启用 AI 自动回复(DeepSeek/LM Studio)
|
||||||
#[arg(long)]
|
#[arg(long, help = "启用 AI 自动回复")]
|
||||||
llm: bool,
|
llm: bool,
|
||||||
|
|
||||||
/// 仅回显消息(不调用 AI)
|
/// 仅回显消息(不调用 AI)
|
||||||
#[arg(long)]
|
#[arg(long, help = "原样回显收到的消息")]
|
||||||
echo: bool,
|
echo: bool,
|
||||||
},
|
},
|
||||||
|
|
||||||
/// 发送文本消息
|
/// 发送文本消息
|
||||||
|
///
|
||||||
|
/// 向指定微信用户发送文本。
|
||||||
|
///
|
||||||
|
/// 示例:
|
||||||
|
/// ias send --to <user_id> --text "你好"
|
||||||
Send {
|
Send {
|
||||||
/// 目标用户 ID
|
/// 目标用户 ID
|
||||||
#[arg(long)]
|
#[arg(long, help = "微信用户 ID")]
|
||||||
to: String,
|
to: String,
|
||||||
|
|
||||||
/// 消息内容
|
/// 消息内容
|
||||||
#[arg(long)]
|
#[arg(long, help = "文本消息内容")]
|
||||||
text: String,
|
text: String,
|
||||||
|
|
||||||
/// 上下文令牌
|
/// 上下文令牌
|
||||||
#[arg(long)]
|
#[arg(long, help = "微信上下文令牌")]
|
||||||
context_token: Option<String>,
|
context_token: Option<String>,
|
||||||
},
|
},
|
||||||
|
|
||||||
/// 查看当前登录状态
|
/// 查看当前登录状态
|
||||||
|
///
|
||||||
|
/// 显示已登录的账号、Token 前缀、API 地址及存储方式。
|
||||||
Whoami,
|
Whoami,
|
||||||
|
|
||||||
/// 查看 LLM Token 使用统计
|
/// 查看 LLM Token 使用统计
|
||||||
|
///
|
||||||
|
/// 查询 LLM 调用的 Token 消耗、缓存命中率。
|
||||||
|
/// 默认查询最近 7 天,支持时间范围和模型过滤。
|
||||||
|
///
|
||||||
|
/// 示例:
|
||||||
|
/// ias usage
|
||||||
|
/// ias usage --since 2026-06-01T00:00:00Z
|
||||||
|
/// ias usage --model deepseek-v4-flash
|
||||||
Usage {
|
Usage {
|
||||||
/// 起始时间(ISO 格式,默认7天前)
|
/// 起始时间(RFC3339 格式,默认 7 天前)
|
||||||
#[arg(long)]
|
#[arg(long, help = "起始时间(如 2026-06-01T00:00:00Z)")]
|
||||||
since: Option<String>,
|
since: Option<String>,
|
||||||
|
|
||||||
/// 结束时间(ISO 格式,默认现在)
|
/// 结束时间(RFC3339 格式,默认现在)
|
||||||
#[arg(long)]
|
#[arg(long)]
|
||||||
until: Option<String>,
|
until: Option<String>,
|
||||||
|
|
||||||
/// 模型名称过滤
|
/// 按模型名称过滤
|
||||||
#[arg(long)]
|
#[arg(long)]
|
||||||
model: Option<String>,
|
model: Option<String>,
|
||||||
},
|
},
|
||||||
|
|
||||||
/// 后台服务模式(等同 listen --llm,日志写入文件)
|
/// 后台服务模式
|
||||||
|
///
|
||||||
|
/// 等同 listen --llm,同时日志写入 .data/logs/ 滚动文件。
|
||||||
|
/// 配合 systemd 实现开机自启和进程守护。
|
||||||
|
///
|
||||||
|
/// 示例:
|
||||||
|
/// ias service # 前台运行
|
||||||
|
/// sudo systemctl enable ias --now # systemd 管理
|
||||||
Service,
|
Service,
|
||||||
|
|
||||||
/// 从其他工具导入 Skills
|
/// Skills 管理
|
||||||
|
///
|
||||||
|
/// 从其他工具(Claude Code、OpenCode、pi 等)导入 Skills,
|
||||||
|
/// 或管理已导入的 Skills。
|
||||||
|
///
|
||||||
|
/// 示例:
|
||||||
|
/// ias skills list # 列出可导入的 Skill
|
||||||
|
/// ias skills import # 交互式多选导入
|
||||||
|
/// ias skills delete # 交互式删除已导入的 Skill
|
||||||
Skills {
|
Skills {
|
||||||
#[command(subcommand)]
|
#[command(subcommand)]
|
||||||
action: SkillsAction,
|
action: SkillsAction,
|
||||||
@@ -73,10 +117,12 @@ pub enum Commands {
|
|||||||
|
|
||||||
#[derive(Subcommand, Debug)]
|
#[derive(Subcommand, Debug)]
|
||||||
pub enum SkillsAction {
|
pub enum SkillsAction {
|
||||||
/// 扫描并交互式导入
|
/// 扫描 ~/.claude/、~/.agents/、~/.opencode/、~/.pi/ 等路径,
|
||||||
|
/// 交互式多选导入 Skill 到当前项目的 skills/ 目录。
|
||||||
Import,
|
Import,
|
||||||
/// 列出可导入的 Skill
|
/// 列出所有已知路径中可导入的 Skill(不导入)。
|
||||||
List,
|
List,
|
||||||
/// 交互式删除用户 Skill
|
/// 扫描 skills/ 目录中的用户 Skill,交互式多选删除。
|
||||||
|
/// 系统 Skill(resources/skills/)不会被删除。
|
||||||
Delete,
|
Delete,
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user