Sidekick命令行工具使用:开发者效率提升技巧
Sidekick作为一款原生macOS应用,让用户无需安装其他软件即可与本地大语言模型(LLM)对话,并能响应来自Mac上文件、文件夹和网站的信息。对于开发者而言,掌握其命令行工具能显著提升工作效率。本文将详细介绍Sidekick命令行工具的使用技巧,助你高效操作本地LLM。
命令体系概览
Sidekick的命令体系主要分布在Sidekick/Logic/Commands目录下,包含多个Swift文件,分别对应不同功能的命令实现。通过list_code_definition_names工具分析该目录,可了解到主要的命令类有ConversationCommands、DebugCommands、HelpCommands和WindowCommands,它们共同构成了Sidekick的命令基础。
核心命令文件
- 对话命令:ConversationCommands.swift,负责处理与对话相关的操作,如新建对话、专家选择等。
- 调试命令:DebugCommands.swift,提供调试相关功能,方便开发者排查问题。
- 帮助命令:HelpCommands.swift,包含帮助和问题反馈相关命令。
- 窗口命令:WindowCommands.swift,用于控制应用窗口的各种操作。
常用命令实战
对话管理命令
在日常开发中,频繁新建对话是常见操作。通过ConversationCommands中的功能,可快速实现对话管理。
新建对话
使用快捷键Command + N可快速新建对话,其实现代码位于ConversationCommands.swift的commands方法中:
CommandGroup(replacing: .newItem) {
Button {
ConversationManager.shared.newConversation()
} label: {
Text("New Conversation")
}
.keyboardShortcut("n", modifiers: .command)
}
此命令替换了系统默认的“新建项目”命令,让开发者能一键创建新的对话窗口,专注于与本地LLM的交互。
专家选择
Sidekick支持专家模式,通过命令可快速切换不同专家。在ConversationCommands.swift的expertCommands方法中,实现了专家选择的菜单功能:
Menu {
ForEach(ExpertManager.shared.experts) { expert in
ExpertSelectionButton(expert: expert)
}
} label: {
Text("Experts")
}
对于索引小于等于10的专家,还支持Command + 数字键的快捷键选择,极大提升了切换效率。
调试命令应用
调试功能在开发过程中至关重要,DebugCommands提供了丰富的调试命令,帮助开发者解决问题。
清除设置与恢复默认
当应用出现异常设置导致问题时,可使用清除设置命令。在DebugCommands.swift的debugSettings中:
Menu("Settings") {
Button(action: Settings.clearUserDefaults) {
Text("Clear All Settings")
}
Button(action: InferenceSettings.setDefaults) {
Text("Set Inference Settings to Defaults")
}
}
执行“Clear All Settings”可清除所有用户设置,“Set Inference Settings to Defaults”则将推理设置恢复为默认值,快速解决因设置错误引发的问题。
对话备份与恢复
为防止对话数据丢失,DebugCommands的debugConversations提供了对话备份和恢复功能:
Menu("Conversations") {
Button(action: ConversationManager.shared.createBackup) {
Text("Backup Conversations")
}
if ConversationManager.shared.backupExists {
Button(action: ConversationManager.shared.retoreFromBackup) {
Text("Restore Conversations from Backup")
}
}
}
定期执行“Backup Conversations”备份对话,若数据意外丢失,可通过“Restore Conversations from Backup”从备份恢复,保障重要对话信息不丢失。
帮助与反馈命令
在使用过程中遇到问题时,HelpCommands能提供及时的帮助和反馈途径。
获取帮助
通过“Help”命令可快速访问官方帮助文档,其快捷键为Command + Shift + /,实现代码如下:
Button {
let _ = NSWorkspace.shared.open(URL(string: "https://johnbean393.github.io/Sidekick/")!)
} label: {
Text("Help")
}
.keyboardShortcut("/", modifiers: [.command, .shift])
问题反馈
若发现应用 bug 或有功能建议,可使用“Report an Issue”命令提交反馈,它会打开项目的 GitHub Issues 页面,方便开发者提交详细问题报告。
命令操作界面示例
Sidekick的主界面简洁直观,命令操作可与界面交互相结合,提升使用体验。
上图展示了Sidekick的主界面,开发者可在该界面中通过菜单或快捷键调用各种命令,进行对话管理、专家选择等操作。
在进行调试操作时,可通过“Debug”菜单访问各种调试命令,如“Show Container in Finder”能快速打开应用容器目录,方便查看应用数据。
高级命令技巧
专家模式快捷键配置
对于经常使用的专家,可通过修改ExpertSelectionButton中的快捷键设置,自定义更符合个人习惯的快捷键。在ConversationCommands.swift中,专家选择按钮的快捷键逻辑如下:
.if(index <= 10) { view in
view.keyboardShortcut(
KeyEquivalent(Character(stringValue: String(index % 10))!),
modifiers: .command
)
}
通过调整此处的索引和修饰键,可实现个性化的专家切换快捷键。
命令组合使用
结合多个命令可实现更复杂的操作。例如,先使用“Backup Conversations”备份对话,再执行“Clear All Settings”清除设置,最后通过“Restore Conversations from Backup”恢复对话,可在不丢失对话数据的情况下重置应用设置。
总结
Sidekick的命令行工具为开发者提供了高效操作本地LLM的途径,从对话管理到调试分析,再到帮助反馈,全面覆盖了开发过程中的常见需求。通过本文介绍的命令使用技巧,开发者可充分利用Sidekick的功能,提升与本地LLM交互的效率,更好地发挥其在工作中的作用。官方文档README.md中还有更多关于Sidekick的详细信息,建议开发者深入阅读以获取更全面的使用指导。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



