@falari/harness

中文文档
0.8.20发布于 2026/11/11MITES Module零依赖近 30 天下载 2160

Falari Data客户端 DeepSeek Harness:代理密钥状态,数据上传和下载.

中文使用文档
文档目录11 节
  1. 状态
  2. 项目
  3. 解决问题: DSH 无法启动
  4. 安装( 开发)
  5. 配置
  6. 工具
  7. 构建
  8. 仓库
  9. 版式
  10. 测试
  11. 警卫

法拉利哈内斯

Falari 数据客户端 深搜索策略 (DSH):上传文件到 Falari 存储并下载回来,唯一的证书是Agent Key。 这个 相同的6个操作作为工具暴露于模型中,并作为工具暴露于用户 显示面板.

插件带有 Falari 标记 : icon.png 是提供的389×389出物, (没有收成,没有透明度) 图像与其原WebP字节相同. 侧边栏绘制清晰的矢量艺术 >_ 活在20px时.

状态

阶段范围状态
M0 导弹站台、安装、面板/设置占位符已完成——安装在 desktop 简介(2026-11-09)
M1级代理密钥存储, falari_status 工具,设置页面已完成(v.2.0)
M2级引用、上传队列、上传面板, falari_quote 编号 : falari_upload 编号 : falari_task已完成(v0.3.0)
M3级意向列表,下载/解密, falari_list 编号 : falari_download已完成(v. 4.0)
M4级可编辑设置、单位测试、测试计划已完成(v0.5.0); 测试网密钥前的现场接收
M5型导弹仓库布局、更改日志、许可证、清单检查已完成(v0.5.0)

活链验证仍然需要真正的测试网代理密钥:设置页面 每条路线/工具的路径 都包含在离线烟雾测试中 但什么都没有 此处已对测试网进行付费上传 .

全部设计在 文件/计划。 。 。 .

项目

解决问题: DSH 无法启动

早先的一栋建筑将被封存的代理密钥写成额外的字段 api-key 证书记录. 证书店拒绝未知的字段并拒绝 启动 :

credentials-local: record "falari-harness/agent-key" in ~/.dsh/.credentials.yaml
has unknown field "v"

6.8.20 将信封保存在记录中 key 字段并迁移旧 启动时的记录。 如果 DSH 完全无法启动, 请将文件脱机修复 :

node scripts/repair-credentials.mjs --file ~/.dsh/.credentials.yaml

脚本只重写该记录, 首先支持文件, 并打印不 暗号.

安装( 开发)

打开 插件 — 添加 在DeepSeek Harness中将其指向这个目录,或者 从代理会话调用插件管理器工具 :

plugin_manager action=install_bundle target=/path/to/clients/harness

捆绑是作为本地链接安装的(link:...) (中文(简体) ). 用于发布构建 plugin_manager action=install_bundle target=@falari/[email protected]。主机代码更改需要 重新装入的插件行( 切换捆绑出/ 上, 或重新启动 DSH); 客户端代码 更改需要刷新页面.

存储时间可以是预设(永久失效連結/30d/90d/1y/5y/10y)或任何 按天数、月份或年份计算。 收费跟链子一样 RequiredFee数字 : 三十六年后的任何任期均需缴纳 永久价格而不是永远增长.

取消上传打开带有退款分解的确认对话框 (支出、注销率、扣付补偿、终止服务费、数额) 在签名前从链上读取.

状态读取为缓存: 主机的答案来自 <dataDir>/status-cache.json 财务报告和审定财务报表 刷新背景中的链条( 一个 15 s 窗口), 面板保留自己的 localStorage 复制后卡片会在第一个请求返回前制作 .

代理密钥已存储 在 PIN 下加密,从清晰的文字中选择: 从PIN中获取了AES-256-GCM密钥,解密后密钥只存在于记忆中, 和面板按要求或之后锁定 lockIdleMinutes 不活动 (默认60,预设或任何值从0到10080分). 插件行重装 在进程存在时保留解锁。 A 类 已持有平面键的配置文件被标记并重新封存.

Agent 密钥和存储默认在插件中配置, 绝不 全局设置对话框中:

  • Falari 数据面板 — 设置标签 ——总是可用的,无论插件 页面使.
  • 插件 — Falari 数据 - 捆绑的页面卡,或行 配置 控制,由 plugins.bundle.config 编号 : plugins.row.config 插槽 . 两者都可能在安装后使用浏览器刷新后出现.

配置

该行接受可选 config 块( 显示默认值) 。 将覆盖置入 配置补丁 :

- id: falari-harness
  name: '@falari/harness'
  config:
    network: testnet            # testnet | mainnet (mainnet is not live yet)
    defaultPrivacy: public      # public | private
    defaultDuration: permanent  # permanent | 30d | 90d | 1y | 5y | 10y
    maxFileSizeBytes: 2147483648
    allowUploadOutsideWorkspace: false
    allowRemoteRoutes: false     # keep the panel routes on loopback only
    # gatewayUrl / retrievalUrl / explorerUrl override the network presets
    # timeoutMs defaults to 60000
    # dataDir defaults to <DSH_PROFILE_DIR>/falari-harness

代理密钥是 没有 配置 : 它住在 DSH 证书存储器中 记录 falari-harness/agent-key。 。 。 .

工具

工具目的
falari_status关键状态、等级、津贴、余额、矿工refresh: true 绕过缓存)
falari_quote上传价格( E)path 或者说 size_bytes)和检查预算
falari_upload队列工作空间文件; wait: true 最多两分钟
falari_task读取一个任务或最近列表
falari_list这个帐户的初衷是最新的
falari_download下载一个意图, 验证根, 私下解密

插件配置页面通过配置文件将这些值写回 配置编辑器,所以保存重新启动插件行.

