Contributing to PaperLab

August 15, 2026 · View on GitHub

感谢你的兴趣!本项目采用 MIT 协议,欢迎任何形式的贡献:issue、PR、文档改进、插件功能增强。

开发环境

make install        # Python venv + 前端依赖 + 插件依赖
make test           # 后端 pytest + 前端构建 + 插件类型检查/构建/单测

目录约定

  • server/app/:FastAPI 后端,功能按模块拆分(项目存储 / 编译 / dsh 客户端)
  • web/src/components/:React 组件,一个文件一个组件
  • plugin/src/:dsh-paperlab 插件(index.ts 入口,tools.ts 工具,backend.ts 文件/git 实现,server.ts HTTP 端点)
  • docs/:使用与架构文档,与代码同步更新

提交规范

  • 提交信息使用 Conventional Commits 风格:feat: / fix: / docs: / chore:
  • 涉及行为变化的 PR 请附上验证结果(截图或测试输出)

与 DeepSeek Harness 的约定

  • 插件必须保持官方 bundle 规范:package.json 中声明 dsh.bundle,通过 cordis.patch.yml 安装
  • 工具注册使用 defineTool,输出 schema 保持严格(additionalProperties 显式声明)
  • 新增插件能力时,优先复用 dsh 公开服务(tools / systemPrompt / agents / agentDefaultModel / llm),不要绕过 harness 直接调模型 API

发布插件

插件发布为 npm 包后,用户可用以下方式安装:

dsh plugin --profile paperlab add dsh-paperlab

并在仓库 Topics 中添加 dsh-plugin,让插件出现在 DeepSeek Harness 插件生态 中。