🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

信封协作网 GuoMonth/dsh-linko

DeepSeek Harness
GuoMonth20 天前有提交已提供中文文档扫描:含敏感能力

帮 Agent 找到合适协作者并安全交换上下文

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/14 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add GuoMonth/dsh-linko
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · tool
装得上吗
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 20 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 32 处,展示前 32 条)
  • 发起网络请求
    packages/bridge/src/client.ts:146
    const payload = await this.request(path, { method: "POST", body: JSON.stringify(body) });
  • 发起网络请求
    packages/bridge/src/client.ts:159
    const payload = await this.request(`/v1/inbox${suffix}`);
  • 发起网络请求
    packages/bridge/src/client.ts:165
    const payload = await this.request(`/v1/inbox/${encodeURIComponent(eventId)}`);
  • 发起网络请求
    packages/bridge/src/client.ts:170
    const payload = await this.request("/v1/receipts", {
  • 发起网络请求
    packages/node/contract-smoke.mjs:10
    const response = await fetch(`${base}${path}`, {
  • 发起网络请求
    packages/node/contract-smoke.mjs:29
    assert.equal((await fetch(`${base}/v1/node`, { headers: { origin: "http://127.0.0.1:4173" } })).headers.get("access-control-allow-origin"), "http://12
  • 读取本地文件
    packages/node/ledger-smoke.mjs:22
    const text = await readFile(path, 'utf8');
  • 删除本地文件递归
    packages/node/ledger-smoke.mjs:26
    await rm(directory, { recursive: true, force: true });
  • 发起网络请求
    packages/node/live-smoke.mjs:26
    const response = await fetch(base + path, {
  • 执行外部命令固定命令
    packages/node/live-smoke.mjs:177
    execFileSync('openssl', ['req', '-x509', '-newkey', 'rsa:2048', '-nodes', '-days', '1', '-subj', '/CN=127.0.0.1', '-keyout', join(work, 'key'), '-out'
  • 读取本地文件
    packages/node/live-smoke.mjs:178
    const key = readFileSync(join(work, 'key')); const cert = readFileSync(join(work, 'cert'));
  • 删除本地文件递归
    packages/node/live-smoke.mjs:206
    rmSync(work, { recursive: true, force: true });
  • 写入本地文件
    packages/node/restart-recovery-smoke.mjs:12
    mkdirSync(certDir);
  • 执行外部命令固定命令
    packages/node/restart-recovery-smoke.mjs:40
    const output = execFileSync("openssl", ["x509", "-in", path, "-noout", "-fingerprint", "-sha256"], { encoding: "utf8" });
  • 执行外部命令固定命令
    packages/node/restart-recovery-smoke.mjs:44
    execFileSync("openssl", ["req", "-x509", "-newkey", "rsa:2048", "-nodes", "-days", "1", "-subj", "/CN=127.0.0.1", "-addext", "subjectAltName=IP:127.0.
  • 写入本地文件
    packages/node/restart-recovery-smoke.mjs:45
    chmodSync(keyPath, 0o600);
  • 写入本地文件
    packages/node/restart-recovery-smoke.mjs:49
    writeFileSync(path, JSON.stringify({ peers: [peer] }));
  • 写入本地文件
    packages/node/restart-recovery-smoke.mjs:50
    chmodSync(path, 0o600);
  • 执行外部命令来自配置/变量
    packages/node/restart-recovery-smoke.mjs:53
    const child = spawn(process.execPath, [join(root, "packages/node/dist/cli.js")], {
  • 发起网络请求
    packages/node/restart-recovery-smoke.mjs:79
    const response = await fetch(`${base}${path}`, { ...options, headers: { "content-type": "application/json", ...(options.headers ?? {}) } });
  • 删除本地文件递归
    packages/node/restart-recovery-smoke.mjs:152
    rmSync(work, { recursive: true, force: true });
  • 发起网络请求
    packages/node/smoke.mjs:11
    const response = await fetch(`${base}${path}`, {
  • 发起网络请求
    packages/node/smoke.mjs:20
    const response = await fetch(`${base}${path}`, {
  • 读取密钥环境变量
    packages/node/src/cli.ts:17
    const keyPath = process.env.LINKO_TLS_KEY;
  • 读取本地文件
    packages/node/src/cli.ts:20
    const peerServer = keyPath && certPath ? createPeerServer({ store, tls: { key: readFileSync(keyPath), cert: readFileSync(certPath) } }) : null;
  • 写入本地文件
    packages/node/src/ledger.ts:106
    await appendFile(path, `${JSON.stringify(valid)}\n`, { encoding: 'utf8' });
  • 读取本地文件
    packages/node/src/ledger.ts:113
    text = await readFile(path, 'utf8');
  • 读取本地文件
    packages/node/src/store.ts:130
    const mode = statSync(path).mode & 0o777;
  • 读取本地文件
    packages/node/src/store.ts:132
    parsed = JSON.parse(readFileSync(path, "utf8"));
  • 写入本地文件
    packages/node/src/store.ts:162
    if (this.dbPath !== ":memory:") mkdirSync(dirname(this.dbPath), { recursive: true });
  • 发起网络请求
    packages/web/src/api.ts:162
    response = await fetch(`${base}${path}`, { ...init, signal: AbortSignal.timeout(REQUEST_TIMEOUT_MS) });
  • 发起网络请求
    packages/web/src/app.ts:343
    function poll(): Promise<void> { return syncQueue.request(); }
扫描于 2026/11/3(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

开源、本地优先的信封消息,面向 DeepSeek Harness:TypeScript 节点、以人为先的收件箱、可解释的协作者发现,以及有界的局域网恢复。

README

由 DeepSeek 最新模型翻译生成
Linko Linko 是面向 DeepSeek Harness 的开源、本地优先信封消息项目。它帮助 Agent 找到合适的协作者,在明确的人类控制策略下交换有范围的上下文并继续任务。 Linko 已进入可运行的早期 MVP。本仓库仍采用规格驱动:运行时代码与产品边界、状态转移、投递恢复、隐私规则和架构决策并列维护。 为什么做 Linko 局域网消息和审批面板是有用的基础设施。Linko 增加的是随个人证据和上下文积累而变得更有用的协作层: - 每个人和 Agent 都可以维护主观的能力声明;后续版本可以附加签名,但不生成全局信誉分。 - 任务查询可以给出带证据与解释的本地推荐。 - 上下文按范围和用途共享,不把完整私人历史广播出去。 - 人可以直接回复、让自己的 Agent 起草回复,或委托有边界的响应策略。 - 每次投递都是小型信封,包含人类可读封面、机器可读语义,以及可选的本地正文或安全界面。 - 第一版群配置档限制为 500 个成员主体;群投递与消息层 E2EE 分成不同里程碑。 项目状态 MVP 现在包含 SQLite 节点和以人为先的信封收件箱,并支持明确配对的双节点 HTTPS 配置档:持久出站队列、证书指纹固定、Bearer 认证、可重试 command ID 和 REST 恢复都已接通。
展开完整文档(README 剩余 1 节)
Linko

Linko 是面向 DeepSeek Harness 的开源、本地优先信封消息项目。它帮助 Agent 找到合适的协作者,在明确的人类控制策略下交换有范围的上下文并继续任务。

Linko 已进入可运行的早期 MVP。本仓库仍采用规格驱动:运行时代码与产品边界、状态转移、投递恢复、隐私规则和架构决策并列维护。

为什么做 Linko

局域网消息和审批面板是有用的基础设施。Linko 增加的是随个人证据和上下文积累而变得更有用的协作层:

- 每个人和 Agent 都可以维护主观的能力声明;后续版本可以附加签名,但不生成全局信誉分。
- 任务查询可以给出带证据与解释的本地推荐。
- 上下文按范围和用途共享,不把完整私人历史广播出去。
- 人可以直接回复、让自己的 Agent 起草回复,或委托有边界的响应策略。
- 每次投递都是小型信封,包含人类可读封面、机器可读语义,以及可选的本地正文或安全界面。
- 第一版群配置档限制为 500 个成员主体;群投递与消息层 E2EE 分成不同里程碑。

项目状态

MVP 现在包含 SQLite 节点和以人为先的信封收件箱,并支持明确配对的双节点 HTTPS 配置档:持久出站队列、证书指纹固定、Bearer 认证、可重试 command ID 和 REST 恢复都已接通。可替换的 TypeScript DSH companion bridge 已通过本地 API 提供 ask、inbox、inspect、draft、approve 和 reply 适配器。WebSocket 提示、消息签名和 E2EE 仍是后续里程碑;这不代表已经支持 2 万节点容量。

- 产品范围:English · 中文
- 架构:English · 中文
- 数据与状态:English · 中文
- 复盘记录:English · 中文
- Roadmap:English · 中文
- 决策记录:English ·
- 本地节点 MVP:English ·
- DSH companion bridge:English ·
- 信封收件箱 UI:English · 中文

设计方向

第一版物理存储是一个 TypeScript 节点后的一个 SQLite 数据库。不可变事件内容是持久事实;投递尝试、已读、审批和通知是本地运行状态。REST 游标拉取用于恢复,WebSocket 只是可选唤醒提示。未来可以把声明物化为图视图,但第一版不需要图数据库。

网络从普通 IP、TCP 上的 HTTPS 和可选 WebSocket 开始,使用显式配对与可选 mDNS 提示。不要求任何路由器或交换机特性。DHT、Merkle 同步、全连接 socket、区块链共识和 Rust/WASM 都是停车场实验,必须先有测量理由和回退测试。

DeepSeek Harness 适配

Linko 计划作为 DeepSeek Harness 生态的社区插件和伴随协议。它吸收 Harness 的可组合插件理念,同时保持协议可以被其他 Agent 和客户端独立使用。

贡献

请阅读 CONTRIBUTING.md 和仓库规则 AGENTS.md。当前最有价值的贡献是设计审查、威胁建模、互操作实验和小型协议 fixture。

Topics

仓库主题包括 dsh、dsh-plugin、deepseek-harness、agent-collaboration、local-first、lan-messaging、envelope-messaging、human-in-the-loop、sqlite、typescript 和 pnpm。

许可证

MIT
预览分享卡片长什么样 ↓GuoMonth/dsh-linko
分享 · DeepSeek Harness Hub
GuoMonth/dsh-linko

帮 Agent 找到合适协作者并安全交换上下文

这是你的仓库?认领条目

回到顶部