VoiceInput/Agent/doc/commands.md
JOJO 9f3ea09b06 feat(agent): Better Siri 改造 — 个人助手 + 记忆系统 + 统一弹窗 + 多项优化
=== 记忆系统 ===
- 新增 remember(记录)和 recall(搜索)工具,持久化到 ~/Library/Application Support/VoiceInput/memory/memory.json
- 新增 set_identity 工具,独立管理助手名字/用户称呼/语气
- prompt 重写为个人助手身份,注入 macOS 能力 + 记忆规则
- prompt 中积极调用记忆工具,按需搜索、自然融入回答
- 禁止相对时间,待办必须绝对日期

=== 对话持久化 ===
- 集成 conversation_store,done 前自动写入对话文件
- token 记录:prompt/completion 累加,total 覆盖为最新上下文长度
- 启动时加载最新对话继续(使用 eagent /resume 逻辑)
- 去重:末尾连续 assistant 消息自动合并
- 修复消息加载顺序 bug(旧对话覆盖用户新消息)

=== 新建对话 ===
- 手动/自动两种模式(设置窗口可切换)
- 自动模式:total > 阈值时隐藏按钮,下次输入自动新建
- 自动阈值在设置窗口可配置(默认 40000)

=== 弹窗 UI 统一 ===
- 语音输入按 Fn 即显示刘海弹窗(和打字输入统一)
- 语音识别内容自动填入并发送(可关闭自动发送)
- 工作期间(thinking/running)隐藏输入框,idle/done 时显示
- 工具显示三种模式:全部显示/最后隐藏/一直不显示

=== 设置窗口增强 ===
- 助手名字 / 用户称呼 / 语气可配置
- 工具显示模式 / 新建对话模式 / 自动阈值
- 语音输入后自动发送开关(默认开)
- 记忆管理窗口可视化编辑(Dock 可访问)
- 窗口高度 840→860

=== 菜单增强 ===
- Agent LLM 二级菜单切换语音/打字输入
- 助手设置和记忆管理入口(Dock 可访问)

=== 修复 ===
- Fn 按下时停止正在进行的朗读
- 弹窗已存在时不再覆盖 isTextInputMode
- voiceInputText 加 @Published 以触发 UI 更新
2026-04-30 18:16:58 +08:00

1.7 KiB
Raw Blame History

交互指令CLI

以下指令均以 / 开头。默认进入对话输入模式,输入指令用于控制程序状态。

指令清单

  • /help:显示所有指令与简要说明。
  • /new:创建新对话(生成新的对话 ID
  • /resume:加载旧对话(仅当前工作区路径内的历史对话)。
  • /allow:切换运行模式(read_only / full_access)。
  • /model:切换模型与思考模式。
  • /status:查看当前对话状态。
  • /compact:触发对话压缩。
  • /config:查看当前配置。
  • /exit:退出程序。

/resume 交互细节

/resume 有两种用法:

  1. 交互列表模式
  • 执行 /resume 后显示列表(最新在上)。
  • 上下方向键移动选择光标 >
  • 兼容性兜底:支持数字输入直接选择第 N 条。
  • 列表项格式示例:
  Updated Conversation
  2分钟前 帮我看看...(第一条用户消息前50字)
> 14小时前 查看所有...
  13天前 ...
  1. 直接加载模式
  • 直接输入 /resume <conversation_id> 加载指定对话。
  • 例如:
/resume 019c99ad-3177-7970-bcf5-0c5893e177a2

作用域限制/resume 只加载当前工作区路径下的历史对话。不同路径的工作区对话相互隔离。


/status 输出字段

  • 当前模型 + 思考模式
  • 工作区 path
  • allow 状态(只读/无限制)
  • 对话 ID
  • Token usage当前上下文长度来自 API 返回并缓存)

/config 输出字段

  • base_url
  • modelname
  • apikey脱敏仅显示前缀+末尾,例如:sk-xxxxxxw2y

/compact 行为

  • 对当前对话进行压缩。
  • 输出示例:
压缩完成:<旧token> -> <新token>