GitHub 项目导读:DeepSeek Harness 开源生态与学习路径
七天实战
按 7 天学会 DeepSeek Harness 每日实验卡阅读对应仓库目录,在 插件社区 对照示例插件。
导读:为何要学会「读仓库」
DeepSeek Harness 的能力以 Cordis 插件 + Bundle 配置 形式分布在多个 GitHub 仓库中。只会 npm install 而不读源码,遇到以下问题时仍会束手无策:某工具在 Minimal 可用、Standard 不可用——需查 Preset 依赖哪几个官方插件;审批策略与文档描述不一致——需追 approval 服务实现在哪个包;想贡献社区插件——需对齐 manifest、peerDependencies 与 CI 模板。
本文提供 可复用的读仓库方法论、官方与生态对照表、贡献与路线图管理建议,并给出 Fork 实验工作流,帮助你在开源世界中持续积累 Agent 运行时工程能力。
第一章:官方 仓库 deepseek-ai/deepseek-harness
1.1 仓库定位
| 维度 | 说明 |
|---|---|
| 组织 | deepseek-ai |
| 许可证 | 以仓库 LICENSE 为准(阅读时确认) |
| 问题追踪 | GitHub Issues / Discussions |
| 发布 | GitHub Releases + npm 包(若提供) |
主仓库是 单一事实来源(SSOT) for 架构决策、官方插件实现、CLI 与文档。社区插件应 peer 依赖 主仓库发布的 runtime,而非 fork 并改内核。
1.2 推荐阅读顺序
- README.md:30 秒认知 + 快速启动命令
- docs/architecture.md(或
docs/architecture/):三平面、无特权核心、Session 模型 - AGENTS.md:Agent 行为约定、工具调用规范、对贡献者的设计意图
- CONTRIBUTING.md:分支策略、commit 规范、CI 要求
- packages/ 或 plugins/:按你关心的服务(tools / sessions)深入
- examples/:最小 Bundle 与插件样板
1.3 目录结构如何读
典型 monorepo 布局(名称以实际仓库为准):
| 路径 | 关注点 |
|---|---|
packages/cordis-* | 插件内核、类型定义 |
packages/dsh-* | Host、CLI、官方插件 |
packages/client-* | Web UI 与 Client 槽位 |
docs/ | 架构、ADR、迁移指南 |
examples/bundles/ | Profile / Patch 范例 |
scripts/ | 发布与 codegen |
.github/workflows/ | CI 矩阵、发布流水线 |
读代码技巧:
- 从
apply(ctx)全局搜索入口,而非从main.ts线性读 - 用 GitHub Code Search:
repo:deepseek-ai/deepseek-harness ctx.provide - 对照类型定义文件(
*.d.ts)理解服务键命名空间
1.4 docs/architecture 深度阅读笔记
阅读架构文档时,建议自建对照表:
| 架构概念 | 代码锚点 | 插件扩展点 |
|---|---|---|
| 三平面 Host/Preset/Client | host 启动流程 | Bundle 配置 |
| Session Log | sessions 包 | 压缩插件 |