证据快照复核于 2026-09-16GitHub 数据核对日期: 2026-08-21
证据已验证Plugin Bundle集成与连接dsh Profile

Doco for DeepSeek Harness

将 DeepSeek Harness Agent 连接到 Doco 知识库,支持带引用的搜索、局部阅读、电子表格和需审批的写入。

快速了解

它能做什么

将 DeepSeek Harness Agent 连接到 Doco 知识库,支持带引用的搜索、局部阅读、电子表格和需审批的写入。

本站提供的是中文说明,不代表该项目或 Plugin 自身提供中文界面;语言支持请以上游文档为准。

使用场景
集成与连接集成搜索自动化
适配技术
deepseek-harnessdoco
兼容性

dsh Profile
Node >=18.0.0; @deepseek-ai/cordis ^4.0.1; @deepseek-ai/dsh-tools >=0.1.0-rc.7

可信度与状态

证据已验证
核对日期 2026/9/12 UTC 14:13

有代码证据的贡献

它为 DSH 增加什么

Doco 知识库工具

为 DSH 添加九个 Doco 工具,用于连接状态、知识库发现、搜索、大纲和按 Token 预算阅读,以及电子表格访问、单元格更新和草稿保存。

机制证据

选择前先看

这是一个原生 DSH Bundle,会注册九个 `doco_` 工具。它可列出可访问的知识库、搜索内容、查看文档大纲、按 Token 预算读取局部正文,并处理电子表格范围;同时为兼容的同进程插件提供 Doco 服务。

适合谁

将工作知识沉淀在 Doco 中,希望让 DeepSeek Harness Agent 检索带来源的资料或准备受控更新的用户。

常见任务

  • 搜索 Doco 知识库,并在回答中保留文档链接引用。
  • 先查看文档大纲,再按 Token 预算精读所需区块。
  • 读取电子表格结构和单元格范围,再执行受保护的单元格更新。
  • 在明确审批后,将 Agent 产出保存为新的 Doco 草稿。

权限与数据

插件通过 Doco CLI 客户端连接,并可能请求基于系统浏览器的设备授权。

权限
  • 读取 Doco 知识库和文档的权限。
  • 保存草稿或更新电子表格时需要 `documents:write` 写入 scope。
  • 提交操作需要 DSH 显式审批和已启用的写入开关。
数据处理
  • 项目声明令牌存储在 `~/.config/doco/config.json`,文件权限为 0600。
  • 项目声明令牌仅通过 POST 请求体和浏览器授权传递,不会进入工具结果、日志、错误栈或提交。
  • 搜索和读取结果可能包含文档 URI 和网页 URL 作为引用。
外部服务
  • 配置的 Doco API 地址。
  • 用于 Doco 设备登录流程的系统浏览器。
凭据
  • 访问 Doco 需要 Doco 令牌或设备登录会话。
  • 写入还需要写入 scope 和已启用的写入控制。

局限

  • 提供的证据未显示在真实 DSH Profile 中成功安装或连接到 Doco。
  • 未找到 npm Registry 中的该版本;评估此条目时应使用已验证的固定 Git 源码路径。
  • 它依赖 `doco-agent-cli`,并声明与 DSH/Cordis Peer 依赖兼容。
  • 搜索结果可能不完整或过期;项目说明 Agent 不应据此断言知识库中不存在信息。
  • 保存草稿只会新建草稿,不会删除、移动或整篇覆盖文档。

DSHub 已核对

  • 已采集包清单、DSH Bundle Patch 和固定 Git Commit,Bundle 结构校验通过。
  • 清单声明 Node >=18.0.0,以及 DSH/Cordis Peer 依赖。
  • 源码文档描述了九个 Doco 工具及其读写控制。

DSHub 未核对

  • 未在真实 DSH Profile 中执行安装。
  • 未运行测试 Doco 鉴权、API 连通性、权限执行或写入审批行为。
  • 项目声称的测试套件和工具行为未被独立执行验证。

固定版本安装

安装 Doco for DeepSeek Harness

这个Plugin Bundle没有 DSH Plugin 安装操作,请根据源码文档使用真实交付方式。

访问源码项目

维护者原文

项目 README

查看 commit bfdd890 对应的 README
维护者编写的上游内容原文于 2026/9/12README.md 获取,正文和仓库相对媒体固定到 commit bfdd8903027e,内容哈希为 fd7039b55ab8。以下是未经 DSHub 翻译的上游原文,语言可能与当前页面不同;第三方托管的 badge 可能独立更新。