代理上传仅限于会话工作目录,除非 allowUploadOutsideWorkspace 已启用。 用户在面板中选择的文件是 不受那个警卫的支配.

构建

主机将未出版的Falari SDK(@falari/agent)和 预编译软件包 lib/falari-sdk.cjs因此,安装捆绑不需要 他们的 npm 包 :

npm run build:sdk

拖出新车后运行此功能 sdk/sdk-agent-ts。 。 。 .

仓库

项目位于此目录中, 并作为 npm 软件包发布 @falari/harness; 周围的 Falari 检出只托管它构建的 SDK 和它跟随的文件。 项目之家: https://falari.xyz (英语)。 。 。 .

软件包名称 @falari/harness 是捆绑的身份 : package.json name, (中文(简体) ), 装入器行入 cordis.patch.yml 编辑 id 转至 window.__ModuleLoader__.load 必须保持平等,因为客户模块 扫描与装入器规格匹配已安装的显示名称.

package.json 出口 ., (中文(简体) ), ./client, (中文(简体) ), ./cordis.patch.yml, (中文(简体) ), ./package.json, (中文(简体) ), ./locale/*.json 财务报告和审定财务报表 ./icon,和船舶 index.js, (中文(简体) ), client.js, (中文(简体) ), lib/**,则 补丁, 地方, 图标, README, ChangGELOG 和 LICENSE. 其他的都一样 (单位:千美元)scripts/, (中文(简体) ), docs/)是只存储器. npm pack --dry-run 列出18个文件.

发布是将此目录推向新寄存器; 其它不包含 明显需要改变.

版式

clients/harness/
├── .gitignore
├── CHANGELOG.md          # release notes per milestone
├── LICENSE               # MIT, © 2026 falari_labs
├── README.md
├── package.json          # dsh.bundle + dsh.client manifest, exports, files
├── cordis.patch.yml      # inserts the falari-harness row
├── icon.png
├── index.js              # Host entry: wiring
├── client.js             # Web client half: panel, tabs, settings
├── lib/
│   ├── config.js         # row config resolution + edit validation
│   ├── errors.js         # shared error shape and mapping
│   ├── routes.js         # /api/falari-harness/* (same-origin, loopback)
│   ├── sdk.js            # loads the bundled SDK
│   ├── service.js        # FalariDataService: key, quote, budget, uploads, downloads
│   ├── tools.js          # six falari_* Agent tools
│   └── falari-sdk.cjs    # generated by npm run build:sdk (committed on purpose)
├── scripts/
│   ├── build-sdk.sh      # esbuild bundle of @falari/agent + precompiles
│   ├── unit-host.mjs     # pure-helper unit tests
│   ├── smoke-host.mjs    # HTTP route smoke tests against a patched SDK
│   └── smoke-client.mjs  # client.js render smoke test in a VM
├── locale/{en,zh}.json   # plugin metadata
└── docs/
    ├── plan.md           # v0.1 design and milestone log
    └── test-plan.md      # automated, live and panel checks

测试

npm test            # unit + Host routes + client render, all offline
套间它会做什么
scripts/unit-host.mjs配置验证/ 默认、 名称消毒、 状态和错误映射
scripts/smoke-host.mjs补丁 SDK 客户端并驱动每个 HTTP 路由 : 状态、 密钥、 引文、 原始上传、 任务动作、 意图、 下载、 配置保存、 来源和回路保护
scripts/smoke-client.mjs负载 client.js 在 VM 中,服务器将三个插槽组件

83张支票今天通过。 手动和现场测试网台阶进入 文件/测试计划。 。 。 .

警卫

  • 代理密钥是持有上传权限的无记名证书. 它只储存在 主机证书存储; 浏览器从未接收或坚持原始 far_... 字符串, 没有路径返回它 .
  • 上传路由只接受同源请求; 跨源写入为 以403拒绝.
  • 路由只回答回回转端口, 除非 allowRemoteRoutes 启用,所以 绑定在较宽地址的收听器不能用于更改密钥或支付 上传.
  • 浏览器在插件数据目录下将流上传到 0600 临时文件 并一旦任务完成或被取消就删除; 超过24个的文件 启动时会扫描小时.
  • 面板显示一个私有文件上传完成后的数据密钥, 因为 失去它使得密码无法恢复.
  • 下载只写在配置内 downloadDir (默认) <dataDir>/downloads(a) 减少 out_path 逃避它将被拒绝 已存在的文件名增益a (1) 后缀而不是被覆盖.

版本与发布记录

@falari/harness 共发布 13 个版本,首次发布于 2026/11/10;过去 12 个月发布了 13 个版本。

版本发布日期距今
0.8.20latest2026/11/112 天前
0.8.192026/11/103 天前
0.8.182026/11/103 天前
0.8.172026/11/103 天前
0.8.162026/11/103 天前
0.8.152026/11/103 天前

关于 @falari/harness 的常见问题

@falari/harness 是什么?

Falari Data客户端 DeepSeek Harness:代理密钥状态,数据上传和下载.

如何安装 @falari/harness?

在项目目录运行 npm install @falari/harness,或使用 pnpm add / yarn add / bun add。

@falari/harness 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/falari__harness 是否存在。

@falari/harness 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@falari/harness 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@falari/harness 可以商用吗?

@falari/harness 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@falari/harness 的下载量有多少?

根据 npm 官方下载统计,@falari/harness 在 2026/10/14 – 2026/11/12 这 30 天内被下载 2,160 次,日均约 72 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@falari/harness 还在维护吗?

最新版本 0.8.20 发布于 2026/11/11(2 天前);至今共发布 13 个版本,其中过去 12 个月发布了 13 个;首次发布于 2026/11/10。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。