DeepSeek Harness (
dsh) 是 DeepSeek AI 开发的开源 agent harness 框架,采用"一切皆插件"的架构设计,基于 Cordis 构建。GitHub: https://github.com/deepseek-ai/deepseek-harness
⚠️ 注意: 目前处于开发者预览阶段,可能会有破坏性变更。
📦 安装指南 : 请先参考 安装教程 完成安装和模型配置。
目录
使用 Web UI
启动命令
bash
# npm 方式
npx @deepseek-ai/dsh web
# 源码方式
pnpm dsh web
默认访问地址
bash
http://127.0.0.1:3080
功能概览
- 会话管理: 创建、保存、恢复会话
- 模型选择: 在已配置的模型间切换
- 插件系统: 通过插件扩展功能
- 工具调用: 内置 Bash、文件编辑器等工具
使用 Python SDK
基本用法
python
from pathlib import Path
from deepseek_harness import DeepSeekHarness
# 配置路径
config = Path("examples/jsonrpc-agent/minimal.cordis.yml").resolve()
workspace = Path("/path/to/your/workspace").resolve()
sessions = Path("/path/to/sessions").resolve()
# 创建 harness 实例
with DeepSeekHarness(
provider="deepseek-official",
model="deepseek-v4-flash",
max_tokens=49_152,
cwd=str(workspace),
session_root=str(sessions),
cordis=str(config),
) as harness:
# 运行任务
result = harness.run(
"检查仓库并修复失败的测试。",
session_id="my-session-001",
)
print(result.final_response)
环境变量配置
bash
export DEEPSEEK_API_KEY=sk-your-key-here
# export DEEPSEEK_BASE_URL=http://127.0.0.1:8000/v1
# export DSH_MODEL=deepseek-v4-flash
# export DSH_SYSTEM_PROMPT='你是一个有用的软件工程助手。'
运行示例
bash
python examples/jsonrpc-agent/minimal.py \
--workspace /absolute/path/to/workspace \
--session-root /absolute/path/to/sessions \
--session-id example-001 \
"检查仓库并修复失败的测试。"
会话管理
- 使用新的
session_id开始独立任务 - 复用
session_id继续之前的对话和持久化 Shell 状态 - 会话日志以 JSONL 格式存储在
session_root目录
常用命令
源码开发命令
bash
# 安装依赖
pnpm install
# 构建项目
pnpm run build
# 类型检查
pnpm run typecheck
# 代码检查
pnpm run lint
# 运行测试
pnpm run test
# 运行所有检查
pnpm run check:all
# 启动 Web UI
pnpm dsh web
# Headless 模式(命令行)
pnpm dsh --profile headless "你的任务描述"
# ACP 自动化服务器
pnpm run demo:acp
# Cordis 演示
pnpm run demo:cordis
演示命令
bash
# 构建后运行演示
pnpm run build
# Headless 编码代理
pnpm dsh --profile headless "summarize this workspace"
# Cordis 自检演示
pnpm run demo:cordis
# ACP 自动化服务器
pnpm run demo:acp
社区与支持
- GitHub Discussions: https://github.com/deepseek-ai/deepseek-harness/discussions
- Discord: https://discord.gg/Ycq5dCaS4
- 插件发现 : 在 GitHub 仓库添加
dsh-plugintopic
贡献指南
目前项目暂不接受外部 Pull Request,但欢迎通过以下方式参与:
- 在 GitHub Discussions 中报告问题
- 创建并分享插件
- 撰写博客和教程
- 帮助回答社区问题