安装
在 DeepSeek Harness 里通过 dsh-market 安装
dsh plugin --profile web add dshmarket
或使用命令行
dsh plugin --profile web add freecodego
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络。请先审阅源码,并尽量锁定 commit(github:owner/repo#sha)。
截图
README
description: "面向 DeepSeek Harness 的可安装单包 FreeCodeGo 组合:安装渠道、发布打标,以及随包交付的 Agent Teams 组合。" kind: "package-bundle"
FreeCodeGo Harness Bundle
English | 中文
概述
面向 DeepSeek Harness freecodego@0.2.0-rc.2.1 的可安装单包 FreeCodeGo 组合,目标 Harness 基线为 0.2.0-rc.2。npm 产物包含编译后的 Host 插件、浏览器端 client、会话事件前置包、原生 worker 入口,以及随包交付的 Harness Agent Teams 组合。发布产物使用 npm 的 next dist-tag,且其插件版本刻意与所面向的 Harness 版本完全一致;需要可复现安装时请指定版本(freecodego@0.2.0-rc.2.1),而不是渠道名。官方 Codex 与 Claude 运行时二进制仍按平台可选下载——本包不内嵌每个平台的原生二进制。
目录
安装
安装你实际运行的那条 Harness 基线对应的 release;每个 release 只带一个 tarball,名字即它所挂载的基线:
dsh plugin --profile web add --save-exact \
https://github.com/XiangSu-ce/dsh-plugin-freecodego/releases/download/freecodego-v0.2.0-rc.2.1/freecodego-0.2.0-rc.2.tgz
freecodego-0.2.0-rc.2.tgz 就是面向 Harness 0.2.0-rc.2 的 bundle:请替换为你实际运行的版本,设置页会把它显示在已装插件版本旁边。资产名即 packages/freecodego/AGENTS.md 里的命名约定。
dsh 命令由 Harness CLI 提供,不来自本 bundle。普通终端里请先用 npm install --global @deepseek-ai/dsh 安装它(并确保 pnpm 可用)。桌面端通过自己的私有 shim 运行同一条命令并传入当前 DSH_HOME,因此 Web 与桌面端选择同一个 Harness home 时共用同一份 Profile 数据目录。
维护者从 tag 发布。pnpm run release:freecodego <version> 会提升 bundle 版本并创建 freecodego-v<version> tag,然后从该 tag 触发工作流:
pnpm run release:freecodego <version>
gh workflow run release-freecodego.yml --ref freecodego-v<version>
工作流先校验家族、构建、打包,再为这个 tag 创建 GitHub release。若打包出来的文件没有带着更新检查所寻找的资产名,它会拒绝发布;发布之后还会按插件读取 release 的方式复验一遍,才会让本次运行通过。该家族只允许从 freecodego-v* tag 发布,且 tag 必须命名工作区实际携带的版本,所以从分支触发的运行会在构建之前失败,而不是之后。
免费模型
下面每一行都来自各提供商自己的目录,在你打开选择器时读取;也就是说,这是那些目录在 2026-10-01 返回的结果(按名称排序,选择器里保持目录顺序),而选择器里的数量才是你查看时真正成立的数量。
| 提供商 | 免费模型 | 目录 |
|---|---|---|
| 私钥网关 | 选择器里实时读到的免费路由 | 无需注册,也无需 API Key |
| OpenCode | big-pickle、deepseek-v4-flash-free、jev-1.13-free、ling-3.0-flash-fin-free、longcat-2.5-preview-free、mimo-v2.5-free、mimo-v2.6-flash-free、muse-spark-1.2、muse-spark-1.2-contributor-free、muse-spark-1.3、muse-spark-1.3-contributor-free、nemotron-3-ultra-free、nemotron-3.5-lightning-free、space-bunny-free |
84 行中的 14 行;公开,无需登录 |
| Kilo | cohere/north-mini-code:free、dots-studio/dots-3-note-preview:free、inclusionai/ling-3.0-flash-sante:free、kilo-auto/free、liquid/lfm-2.5-2.6b:free、nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free、nvidia/nemotron-3-super-120b-a12b:free、nvidia/nemotron-3-ultra-550b-a55b:free、nvidia/nemotron-3.5-content-safety:free、nvidia/nemotron-3.5-lightning:free、openrouter/free、poolside/laguna-s-2.1:free、poolside/laguna-xs-2.1:free、qwen/qwen3.8-27b:free、stealth/space-bunny-alpha、stepfun/step-3.7-flash:free、thinkingmachines/inkling-small:free |
397 行中的 17 行;公开,每个出口 IP 每小时 200 次 |
| Logfare | 对话 deepseek-v4.1-flash、gemma-4-26b、ling-3.0-flash-vl、logfare/auto、qwen-3.8-27b、space-bunny-alpha;图片 flux-1-schnell、flux-2-dev、flux-2-klein-4b、flux-2-klein-9b、flux-2-pro、gpt-image-2、sdxl-lightning;音频 whisper-large-v3-turbo;其他路由 aura-2-en、lucid-origin、nano-banana-2、nova-3、phoenix-1.0 |
19 行;11 行需要训练数据授权,其余 8 行不需要 |
| Qoder | Qwen 3.8 Flash(路由 qmodel_38flash) |
免费 flash 路由,另有每日签到活动 |
| NVIDIA | google/gemma-4-31b-it、moonshotai/kimi-k3、z-ai/glm-5.3、z-ai/glm-5.3-flash —— 名单里另有 deepseek-ai/deepseek-v4-flash-0731 与 deepseek-ai/deepseek-v4-pro-0813,这两个名字已不在 NVIDIA 实时目录(81 行)中 |
调用需要 API key;核对于 2026-10-01 |
| SenseNova | deepseek-v4-flash、deepseek-v4-pro、glm-5.2、kimi-k3、sensenova-6.8-flash-lite |
名单随 bundle 内置;需要 API key |
| TRAE | 其目录列出的那些行 | 免费额度每日重置,按账号 |
| Cline | 目录标记 ×0 · 官方免费模型 的那些行 —— 其中包含 deepseek-v4.1-flash |
账号池 |
| WorkBuddy 国际版 | 积分包标记 x0 的那些行 —— deepseek-v4.1-flash 在其推广窗口内也算一个 |
设备登录,可放多个账号 |
| Agnes | 对话与图片/视频行 | 控制面账号 |
| VyceAI | 没有免费名单 | 每日签到额度支付其计量行 |
| Groq | whisper-large-v3-turbo |
仅转写,不是对话路由 |
这些清单跟随各自的目录:上游下架的路由会在下次读取时从表中消失 —— 这正是本表由 scripts/generate-free-model-tables.ts 生成、而不是凭记忆维护的原因。
TRAE、Cline、WorkBuddy 国际版、Agnes 不公布固定名单,因此它们的行在到达时计数,而不在此列名。
Logfare 有 11 行位于训练数据授权之后,选择器会标注而不是隐藏它们。
deepseek-v4.1-flash 在这里还通过上面两个账号池免费提供:Cline 把它留在免费那一半,WorkBuddy 国际版则在推广期内覆盖它。
私钥网关免费模型
私钥网关让用户无需注册、也无需申请 API Key 就能直接用上免费模型:它的身份本身就是一把 secp256k1 私钥,其 EVM 地址同时充当 peerId 和钱包地址。「账号与提供商」页面为它准备了一张卡片:点击下载会把钉死版本的运行时取进 Harness home,随后 Host 生成一个身份存进凭证库——不写 ~/.antseed,私钥只生成一次、永不轮换,且只在用户明确点「导出私钥」时才回到浏览器。会话级网关开关会拉起运行时,并把它的目录发布在 http://127.0.0.1:8390/v1,所以只有在开关打开时,免费文本模型才会以 antseed 出现在选择器里,免费生图模型也只在这时才能在「概览」里选为默认生图模型,经由同一个端点上的 /v1/images/generations 生成。这个开关刻意不做持久化——重启后会再问一次——而且只接免费路由:运行时启动时带着一个零价格上限,由它自己的路由器强制执行,把任何高于该上限的报价直接丢掉,所以集成里没有充值、没有支付通道,即使之后钱包里有了余额也不可能通过它被扣款。因为上游默认的信誉门槛在路由上是硬门槛、而它的模型目录又完全不看这个门槛,运行时还会在自身根目录下的配置文件里钉死自己的路由偏好(信誉门槛为 0、优先免费报价),所以卡片列出的模型不会在请求时被拒;而端口已被其他进程占用时它会直接拒绝启动而不是复用,因为不是本插件启动的 buyer,就不是它能交出身份的那个 buyer。这里的「免费」指这个模型当下正被免费提供,所以目录只是一份快照,不是平台赠送的额度;卡片上的刷新会在不移动开关的前提下重新读取它。
代码审查
这个包挂载一个四工具的改动审查器。engineering_code_review 会审查工作区(已暂存、未暂存以及未跟踪的改动)、从 merge base 起算的一段引用范围、或某个提交对其第一父提交的差异,并按 text、json 或 sarif 渲染报告;engineering_review_rules 完全不花模型调用,直接返回会审查什么、按哪条规则;engineering_review_status 与 engineering_review_report 分别显示正在跑什么、以及把上一次结果按另一位读者重新渲染。规则分四层解析 —— 本次运行传入的规则文件、项目自己的(.opencodereview/rule.json、.dsh/review.json 或 .freecodego/review.json)、用户级 ~/.opencodereview/rule.json、以及随插件发布的基线 —— 命中的第一层胜出,所以项目覆盖是替换而不是并入。覆盖面按文件核算:只要还有改动过的文件没被审到,这次运行就不能结束,而每次跳过都会记录原因。
审查要花模型调用,所以是可选的。reviewMode 取 off、record(结论成为持久会话事件,所以事后不必重跑就能回答"那次审查说了什么")或 gate(达到 reviewThreshold 的结论会在 reviewCooldownTurns 过去后注入回这一回合,Agent 必须回应它才能结束)。reviewDeep 为每个改动文件各开一个只读子 Agent,reviewEscalation 会用独立裁定者复核高危结论,并要求它去反驳。审查跑在本插件的第二模型路由(advisorProvider / advisorModel)上,所以全新安装无需额外配置即可使用;设置页的第二模型路由面板就是改这条路由的地方,凡共用它的功能 —— 这里的审查器、记忆召回选择器、记忆整合规划与待执行操作复核 —— 都会跟着改。
项目记忆
这个包同时带上按项目持久化的记忆:召回只针对已审核记录,注入有围栏与预算,而凭据筛查会在写入路径上拒绝带标签的凭据、或就地脱敏仅形状匹配的内容。整合是分阶段放量而不是开关 —— memoryRollout 取 off、record_only、shadow(完整跑完包括模型调用的整合但什么都不提交,所以操作者能先读到模型本来会写什么)、或 active —— 并且一次整合会取一把带租约的锁加一份冻结快照,因此崩掉的整合可恢复,而运行中的整合会被如实报告而不是被重试。MEMORY.md 是一份有界的绝对路径索引,而遗忘需要调用方把打算删除的字节连同哈希一起交出来,因为"忘掉你知道的关于 X 的一切"绝不能变成一次会以没有撤销的方式删掉记录的相关性判断。
Agent Teams
bundle 以同引擎子会话启用 Harness Agent Teams。DeepSeek 父会话创建 DeepSeek 队友,Codex 父会话创建 Codex 队友,Claude 父会话创建 Claude 队友;子会话路由继承自父会话,而不是从进程默认值中选取。团队名册、邮箱、任务看板与队友 Session 记录仍由 Harness 持有。Web Chat 在父对话内渲染实时的委派 Agent 进度树,包括每个任务标签、当前工具、状态与工具使用次数。
生图与视频生成
bundle 为 DeepSeek、Codex 与 Claude 注册生图与生视频工具,执行时读取这一类目配置的模型,而不是钉死某个模型。mediaGenerationEnabled(默认开启)就是那个开关:关掉后 freecodego_generate_image、freecodego_generate_video 与旧名字 agnes_generate_image / agnes_generate_video 会被注销——它们从模型的工具表里整体离开,而不是等到调用时才报错——而 freecodego_generate_audio 与 freecodego_transcribe_audio 保留,因为一个往活动工作区写文件、一个从活动工作区读文件。
路线由 provider 决定,绝不由模型 id 里的关键词决定。生图讲 OpenAI Images 契约(/images/generations,带源图时走 /images/edits)、Seedream 的 image: [...] 融合体、Gemini 的 :generateContent、Imagen 的 :predict,以及 DashScope 的 multimodal-generation。生视频讲九条:Kling 的 text2video / image2video / multi-image2video、Ark 的 /contents/generations/tasks、DashScope 的异步 video-synthesis、MiniMax Hailuo 的 /v2/video_generation、Vidu 的四条 ent/v2 路由、Gemini 的 Veo :predictLongRunning、xAI 的 /videos/generations(给源视频时含编辑与续写)、OpenAI 的 /videos,以及网关对一切未识别 provider 的通用形状。
模型名单是活的,不是钉死的:候选每次请求实时从 Harness 模型目录、托管目录、Logfare 与 Agnes 汇总,路线分类按 id 推断,也可在设置页的模型分类里手动覆盖。每次调用都带逐路线熔断,只有路线自己的问题才会落到下一条——密钥错或 prompt 被拒直接失败,而不是再付一次尝试的钱。完整表格(包括哪些 provider 接受尾帧、每条路线能渲染多长)见 harness-plugin 的包内 README。
Model Experience
间接地,经由 bundle 挂载的各个包;每个被插入的行由它自己的包决定模型可见行为。
KV Cache 影响
bundle 自身不改动请求文本,已缓存的 prefix 完全由被组合的行产生。
已知限制与延期工作
- 产物是组装出来的,不是手写的 ——
prepack会重建 Host 插件、浏览器客户端、原生 worker 入口与 Agent Teams 组合;tarball 里没有任何内容是手工编辑的。 - 版本与 Harness 基线完全一致 —— hotfix 让 tag 保持精确,而发布资产在名字里保留基线。
- 官方运行时二进制仍是可选的平台下载 —— 本包不内嵌每个平台的原生二进制。
- 安装按版本钉住 —— 可复现的安装点名基线,而不是通道。
开发备注
不发布运行时不变式伴生入口,因为 bundle 是静态组合元数据,本身没有运行时注册关系。
插件版本与 Harness 版本完全一致是刻意的:针对某个基线组装的 bundle 组合的是该基线的行,因此独立版本号只会诱导用户安装一对从未被任何构建测试过的组合。
运行时不变式: bundle 以数据形式声明其组合(dsh.bundle.patch);它不持有运行时状态。
评论
评论存放在 GitHub Discussions。用 GitHub 账号登录后可发表评论或点表情。