task-differ
v1.0.11
Published
OpenClaw plugin for requirement summarization and repository risk analysis
Readme
task-differ
OpenClaw 插件,提供:
- HMAC 鉴权的 HTTP Gateway 接口
- 异步长任务(
start/status/result/resume/cancel) - 需求总结 + Mermaid 流程图
- 代码库结构/风险分析 + Mermaid 依赖图
- Tool 接口(供 Agent 直接调用)
官方推荐配置方式(OpenClaw 配置)
本插件已支持从 OpenClaw 的 plugins.entries.task-differ.config 读取配置。
为保证 openclaw plugins install/update 可在“首次未配置”场景通过校验,configSchema 不强制 required;密钥由安装引导自动生成并输出。
建议使用 openclaw config 命令配置:
openclaw config set plugins.entries.task-differ.enabled true --json
openclaw config set plugins.entries.task-differ.config.apiKey "<YOUR_API_KEY>"
openclaw config set plugins.entries.task-differ.config.apiSecret "<YOUR_API_SECRET>"
openclaw config set plugins.entries.task-differ.config.dbPath "/var/lib/task-differ/task-differ.sqlite"
openclaw config set plugins.entries.task-differ.config.storageRoot "/var/lib/task-differ"
openclaw config set plugins.entries.task-differ.config.allowedRepoRoots '["/data/repos","/srv/projects"]' --json
openclaw config set plugins.entries.task-differ.config.authWindowSeconds 300 --json
openclaw config set plugins.entries.task-differ.config.defaultChunkChars 12000 --json
openclaw config set plugins.entries.task-differ.config.mergeEveryNChunks 20 --json
openclaw config set plugins.entries.task-differ.config.defaultLanguage "zh"修改配置后重启 gateway 生效。
配置项说明
apiKey(必填)apiSecret(必填,敏感字段)authWindowSeconds(默认300)dbPath(可选,SQLite 文件路径)storageRoot(可选,任务工作目录)allowedRepoRoots(可选,允许读取的仓库根目录数组)defaultChunkChars(默认12000)mergeEveryNChunks(默认20)defaultLanguage(zh/en,默认zh)
安装与打包
本地开发
npm install
npm run typecheck
npm test
npm run build打包
npm run pack:plugin一键本地安装
npm run install:local默认安装目录:~/.openclaw/extensions/task-differ
安装脚本会:
- 打包并安装插件
- 仅在“未检测到已有配置”时,生成随机
apiKey和apiSecret - 输出并写入 OpenClaw 配置片段文件:
<install-dir>/openclaw.plugin.config.snippet.json
你可以直接把该片段合并到 OpenClaw 配置,后续也可用 openclaw config set 修改。
install / update 自动触发说明
插件包内含 postinstall,因此在 openclaw plugins install / openclaw plugins update 触发依赖安装时也会执行同样逻辑:
- 如果已存在
plugins.entries.task-differ.config.apiKey/apiSecret,不会覆盖。 - 如果未配置,会生成随机凭证并打印到安装日志,同时写入
openclaw.plugin.config.snippet.json。
HTTP 路由
POST /v1/tasksGET /v1/tasks/:taskIdGET /v1/tasks/:taskId/resultPOST /v1/tasks/:taskId/resumePOST /v1/tasks/:taskId/cancelGET /v1/health
HMAC 签名规则
Canonical string:
METHOD + "\n" + PATH + "\n" + TIMESTAMP + "\n" + NONCE + "\n" + SHA256(BODY)请求头:
X-API-KeyX-TimestampX-NonceX-Signature
兼容说明
- 插件优先读取 OpenClaw 配置(推荐)。
- 仍兼容
PLUGIN_*环境变量作为兜底(仅用于兼容旧部署)。
NPM scripts
npm run buildnpm run typechecknpm testnpm run cleannpm run pack:pluginnpm run install:local
