← 返回列表
需源码安装
dsh-emacs — DeepSeek Harness 的 Emacs 客户端
暂不能直接安装(需源码编译或环境不满足):仓库缺少 package.json,无法用 dsh 插件安装命令安装。 · 最近上游提交 2026/9/18 · 已提供中文文档
一个用于 DeepSeek Harness 的 Emacs 客户端
综合分
45
GitHub 分
45
用户评分
—
★ Stars
26
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add vritser/dsh-emacs仓库缺少 package.json,无法用 dsh 插件安装命令安装,改用 GitHub 源安装
数据截至 2026/9/19(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查需源码安装
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-emacs(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明
仓库缺少 package.json,无法用 dsh 插件安装命令安装
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/17 15:50:21
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
dsh-emacs — DeepSeek Harness 的 Emacs 客户端 dsh-emacs 将 DeepSeek Harness (dsh)带入 Emacs:流式回复、工具调用、思考块、斜杠命令、文件/会话引用以及模型选择。它使用 Emacs 内置功能(Emacs 27.1+),无第三方依赖。 带有流式回复和工具调用的聊天缓冲区 0.4.1 面向 dsh 0.1.5 通信协议(服务器 0.1.5-rc.1 或更新版本)。 快速开始 你需要 Emacs 27.1+,并在 dsh 中配置好提供商/模型才能发送消息。dsh-emacs 可以为你安装并启动 dsh 服务器;提供商凭据和模型配置仍保留在 dsh 中。对于已有的本地或远程服务器,请在连接前按服务器设置中所述设置其地址。 1. 克隆仓库: git clone https://github.com/vritser/dsh-emacs.git ~/dsh-emacs 2. 将以下内容添加到你的 Emacs 配置中并求值,或重启 Emacs: (add-to-list 'load-path (expand-file-name "~/dsh-emacs")) (require 'dsh-emacs) 3. 运行 M-x dsh-emacs 打开会话列表。如果没有本地服务器在运行,dsh-emacs 会启动一个;如果缺少 CLI,会提示安装。在全新的 dsh 设置中,发送消息前请使用 M-x dsh-emacs-open-web 配置你的提供商和模型。 4. 在会话列表中按 c 创建会话。如有需要,在聊天缓冲区中使用 C-c C-m 选择模型。 5. 在 ❯ 提示符后输入内容,按 C-c C-c 发送你的第一条消息。 可选的 use-package 配置,请参见 示例配置。 使用它 会话列表 M-x dsh-emacs 打开你的会话,按工作区分组。按 c 创建会话,或按 RET 打开一个会话。列表管理和导航请参见 会话与工作区控制。 按工作区分组的会话列表 在聊天缓冲区中 | 按键 | 功能 | |---|---| | C-c C-c | 发送输入或中断;见下文 | | C-c C-b | 中断正在运行的回合 | | C-c C-q | 管理待处理队列 | | C-c C-g | 打开目标-动作前缀 | | C-c C-m | 切换模型 / 推理强度 | | C-c C-a | 附加图片 | | C-c C-s / C-c M-s | 在此工作区 / 所有工作区中切换会话 | | C-c C-r | 刷新 | | C-c C-o | 在当前记录上方加载更早的消息 | | C-c C-w | 复制(区域 → 代码块 → 光标处的消息 → 最后一条回复) | | C-c C-f | 切换模式行统计信息 | | C-c C-! | 停止所跟踪的本地 shell 进程 | | M-p / M-n | 上一条 / 下一条输入 | | TAB | 补全斜杠命令 | 在回合运行期间发送: 默认情况下,C-c C-c 会将非空消息排队到下一回合。C-u C-c C-c 则改为引导当前运行的回合;在输入为空时按 C-c C-c 会中断它。可通过以下方式配置 dsh-emacs-busy-enter-behavior。C-c C-q 队列菜单作用于高亮项;x 删除所有待处理项。 输入 @ 以选择文件、目录或会话引用:@src/ 深入某个目录,@session-title 提及另一个会话。参见 @ 引用。 输入 /,然后按 TAB 补全斜杠命令。自动弹出取决于你的补全前端及其设置:corfu/company 在启用自动补全时可提供弹出;原生补全、vertico 和 icomplete 需要按 TAB。参见 斜杠命令。 编写器在 ❯ 上方显示当前目标和下一条待处理消息。将鼠标悬停在预览上可查看其完整文本,或使用 C-c C-q 管理待处理消息。目标快捷方式和内联控件在 目标操作 中描述。 回答问题 Agent ask 提示通过一次 minibuffer 读取来回答。问题文本即提示,选项即补全候选(每个候选都带有其描述作为注解),问题详情显示在回显区。 - 单选:选择一个候选,RET 接受它。空输入跳过该问题。 - 多选:以逗号分隔输入选项——2,3 或 alpha,beta——然后 RET 提交它们(completing-read-multiple,Emacs 标准的逗号分隔输入路径)。无歧义的前缀也可以(alph),而有歧义的前缀会保留为你的答案文本,而不是被猜测。 - 任何不指向选项的内容都会被当作你的答案文本,就像在任何 Emacs 补全提示中一样——没有单独的“输入答案”步骤,部分匹配的答案也绝不会被静默裁剪。 - C-c C-s 跳过该问题(空输入效果相同);C-g 放弃整个组。 不会就地切换任何内容,读取器也绝不会重新打开:每个问题只读取一次,因此菜单不会闪烁或重新排序。 (setq dsh-emacs-question-help-display 'echo-area) ; default; nil hides the detail 在本地尝试 M-x dsh-emacs-question-preview,无需联系服务器。详情参见 问题提示。 工作区 工作区按项目/目录对会话进行分组。 从工作区标题、其空的 New Session 行或现有聊天创建新会话时,新会话使用当前工作区。没有该上下文时,本地服务器可以使用当前缓冲区目录的 Emacs 项目,并在首次使用时创建其工作区。此检测由 dsh-emacs-new-session-auto-project 控制,且不会对远程服务器运行。否则,新会话使用当前缓冲区的目录。 本地 shell 命令 输入 !git status 并按 C-c C-c,在会话的工作区目录中本地运行命令。输出会出现在记录中,包括在模型回合运行期间。C-c C-! 停止被跟踪的 shell 进程。 Shell 输出不会发送给模型,也不会保存在服务器历史记录中;刷新 记录会将其移除。对于附件,开头的 ! 是发送给模型的说明文字。 关于多行脚本、shell 选择和进程处理,请参阅 Shell 命令。 模型与预设 在 dsh 中配置提供方、模型和代理预设,可通过 M-x dsh-emacs-open-web 或 dsh 自身的配置文件进行。使用 C-c C-m 选择会话的模型和推理强度。 dsh-emacs-default-preset 选择新会话的预设;nil 表示使用 主机默认值。dsh-emacs-default-model 是模式行的显示回退值, 并不会选择会话所使用的模型。详情请参阅 模型选择器。 服务器设置 默认情况下,dsh-emacs 管理一个本地服务器。若要使用你自己运行的服务器,请将 dsh-emacs-base-url 设置为其地址。远程地址(包括 HTTPS 和 带有 user:pass@ Basic 认证的 URL)永远不会触发本地服务器启动。将 dsh-emacs-server-auto-start 设置为 nil 可在本地禁用自动启动。 对于 dsh-emacs 启动的服务器,启动令牌认证是自动的。 对于你自己启动的服务器,请提供其打印的 URL 中的启动令牌 (dsh web: …/?token=…)。你可以将 dsh-emacs-server-auth-token 设置为 该令牌,或将整个 URL 粘贴到 dsh-emacs-base-url 中。 如果反向代理还要求 Basic 认证,请将其单独的 凭据以 http://user:pass@host:port 形式包含在内;dsh 启动令牌仍然 是必需的。RPC 认证失败会报告 HTTP 401,而不是询问 用户名和密码,并在下一次尝试前清除被拒绝的 cookie。 当提示输入外部服务器的令牌时,成功的回答会被保存 以供复用。服务器重启后,先前的令牌可能已过期,需要 替换。请参阅 服务器选项。 流式传输与外观 回复和思考内容会在到达时显示。大型 Markdown 区域会在 Emacs 空闲时 完成样式设置;有关调优选项,请参阅 Markdown 响应性。 使用 M-x customize-face 或 custom-set-faces 更改外观。 UI 样式 列出了活动 face 并解释了渲染方式; 流式传输性能审计 记录了 测量结果和剩余限制。 文档 - 自定义 — 配置示例和选项 - @ 引用 — 文件、目录和会话提及 - 斜杠命令 — 目录、补全和执行 - Shell 命令 — 本地 !command 执行 - 模型选择器 — 模型、提供方和推理强度 - 模式行 — 状态、上下文使用情况和待处理队列 - UI 样式 — face 和 Markdown 渲染 - 开发与测试 — 工作流程和验证 - 架构 — 模块归属与事件流 - RPC 协议 — 方法、事件与投影 - Fragment 扩展 API — 快照与卡片样式 - 更新日志 贡献 开发工作流与提交约定见 AGENTS.md。 请让拉取请求聚焦于单一主题;对于非平凡的工作,请先开一个 issue 以对齐范围。推送前请运行 scripts/verify.sh。它会检查 语法、检查器自测、字节编译、完整单元测试套件、静默 加载、diff 空白以及生成文件的清理。 致谢 UI 镜像了 dsh web, 包括其工具图标、会话列表和上下文计量器。Markdown 渲染 与折叠构建于 agent-shell 之上; mode-line 统计信息与紧凑 token 格式化遵循 pi-mono。 许可证 GPL-3.0-or-later — GNU 通用公共许可证 v3 或更高版本。
扫码进群