doco-dsh

Doco 知识库的 DeepSeek Harness(dsh)原生插件。用 9 个工具把 Agent 接到你的 Doco 知识库上:块级寻址、按 token 预算精读、乐观并发写入草稿、来源引用,全部复用 doco-agent-cliDocoClient(HTTP / ETag / Token 逻辑不复制)。

默认只读;写入走 dsh 原生审批 + scope 门禁,绝不静默提交。

能力

工具 读/写 说明
doco_status 连接自检:当前用户、scope、API 地址、读写能力
doco_list_knowledge_bases 列出可见知识库(选 knowledge_base_id
doco_search Search v2 全文搜索,带完整性证明(projection.complete / freshness
doco_outline 文档结构大纲(稳定 block_id + heading path),先规划再精读
doco_read 按 token 预算局部读取正文(around / cursor 续读)
doco_get_spreadsheet 工作表结构、激活页、尺寸、格式与顶层 version
doco_get_cells document_id + sheet_id + range,返回原始字符串
doco_update_cells document_id + sheet_id + cells + if_match,原子批量提交
doco_save_draft 把 Agent 产出存成新草稿preview → 确认 → commit

回答里的事实命中有来源引用(document_uri / web_url);doco_search 返回 complete=falsefreshness=stale 时,插件会显式标注「结果不完整」,禁止 Agent 据此断言「知识库里没有」。

安装

doco-dsh 依赖:

  • doco-agent-cli@^0.1.3(npm 运行时依赖);
  • @deepseek-ai/dsh-tools / @deepseek-ai/cordispeer dep,由宿主 dsh 提供,本插件不捆绑)。

装包并自动挂载(推荐)——本包声明了 dsh.bundle.patchdsh plugin add 装完即自动挂进 profile 层栈:

dsh plugin --profile <name> add doco-dsh

手动挂载(备选)两步:

pnpm add doco-dsh   # 或 npm i doco-dsh,装到 dsh 项目里供 composition 解析

再在 dsh 的 Composition YAML(如 agent.cordis.yml)里追加一条——name 既可用 npm 包名,也可用本地相对路径:

# 挂到你的 composition(追加一条)
- id: doco
  name: 'doco-dsh'

(最简形式也可只写 - name: 'doco-dsh'。挂载语法细节见 dsh 教程《07 · Into the Harness》。)

挂载完成后,apply 会:

  1. 解析配置(见下);
  2. 注册 9 个工具(命名带 doco_ 前缀,可配 DOCO_DSH_TOOL_PREFIX 覆盖);
  3. 注入系统提示词分段(仅规则,不注入内容/Token);
  4. 注册 /doco 命令。

配置走环境变量与 doco-agent-cliloadConfig()(见下方「配置」),不通过 YAML config: 块。

@deepseek-ai/dsh-tools 缺失或版本不兼容,插件会在加载期抛稳定错误码 doco_dsh_incompatible(不静默降级)。

授权(设备登录流)

/doco connect                     # 默认 read_only
/doco connect --access read_write # 需要写入时选 read_write

命令会打开系统浏览器完成设备授权,Token 写入 ~/.config/doco/config.json0600),并自动重载插件状态。

/doco status / disconnect / set-kb <kb_id>

Token 只走 POST 请求体与浏览器;绝不进入工具结果、日志、错误栈或提交

配置

优先级(高 → 低):dsh 启动参数 > doco-agent-cliloadConfig()~/.config/doco/config.json + DOCO_BASE_URL/DOCO_TOKEN)> 插件级环境变量 > 内置默认。

环境变量 默认 说明
DOCO_API_BASE_URL https://api.doco.page/api/v1 API 地址(仅 http/https)
DOCO_API_TOKEN 令牌(也可用 doco-agent-cli 登录)
DOCO_DEFAULT_KB 默认知识库 id
DOCO_WEB_ORIGIN https://doco.page 引用链接的 Web 源
DOCO_READ_MAX_TOKENS 4000 doco_read 默认预算(64–50000)
DOCO_READ_CONTEXT_BEFORE / AFTER 2 / 4 上下文块默认(0–100)
DOCO_DSH_TOOL_PREFIX doco 工具名前缀
DOCO_DSH_ALLOW_WRITES false 写入总开关(仍受 scope + 用户确认双重门禁)

