# 本地长期研究员工:使用与验收 版本 0.5.0,2026-10-04。第一版的验收场景是公开网页/资讯研究。 ## 使用 1. 保持电脑运行,打开 DeepSeek Harness,进入「办公室」。确认「长期研究员工」显示「本地后台在线」。需要 Node.js 20+,且 Harness headless 已有可用的模型与账号配置。 2. 新建职责:选择员工、填写长期目标与判断标准、输入 1–5 个公开网址。间隔至少 15 分钟;每日模型唤醒上限为 1–24 次,按 UTC 日期重置。保存默认暂停,不会自动调用模型。 3. 点击「立即执行一次」。第一次建立基线,显示最近记忆与报告;报告包含来源、抓取时间、文本哈希、是否截断及模型返回的简报。失败会明确显示原因。 4. 点击「启用定期检查」。以后按间隔抓取;文本哈希不变则不调用模型,变化时生成简报和办公室提示。点击「暂停」取消当前任务并停止后续检查。 最多保存 10 个职责,一次只允许一个启用或待执行。每日上限限制模型调用尝试次数,失败的模型调用也计入,不能保证金额上限。模型由 Harness headless 配置决定,花名册中的模型备注不影响调用。 每次研究将上次成功简报和本次来源文本交给模型。首次简报是基线;后续变化才发变化提示。没有变化不会重新生成简报,所以仅修改研究目标无法触发重新分析;本版创建后不提供编辑,需另建职责。源页面里的日期、广告等变化也可能触发检查,尚无语义变化去噪。 ## 后台与数据 插件启动时拉起独立本地 Node 进程。关闭窗口、退出整个桌面应用后进程继续运行;电脑关机、休眠或网络中断会影响执行。没有云主机,也没有开机自动启动服务:开机后需打开 Harness 或手动启动后台。宿主运行时每 30 秒检查后台,停止后台后如不退出 Harness,宿主可能再次拉起它。 ```sh npm run research:worker # 当前终端手动启动;已有实例则退出 npm run research:stop # 请求后台停止;长期停工请在界面暂停职责 node bin/research-worker.mjs --root /absolute/team/directory ``` 默认数据位于 `$DSH_HOME/team/research`(通常为 `~/.dsh/team/research`): ```text state.json 职责、最近成功记忆、最近 20 次运行、提示和后台心跳 worker.log 后台进程日志 runs/<职责 ID>/<运行 ID>/report.md 成功简报和来源摘要 runs/<职责 ID>/<运行 ID>/result.json 简报、来源正文片段、模型会话 ID、返回的 token 用量 ``` 每来源最多读取 1 MiB、传给模型最多 8,000 字符;成功记忆最多 6,000 字符。来源正文不会混进运行历史。旧报告文件没有自动清理机制;长期运行后需按自己的保留策略归档。已执行的模型会话也由 Harness 保存。 失败保留上次成功记忆,前两次按 5、10 分钟退避;连续三次失败或中断自动暂停并留下提示。后台崩溃后,新实例检查旧 PID,恢复中断任务。模型总超时 120 秒。暂停会终止正在执行的模型进程,已经消耗的额度不能撤销。 目录锁只包住短状态变更,不包住网络或模型调用。强制结束写入进程可能遗留目录锁;本版不自动抢锁。若日志提示锁超时,先停止宿主与全部写入进程,再确认锁目录无人使用后处理。多个状态文件与报告文件不构成数据库事务。 ## 能力边界 - 收集 HTTP(S) 文本、HTML、JSON、RSS/Atom;无登录、无浏览器 JavaScript 渲染、无网页交互。拒绝本地和私有地址,验证每次重定向,固定已验证 DNS 地址,不复用连接池。 - 模型只收到目标、员工岗位、上次简报和来源文本;随当前安装版提供的文件、终端、网页等工具在研究 overlay 中关闭。它不执行模型输出。自定义 runtime 或额外全局插件需另审其工具配置;这不等同于操作系统沙箱。 - 使用真实模型不保证每个结论正确。简报是模型分析,需要查看来源核对;哈希比较证明文本变化,不能证明内容可靠。 - 变化和错误提示保存在办公室面板,尚无系统通知、邮件或其他外部推送。首次运行不产生变化提示。 - 岗位只提供研究上下文;没有多个研究员工并行协作、独立员工模型路由、云电脑或跨软件自动操作。 ## 验收记录与复现 `npm test` 共 112 项检查,全部通过;自动测试无需账号与网络,模型使用明确的夹具。 | 项目 | 验收方法 | 通过条件 | |---|---|---| | 保存与启停 | 隔离目录 + 真实 HTTP 路由契约 | 默认暂停;单次不启用定期任务;只有一个职责可活动 | | 研究循环 | 注入来源/模型夹具 | 基线有报告;无变化模型调用数不增加;变化生成提示与新记忆 | | 故障与额度 | 夹具异常、取消、日期边界 | 失败不覆盖记忆;三次失败暂停;上限阻止模型调用 | | 网络边界 | 本地 HTTP 服务器仅测试底层传输,公开收集入口拒绝它 | 大小/类型/状态码/超时正确拒绝;DNS 超时与私有地址拒绝 | | 进程恢复 | 真实子进程 + 模型夹具 | 第二实例拒绝重复执行;强制结束后恢复;正常退出保留记忆 | | UI 与权限 | 面板组件及路由测试 | 创建、暂停、历史、报告、提示可用;缺鉴权服务拒绝;阻止任意文件读取 | 另在当前机器完成了真实集成验证:公开页面 `https://example.com/` 读取成功,安装版 Harness headless 返回中文简报与会话 ID/token 用量。该页面仅用于一次通信验证,没有开启定期研究。模型协议的完成原因实际是 `{kind:"completed"}`,适配器已按真实协议解析。 桌面端已验证新入口、创建表单与后台在线状态;原会话输入框也正常显示。退出整个 Harness 后,同一后台 PID 继续更新心跳。没有创建或启用真实研究职责,原有 5 位员工与内容数据保留。 用户可按「立即执行一次 → 查看来源与完整报告 → 启用定期检查 → 暂停」验收真实目标。若需要确定性地复现网页变化,自动测试已覆盖该过程;本机公开收集器有意拒绝 localhost,不能将测试服务当作生产来源。