智能助手网
标签聚合 了解

/tag/了解

linux.do · 2026-04-18 18:34:24+08:00 · tech

前情提要:小红书疑似刷到一位L站用户,对不了解AI的人出言不逊十分傲慢 Reference: 上一帖 , 小红书原文 这让我想到了很多年前自己的一个脑洞,如何才能构建一个高质量的理想社区。这个念头的起源来自于当初的知乎从邀请制社区变为开放注册,在短时间内从一个文章质量很高的社区快速跌落成段子手集群的代名词,知乎的股价也同样快速下降,从早期开放注册之后的快速上市,到24年的几乎要被强制退市。用户数量的增长不可避免地带来用户质量的下降乃至社区质量的下降,而用户数量的增长本身则某种意义上也是社区经营的目标之一 - 看起来一个理想社区已经被嵌套在了死循环里。 由于当年的想法现在只残余一些模糊的记忆,我很难成体系地去重构我当时的论点,但我想提出几个问题和我自己的潜在回答或想法来抛砖引玉 1. 谁来制定社区规则? 我最初的想法从“我心目中的理想社区是什么样的”开始。尽管这个想法的源头是厌恶知乎的风气与内容的恶化,但当时和现在的我都不认为“我心目中的理想社区具备一个面面俱到的构造”。假设我真的可以,我如何保证我在时间的推移下,作为管理者,眼界和想法不会发生劣化?如果完全通过社区共识来构建规则,我相信一切会变坏的终究会变坏,随着用户的增长,社区的共识必然会成为最初的共识的劣化。 这看起来像是另一个死循环,但也许它并不重要:一个真正意义上不会劣化的理想社区可能存在吗?谁又要来定义劣化?这种无限循环式的发问是没有止境的。最终我没有继续在这个问题上思考,我不确定这是否有意义。 2. 如何平衡用户数量和用户质量? 许多社区的雏形最初都是由某些同温层开始的,而当社区真正开始走出自己的圈子时,对于非同温层开始具备某些吸引力(如认同感、实用性、经济利益)时用户质量就会走向下滑。社区的共识逐渐从某个具体的主题被社区的工具性替代。这不可避免,如果一个社区能够突破圈层地被认同,相信它本身在各个圈层具备相同的魅力并不十分合理,而相信它的工具性则是合理的多 - 正如不是所有人都偏好某种具体收藏,但没有人会拒绝钱。 我认为邀请制是答案,但又不完全是答案。如果社区成员的身份具备实际价值,社区本身开始突破圈层,邀请制将失去筛选的功能,仅剩下“节流”的作用。邀请机制本身或许需要某种更复杂的构造来实现这一目的。 3. 纯粹的脑洞 - 去中心化社区 当我们讨论去中心化社区时,我们往往指代的是在“技术实现上去中心化”。而这里我指代的是,将用户视作节点去构建共识算法。许多社区对与这一点也许有不同的认识。Mastodon的实现是实例层面的共享黑名单,但这里的节点是每个社区实例而不是用户。同时,这也callback到第一个问题:谁来制定社区规则?当规则的执行者始终是人而不是算法时,我们有必要去质疑,人作为执行者,是否严格执行了规则。当然,博弈论也是构建共识算法的方式,同时也是可以技术上容易实现的 - 但它的工具性太强烈了,强烈到完全覆盖了社区的交流属性。如何用技术构建一个并不功利的共识算法,乍一听似乎在llm时代具备一定的可行性,但具体到细节,在今天我觉得仍然是难以实现的,说到底,只要LLM仍然可能存在幻觉或被提示词注入,我们并不能完全信任其成为验证节点。 我很想写点什么当作收尾但没什么想法……但我很担心意图被错误的解读。这些问题的提出或许可能会被视作对L站现状的不认可,但,没有。L站已经比其他社区更坚持规则,更接近理想社区,对此没有什么可以抱怨的。谨以此文当作一个头脑风暴乱想的引子orz 6 个帖子 - 4 位参与者 阅读完整话题

linux.do · 2026-04-18 12:03:11+08:00 · tech