写入安全(三层)

  1. 同步 guardDOCO_DSH_ALLOW_WRITES 未开启时,任何 commit 被单调拒绝(doco_write_not_confirmed)。
  2. pre-execute 审批:commit 前校验 documents:write scope,随后 ask 用户确认(dsh 原生审批)。
  3. execute 防御:即使被直接顶层调用,doco_save_draft 也再校验 scope 并返回稳定错误码。

doco_save_draft创建新草稿:不删除、不移动、不整篇覆盖;用唯一 Idempotency-Key,冲突即返回 doco_version_conflict,从不强覆盖。

doco 服务(供上层插件消费)

0.2.0 起,apply 在装配早期通过 ctx.provide('doco', createDocoService(state, { toolPrefix })) 暴露一个 doco 服务,把客户端、身份、scope、错误契约与配置以统一服务面开放给同进程的其他插件:

  • getConfig() / getClient() — 实时配置与 DocoClient(reconfigure 后整体替换,活引用);
  • ensureIdentity() / hasToken() / hasScope(scopes, scope) / scopes — 身份与权限面;
  • errorValue / toErrorValue / mapApiError / DocoPluginError — 统一错误契约;
  • toolPrefix / pluginName / version — 运行时元信息。

消费方用 Cordis 依赖注入声明 inject: ['doco'],插件会等待该服务就绪后才启动。当前消费者:

不消费 doco 服务也完全不影响 doco-dsh 自身 9 个工具:服务是纯增量面。

与 Doco MCP 的关系

doco-agent-cli 自带一套 29 工具的 MCP server。本插件复用同一 DocoClient,并在读/搜索工具上采用同名前缀:若二者被同时加载,registerTools 检测到重名会跳过而非覆盖,避免同一个知识库以两套名字重复注册、重复消耗上下文。推荐二选一(原生插件更省一跳 RPC 且能用上 dsh 原生写入审批;MCP 更通用)。详见 docs/adr-001-native-vs-mcp.md

错误契约

工具失败「返回而非抛出」结构化错误值 { kind:'doco_error', code, message, next_step },让模型能读到 next_step 自行纠偏。稳定错误码见 src/errors.js(如 doco_auth_requireddoco_insufficient_scopedoco_rate_limiteddoco_version_conflictdoco_read_cursor_stale)。

开发

pnpm install
pnpm test          # 80 个测试:单测 + 真实 dsh-tools/cordis 冒烟 + 装配集成

电子表格(0.3.0)

独立 document_type=spreadsheet 必须使用专用工具,禁止通用 TipTap 写入及浏览器 click/setValue。 先 doco_get_spreadsheet 取得顶层 version 和 sheet ID(旧单页 sheet_1),再 doco_get_cells 读取目标范围。 调用 doco_update_cells,例如 cells={"C15":"10","C16":"20","C17":"=SUM(C15:C16)","C18":""}if_match 为读取的 version 或带双引号 ETag。 值必须为字符串;公式不在服务端计算,空字符串清空值且保留样式。写后 GET 回读确认。 写工具沿用 allowWrites、documents:write 和 dsh 审批门禁;一次调用仅 PATCH 一次。 失败返回 http_status、原始 codedetailsrequest_id;版本冲突另含 current_version 与重读提示。 仅 409 document_version_conflict 在上层重读内容和版本、合并后重试,最多 3 次;其他 409(如类型不符)原样处理。 现有发布版 DocoClient.request 即可调用,无需升级 CLI 依赖或修改 doco_save_draft

有意识地管理

安装与管理

前置条件与目标 Profile

目标 dsh Profile

交付方式 Git Bundle — songofhawk/doco-dsh#bfdd8903027eedded46569092562ba13ea0804d4

验证、更新与移除

显示生命周期命令
验证
dsh plugin --profile dsh list

兼容性与访问范围

Node 18+; DeepSeek Harness peer packages declared Node >=18.0.0; @deepseek-ai/cordis ^4.0.1; @deepseek-ai/dsh-tools >=0.1.0-rc.7

检查兼容性证据

风险事实

凭据

Doco access token and browser authorization

证据
writes

Can create drafts and update spreadsheet cells after write controls and approval

证据
证据与编辑审查Manifest、Bundle patch、分发与新鲜度

不可变证据

审查状态与源码活动

AI 已审查

有关令牌处理和写入保护的内容来自项目文档,并非独立安全评估。

AI 审查于 2026/9/12 UTC 14:13GitHub 事实核对日期: 2026/9/12 UTC 14:13

自当前证据基线以来,没有记录到重要源码变化。

下一步

按 Plugin 安装流程操作

订阅重要变化: Doco for DeepSeek Harness