deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
在 VS Code 里直接用 DeepSeek Harness(DSH) 的智能体。这不是一个聊天玩具——聊天面板背后是完整的 DSH agent:它可以读取、创建、修改工作区文件,运行命令,搜索网页,并行委派子任务,然后把每一步工具调用实时展示在聊天流里。
参考了 OpenCode / Claude Code / Cline 的 VS Code 插件形态,但调用的是 DSH 本身:插件通过 DSH 的 HTTP RPC(
/api/*)和 WebSocket 事件流(/api/events.mux、/api/events.host)连接正在运行的 DSH 实例,复用它的全部 agent 能力。
Ctrl+Alt+D / 状态栏 🐳 / 命令 DSH: New Chat Window——全部是"开一个独立窗口"。ask_user_question 时弹出问题卡片(单选/多选/自定义输入),回答后 agent 继续,不再卡死。cwd),DSH 的 standard preset 自带文件读写、终端、搜索、子代理等全套工具——让它"直接改文件",它就真的改。session.models:按 provider 分组、显示名、每个模型声明的 effort 档位——DSH 加模型/加 provider 插件自动出现,无需升级插件session.selectModel(DSH 自己校验),effort 下拉按所选模型声明的档位重建Shift+Tab 循环切换 read-only / workspace-write / full access,与 DSH 会话投影实时同步。@ 快速引用工作区文件、/ 提示斜杠命令(compact / plan / goal / permission / echo)http://127.0.0.1:3080)。插件直接连它的 HTTP/WS API——不需要浏览器 GUI 打开,DSH 进程活着即可。npm install
npm run compile
npm run package # 生成 dsh4vscode-<version>.vsix
然后在 VS Code 中:扩展面板 → ... → Install from VSIX,选择生成的 .vsix。
npm install
npm run compile
code --extensionDevelopmentPath=<本目录>
| 设置 | 默认 | 说明 |
|---|---|---|
dsh.baseUrl |
http://127.0.0.1:3080 |
DSH web 服务器地址 |
dsh.workspacePath |
"" |
覆盖会话 cwd(空 = 第一个工作区文件夹) |
dsh.agentPreset |
standard |
创建会话使用的 agent preset |
src/
├── extension.ts # 入口:命令、状态栏、窗口注册
├── dsh/
│ ├── client.ts # DSH HTTP RPC (/api/<method>) + WebSocket 双事件流 + 自动重连
│ ├── controller.ts # 会话管理、回合模型、事件→聊天模型、权限/模型目录索引
│ ├── config.ts # dsh.* 设置类型化访问
│ └── types.ts # DSH wire 协议类型(与 packages/host/apiproxy 对齐)
└── webview/
├── panel.ts # 编辑器窗口 + 消息桥 + 选中内容/@文件引用扩展
└── media/ # 前端:main.js / style.css / vendor/markdown-it.min.js
设计原则:插件是 DSH 的纯索引层——模型列表、继承、effort 档位、权限、校验全部直通 DSH 原版行为(与 Web UI 同一套 session.models / session.selectModel / commands/execute 契约),DSH 升级时插件自动跟随,不需要维护第二套逻辑。
POST /api/<method>:JSON-RPC 信封 {type:'client-request', rpcId, method, payload} → {type:'server-response', result:{ok, value|error}}ws /api/events.mux:会话事件流(session/event、session/subscribed、approval/*、question/* 等)ws /api/events.host:宿主状态流(host/session-status 运行翻转、host/session-added 等)session.list / session.create / session.history / session.prompt / session.cancel / session.models / session.selectModel / commands/execute/echo 这类 void 命令没有返回文本,面板会显示命令"✓ 完成"而无输出。MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。