昨天,在群里小伙伴的提醒下,我了解到通过反代 Codex 也可以进行图片的生成和编辑了。随即我进行了一番实验,使用 GPT-Image-1.5 成功生成了如下图片: 技术原理:工具调用(Tool Calling) 与 Gemini 使用专用图片模型(如 NanoBanana 系列)的逻辑不同,在 Codex 中,生图功能是通过 调用工具 实现的,并不依赖特定的模型名称。 基于这一特性,我们可以利用 CLIProxyAPI 的 模型别名 配合 Payload 重写 功能,自定义一套专属的“文生图模型”。下面我分享一下自己的配置思路和使用方法,希望能起到抛砖引玉的作用。 PS:下文前提是已经安装配置好 CLIProxyAPI 并添加了 Codex 的 OAuth 凭证。 1. 配置文件修改 在 CLIProxyAPI 的配置文件中添加以下内容。这里我们将 gpt-5.4-mini 映射为不同分辨率的生图模型,并通过 Payload 强制开启 image_generation 工具。 oauth-model-alias: codex: - name: gpt-5.4-mini alias: gpt-image-1024x1024 fork: true - name: gpt-5.4-mini alias: gpt-image-1024x1536 fork: true - name: gpt-5.4-mini alias: gpt-image-1536x1024 fork: true payload: override-raw: - models: - name: gpt-image-1024x1024 protocol: codex params: tools: '[{"type":"image_generation", "size": "1024x1024", "quality": "high", "background": "auto"}]' tool_choice: '{"type": "image_generation"}' - models: - name: gpt-image-1024x1536 protocol: codex params: tools: '[{"type":"image_generation", "size": "1024x1536", "quality": "high", "background": "auto"}]' tool_choice: '{"type": "image_generation"}' - models: - name: gpt-image-1536x1024 protocol: codex params: tools: '[{"type":"image_generation", "size": "1536x1024", "quality": "high", "background": "auto"}]' tool_choice: '{"type": "image_generation"}' 添加完成后,我们就可以直接调用 gpt-image-1024x1024 、 gpt-image-1024x1536 和 gpt-image-1536x1024 这三个自定义模型了。 2. 快速调用脚本 (PowerShell) 由于目前我还未找到好用的生图客户端,我编写了一个简单的 Windows PowerShell 脚本供大家参考。 使用方法: 修改脚本前四行的 apiUrl 、 apiKey 等参数。 将完整脚本粘贴至 PowerShell 窗口运行。 等待约数十秒,即可在当前运行路径下看到生成的图片。 $apiUrl = "https://你的CLIProxyAPI地址/v1/responses" $apiKey = "你的CLIProxyAPI的apikey" $model = "gpt-image-1536x1024" $text = "画一张赛博朋克的香港,要有汉字" $bodyObject = @{ model = $model instructions = "You are a helpful assistant." input = @( @{ type = "message" role = "user" content = @( @{ type = "input_text" text = $text } ) } ) parallel_tool_calls = $true reasoning = @{ effort = "high" summary = "auto" } stream = $true store = $false include = @( "reasoning.encrypted_content" ) } $body = $bodyObject | ConvertTo-Json -Depth 100 -Compress $outBase = "generated" $utf8NoBom = New-Object System.Text.UTF8Encoding($false) $tempBodyFile = Join-Path $env:TEMP ("response-body-" + [guid]::NewGuid().ToString("N") + ".json") [System.IO.File]::WriteAllText($tempBodyFile, $body, $utf8NoBom) try { curl.exe --silent --show-error --no-buffer ` -X POST $apiUrl ` -H "Content-Type: application/json" ` -H "Authorization: Bearer $apiKey" ` --data-binary ("@" + $tempBodyFile) | ForEach-Object -Begin { $eventType = $null $dataLines = [System.Collections.Generic.List[string]]::new() function Save-Bytes { param([string]$Path, [string]$Base64) [System.IO.File]::WriteAllBytes($Path, [Convert]::FromBase64String($Base64)) Write-Host "Saved $Path" } function Save-ImageGenerationCallResult { param([object]$ImageCall) if (-not $ImageCall) { return } if ($ImageCall.type -ne "image_generation_call") { return } if (-not $ImageCall.result) { return } $ext = if ($ImageCall.output_format) { [string]$ImageCall.output_format } else { "png" } $path = Join-Path (Get-Location) "$outBase.$ext" Save-Bytes -Path $path -Base64 ([string]$ImageCall.result) } function ConvertFrom-JsonCompat { param([string]$Json) if ($PSVersionTable.PSVersion.Major -ge 6) { return $Json | ConvertFrom-Json -Depth 100 } return $Json | ConvertFrom-Json } function Flush-SseEvent { param([string]$Type, [System.Collections.Generic.List[string]]$DataLines) if (-not $Type -or $DataLines.Count -eq 0) { return } $json = ($DataLines -join "`n").Trim() if (-not $json -or $json -eq "[DONE]") { return } try { $obj = ConvertFrom-JsonCompat -Json $json } catch { return } switch ($Type) { "response.output_item.done" { Save-ImageGenerationCallResult -ImageCall $obj.item } "response.completed" { $imageCall = @( $obj.response.output | Where-Object { $_.type -eq "image_generation_call" -and $_.result } ) | Select-Object -First 1 Save-ImageGenerationCallResult -ImageCall $imageCall } } } } -Process { $line = [string]$_ if ($line.StartsWith("event:")) { if ($eventType -or $dataLines.Count -gt 0) { Flush-SseEvent -Type $eventType -DataLines $dataLines $dataLines = [System.Collections.Generic.List[string]]::new() } $eventType = $line.Substring(6).Trim() return } if ($line.StartsWith("data:")) { $dataLines.Add($line.Substring(5).TrimStart()) return } if ([string]::IsNullOrWhiteSpace($line)) { Flush-SseEvent -Type $eventType -DataLines $dataLines $eventType = $null $dataLines = [System.Collections.Generic.List[string]]::new() } } -End { Flush-SseEvent -Type $eventType -DataLines $dataLines } } finally { if (Test-Path -LiteralPath $tempBodyFile) { Remove-Item -LiteralPath $tempBodyFile -Force } } 相关资源 如需了解更详细的参数调整可以参考 OpenAI 官方文档 5 个帖子 - 4 位参与者 阅读完整话题

linux.do · 2026-04-17 22:42:47+08:00 · tech

写了个benchmark想看看实际的速率区别。 测试-1 (点击了解更多详细信息) bench代码 (点击了解更多详细信息) config.json (点击了解更多详细信息) 2.7-highspeed在代码生成类别速度比文字快一点,而且如果涉及到中文tps就会变低。在设定maxtoken比较小的情况下速度也会打折扣。这个速度比率和价格感觉不如买非极速版了。这个约100TPS就很灵性,主打四舍五入。bench代码的计算不知道对不对,有懂得佬看看。 3 个帖子 - 2 位参与者 阅读完整话题

linux.do · 2026-04-17 21:44:45+08:00 · tech

前言 了解到这个是通过ACP协议来实现本地Claude Code与IDEA进行通信的,不知道和站内大佬开发的CC GUI 【开源自荐】IDEA版 Claude Code GUI 插件(v0.2) 有什么能力上的不同,个人感觉主要功能两者都有,而且大佬的CC GUI还能统计token消耗、一键commit。有对比过的佬友可以评论区留留言。 参考环境配置 Win11系统(Mac OS/Linux等系统也可); IDEA 2026.1(其他版本未知); 本地已安装Claude Code; 本地已安装CC Switch; 已有订阅的大模型api密钥; 安装步骤 运行 pnpm install -g @zed-industries/claude-code-acp ,如果没有先 npm install -g pnpm 再运行 pnpm setup。 重开一个终端运行 pnpm bin -g ,找到 claude-code-acp 的所在路径,一般在 C:\Users\你的用户名\AppData\Local\pnpm 文件夹下。 IDEA打开AI Assistant插件(无需激活只需安装),点击添加自定义智能体。 在 acp.json 中全选并复制粘贴。 { "default_mcp_settings": { "use_idea_mcp": true, "use_custom_mcp": true }, "agent_servers": { "Claude Code": { "command": "C://Users/你的用户名/AppData/Local/pnpm/claude-code-acp.cmd"/*, "env": { "CLAUDE_CODE_GIT_BASH_PATH": "D:\\Git\\bin\\bash.exe" }*/ //这一段是我的git的bash.exe的路径,我加了这段才能运行不报错,原因不详,佬友可参考 } } } CC Switch中配置好大模型api密钥,以GLM为例。 大功告成。 疑难参考 如果本地claude code跳登录,可以在 .claude.json 最外层大括号中添加 "hasCompletedOnboarding": true, ,这个文件一般位于 C:\Users\Administrator 下。 1 个帖子 - 1 位参与者 阅读完整话题

linux.do · 2026-04-17 20:35:43+08:00 · tech

开源推广声明 (点击了解更多详细信息) 最近开源供应链安全的话题聊得挺火的。 我自己每次 cargo install 一个陌生 crate 之前,总是会先去看看这个仓库靠不靠谱。于是干脆动手做了一个本地 CLI 工具 —— rgd(Repo Guardian) 。 用 Rust + clap + reqwest + tokio 写的,标准 CLI 那一套,上手非常直接。 核心功能是 给 GitHub 仓库做快速体检 :几秒钟就能跑出一个 0-100 的健康分,同时列出最值得优先修复的前 3 件事。如果缺少 SECURITY.md 或 CONTRIBUTING.md,还能直接用 --fix 在本地生成规范模板。 当然,OpenSSF Scorecard 更严谨、更全面,但它主要通过 Docker 或 GitHub Action 使用。我想要的是那种随手一敲就出结果的体验,就像 git status 一样。 目前 rgd 定位是轻量级本地扫描,所以检查项比 Scorecard 少一些,也没有 SARIF 等机器可读输出,接 CI 管线还不太顺畅,网络密集场景下也有继续优化的空间(GitHub API 并发这一版已经优化过了)。 以后也可以扩展到其他垂类场景,只需要调整评分权重、检查维度和 fix 模板就行。 对这方面感兴趣的佬友欢迎来看看~ GitHub: GitHub - teee32/repo-guardian: Tiny local-first CLI for GitHub repository health checks · GitHub 1 个帖子 - 1 位参与者 阅读完整话题

linux.do · 2026-04-16 23:14:27+08:00 · tech

双非院校 学校里搞了一个Vibecoding竞赛 今天晚上组织了面试 了解情况方便后续培训 前几位同学都是传统网页豆包 进阶的同学会用Trae 轮到主包 直接从Cursor到ClaudeCode Codex Antigravity再到Openclaw Hermess 从Vibecoding到Context engineering再到Harness engineering讲述了对AI发展的理解以及应用 后面主包又说了在L站学习的反代技术 CCG工作流 NEW API中转 讲述了怎么最低成本用Claudecode和Codex 最后给学校老师看了自己做的微信小程序和APP 五分钟的面试让我聊到了半小时 听完之后老师说 我们培训不了你,等着直接参赛吧 (含略微戏剧夸张成分~佬友们听个乐) 11 个帖子 - 11 位参与者 阅读完整话题