LinuxDo 新帖推送
185 subscribers
253K photos
315K links
Download Telegram
标题: cpa求助 codex
作者: #嬴柱
板块: #搞七捻三
编号: 1928179
帖子: https://linux.do/t/topic/1928179
时间: 2026-04-09 10:31:39
摘要:
这是用ccswitch测试报错
标题: 好像快二级了,分享下进站两周来的情况
作者: #三石
板块: #搞七捻三
编号: 1928188
帖子: https://linux.do/t/topic/1928188
时间: 2026-04-09 10:32:32
摘要:
一开始发现L站是在部署openclaw处理问题google发现的,然后就申请注册,在我真诚而平凡的理由下一次性通过,一次性通过,真幸运。
进站后发现佬们0级、1级公益站哐哐开蹬,天才程序员诞生,也不再担心我的龙虾养不起了。
蹬了几天后觉得龙虾和codex切换api和key麻烦,然后有了自建站的想法,开始在站里查找相关帖子学习了解,本来想的注册和服务分开部署,有个阿里云1c1g的小服一直没用,然后在部署中成功将垃圾服务器内存干爆,计划暂缓。
然后这周又有了自建想法,开始决定在我龙虾服8c16g上部署,还能让龙虾访问更快,正在折腾中…目前临时邮箱各CPA已部署,希望能一路顺利,尽早部署出来。
最后,佬们,求求赞,助我飞升2级。
标题: 【模块 2a】QueryEngine 查询引擎 — 架构设计分析
作者: #维寒
板块: #开发调优
编号: 1928191
帖子: https://linux.do/t/topic/1928191
时间: 2026-04-09 10:32:48
摘要:
【模块 2a】QueryEngine 查询引擎 — 架构设计分析
核心架构:LLM 查询生命周期
前置概念:理解 QueryEngine 的职责
是什么:

Claude Code 的LLM 调用核心引擎
管理完整的"用户输入 → LLM 响应 → 工具执行 → 结果返回"循环
支持流式响应、多轮工具调用、Token 预算控制

类比:

就像一个"交响乐指挥",协调 LLM API、工具执行、状态管理、流式渲染等多个"乐手"


QueryEngine 核心循环
%%{init: {'theme': 'neutral'}}%%
flowchart TB
subgraph S1[1. 初始化]
A1[系统提示构建]
A2[上下文收集]
A3[工具/命令注册]
end

subgraph S2[2. 处理用户输入]
B1[processUserInput 解析 slash 命令]
B2[消息持久化 transcript]
end

subgraph S3[3. 进入查询循环]
C1[调用 LLM API 流式]
C2[检测工具调用]
C3[执行工具 返回结果 继续循环]
end

subgraph S4[4. 终止条件检查]
D1[达到最大轮数?]
D2[超出预算?]
D3[结构化输出重试超限?]
end

subgraph S5[5. 返回结果]
E1[成功: 返回文本结果]
E2[失败: 返回错误诊断]
end

S1 --> S2 --> S3 --> S4 --> S5

工具调用循环流程图
%%{init: {'theme': 'neutral'}}%%
flowchart TB
A[用户输入] --> B[processUserInput<br/>解析 slash 命令]
B --> C{shouldQuery?}

C -->|false 本地命令| D[直接返回结果]
C -->|true LLM 查询| E[query 循环]

E --> F[调用 LLM API<br/>流式响应]
F --> G{检测工具调用?}

G -->|无| H[返回结果]
G -->|有| I[权限检查]

I --> J[执行工具]
J --> K[tool_result]
K --> L{继续下一轮循环?}

L -->|是| E
L -->|否| H

终止条件决策树
%%{init: {'theme': 'neutral'}}%%
flowchart TB
A[每轮循环检查] --> B{达到 maxTurns?}
A --> C{超出 maxBudget?}
A --> D{结构化输出重试超限?}

B -->|是| E[返回错误 max_turns]
B -->|否| F[继续检查]

C -->|是| G[返回错误 max_budget]
C -->|否| F

D -->|是| H[返回错误 max_retry]
D -->|否| F

F --> I{检查 stop_reason}

I -->|end_turn| J[成功]
I -->|其他| K[失败]


1. QueryEngine.ts:查询引擎主类
文件结构




组件
规模
职责




QueryEngine 类
~1.2K 行
查询生命周期管理


submitMessage()
主方法
处理单个用户消息的完整流程


ask() 函数
辅助函数
一次性查询的便捷包装器




核心设计
QueryEngine 类结构
export class QueryEngine {
// 配置
private config: QueryEngineConfig

// 状态
private mutableMessages: Message[] // 可变消息历史
private abortController: AbortController // 中断控制
private permissionDenials: SDKPermissionDenial[] // 权限拒绝记录
private totalUsage: NonNullableUsage // 累计 Token 使用
private discoveredSkillNames: Set<string> // 技能发现追踪

// 生命周期方法
constructor(config: QueryEngineConfig)
async *submitMessage(prompt, options): AsyncGenerator<SDKMessage>
interrupt(): void
getMessages(): readonly Message[]
}


核心算法
前置概念:什么是"生成器函数"?
通俗理解:

生成器 = 可以"暂停"和"恢复"的函数
使用 function* 和 yield 语法
每次 yield 返回一个值,暂停执行
下次调用 next() 时从暂停处继续

为什么用生成器:

流式响应:LLM 一个字一个字吐出来,生成器可以逐个 yield
内存效率:不需要等全部完成再返回,边生成边返回
控制灵活:可以随时中断(用户点击 Stop)

例子:
async *submitMessage(prompt) {
yield systemMessage // 先返回系统消息
yield assistantMessage1 // LLM 响应第一部分内容
yield toolExecution // 执行工具
yield assistantMessage2 // LLM 基于工具结果继续响应
yield result // 最终结果
}


算法 1:submitMessage 主流程
要解决的问题:

如何管理从用户输入到最终结果的完整查询流程?

通俗解释:
1. 初始化配置(模型、预算、工具列表)
2. 构建系统提示(含记忆机制、工具描述)
3. 处理用户输入(解析 slash 命令)
4. 持久化用户消息(transcript)
5. 进入查询循环(query.ts)
- 调用 LLM API
- 检查工具调用
- 执行工具
- 继续下一轮
6. 检查终止条件(轮数/预算/重试)
7. 返回最终结果

代码结构:
async *submitMessage(prompt, options) {
// 1. 初始化
const { cwd, tools, commands, mcpClients } = this.config
const startTime = Date.now()

// 2. 构建系统提示
const { systemPrompt, userContext } = await fetchSystemPromptParts(...)

// 3. 处理用户输入
const { messages, shouldQuery } = await processUserInput({ input: prompt })

// 4. 持久化消息
if (persistSession) {
await recordTranscript(messages)
}

// 5. 进入查询循环
for await (const message of query({ messages, systemPrompt, ... })) {
// 处理流式消息
switch (message.type) {
case 'assistant': yield* normalizeMessage(message); break
case 'tool_use_summary': yield summary; break
case 'system': handleCompactBoundary(message); break
}

// 6. 检查终止条件
if (getTotalCost() >= maxBudgetUsd) {
yield error_max_budget
return
}
}

// 7. 返回结果
yi
标题: 有个大大的疑问,比如:dmit万一被墙了,就算能换IP,对于claude来说岂不是[你IP变了]了吗?
作者: #ac2049
板块: #搞七捻三
编号: 1928194
帖子: https://linux.do/t/topic/1928194
时间: 2026-04-09 10:33:16
摘要:
那不就可能标记为‘可疑用户’'隐藏信誉度下降’之类的了吗?
难道换的IP只要是 clude注册时的IP的国家就没事吗?
换句话说,我整个dmit或者家庭IP什么的,运气不好3~10天不能用了什么的,我再整个IP也不敢登录claude啊
佬们是怎么用的?
标题: “过于先进不便展示”甚至智能马桶,可能都要疯狂打补丁修漏洞了
作者: #IshareI
板块: #前沿快讯
编号: 1928198
帖子: https://linux.do/t/topic/1928198
时间: 2026-04-09 10:33:27
摘要:
Anthropic 发布了自家有史以来最强的模型Claude Mythos Preview。
这个创新版本的新模型,能自己找到 0-day 漏洞(也就是开发者压根不知道、零时间防备的致命漏洞),还能顺手给你整花活写一套完整的攻击代码。

这能力实在太刑了,以至于Anthropic 自己都哆嗦了,遂以“过于先进不便展示”的理由给锁起来了,只提供给亚马逊、苹果、微软、谷歌等 12 家正派大厂用。
之前也也有风声(难道不是炒作么),Anthropic 家后院起火,泄露了 3000 多份机密文档。在原本的超大杯 Opus 之上,居然还藏着一个代号“卡皮巴拉”。

可能只是可能吧,觉得这名字太萌了,所以正式发布时直接改名叫 Mythos(神话,金色传说的感觉)。
虽然 咱们吃瓜群众暂时摸不到这玩意,但是 谁不想做黑客爽一把,等待Claude Mythos Preview开源
毕竟前两天一众佬们也说了




人类最后防线失守,Claude 4小时血洗全球最安全系统!


前沿快讯



我感觉炒作的意味更大,除非把完整的实现路径开源出来,要不然我默认当成炒作





白芸汐cloudwide指导顾问
2 天
我感觉炒作的意味更大,除非把完整的实现路径开源出来,要不然我默认当成炒作

方生无归Ziphyrien骐骥驰骋
2 天
感觉更像是新模型发布之前故意为之的炒作罢了
A÷天天这么宣传看腻了都

dogkingtwodog一元复始
2 天
感觉是炒作,AI最多说把攻击能力下放了,能被攻破说明本身还是有漏洞

等等还有好多就不一一列举
标题: TRAE 邀请码,可以去官方抽奖试试
作者: #gege le
板块: #福利羊毛
编号: 1928200
帖子: https://linux.do/t/topic/1928200
时间: 2026-04-09 10:33:49
摘要:
全新 SOLO:More Than Coding!桌面端、网页端同步上线,抢先体验全新交互 + 双模式智能体,点击链接领取限量邀请码:TRAE SOLO: More Than Coding
官方的抽奖链接(我抽到了。。)
https://www.trae.cn/solo-code-activity?from=solo_code_modal
标题: 讯飞coding-入门版,取消了deepseek3.2
作者: #皮蛋王
板块: #搞七捻三
编号: 1928201
帖子: https://linux.do/t/topic/1928201
时间: 2026-04-09 10:33:50
摘要:
原来有deepseek3.2,而且没有外审,天塌了,换了堆垃圾进来
标题: replit+CPA+CC调用出现问题
作者: #葫芦
板块: #搞七捻三
编号: 1928204
帖子: https://linux.do/t/topic/1928204
时间: 2026-04-09 10:34:01
摘要:
目前提示词用的是这里的(最新版):https://linux.do/t/topic/1899899
然后使用CPA来进行管理,管理方式是在“AI提供商”中增加“Claude API 配置”
目前发现几个问题:

好像没有thinking?
count token好像也存在问题?我看CPA中的输入和输出token,好多请求输入token只有1,此外详细日志中也有这样的记录:ERROR gin_logger.go:89 POST “/v1/messages/count_tokens?beta=true”
运行一段时间后CC中就提示:API Error: 503 {“error”:{“message”:“auth_unavailable: no auth available
(providers=claude, model=claude-opus-4-6); check Claude auth/key session
and cooldown state via /v0/management/auth-files”,“type”:“server_error”
,“code”:“internal_server_error”}} 这个问题好像和CPA的cooling策略有关?


想请教下佬们该怎么解决
标题: 【模块 2b】上下文与成本 — 架构设计分析
作者: #维寒
板块: #开发调优
编号: 1928207
帖子: https://linux.do/t/topic/1928207
时间: 2026-04-09 10:34:06
摘要:
【模块 2b】上下文与成本 — 架构设计分析
核心架构:上下文与成本管理
前置概念:理解上下文的职责
是什么:

上下文 = 发送给 LLM 的"背景信息"
包括:系统提示、用户上下文、系统上下文
目的:让 LLM 了解当前环境、项目状态、用户偏好

为什么需要缓存:

上下文构建涉及磁盘 I/O(读取文件、git 状态)
每次查询都重新构建 → 浪费资源
缓存 → 会话期间复用,提升性能


上下文三层架构
%%{init: {'theme': 'neutral'}}%%
flowchart TB
subgraph L1[1. 系统提示 System Prompt]
A1[工具描述]
A2[权限规则]
A3[工作目录]
A4[MCP 服务器信息]
end

subgraph L2[2. 用户上下文 User Context]
B1[.claudemd 文件内容]
B2[当前日期]
B3[额外工作目录]
end

subgraph L3[3. 系统上下文 System Context]
C1[Git 状态 分支 提交 变更]
C2[缓存破坏标记 内部调试]
end

L1 -->|缓存: 会话级| L2
L2 -->|缓存: 会话级 memoize| L3





层级
缓存策略




系统提示
会话级缓存


用户上下文
会话级缓存 (memoize)


系统上下文
会话级缓存 (memoize)




1. context.ts:上下文管理
文件结构




函数
规模
职责




getGitStatus()
~100 行
并行获取 Git 状态


getSystemContext()
~30 行
系统上下文(缓存)


getUserContext()
~40 行
用户上下文(缓存)


fetchSystemPromptParts()
~50 行
统一获取三部分上下文




核心设计
前置概念:什么是"Memoize"?
通俗理解:

Memoize = 记忆化、缓存函数结果
第一次调用 → 执行并缓存结果
后续调用 → 直接返回缓存结果
前提:参数不变

为什么用 memoize:

上下文构建是异步 I/O 操作(读文件、git 命令)
会话期间上下文不变 → 只需计算一次
后续查询直接使用缓存 → 节省时间

例子:
export const getUserContext = memoize(async (): Promise<{[k: string]: string}> => {
// 第一次调用:执行 I/O,缓存结果
const claudeMd = await getMemoryFiles()
return { claudeMd, currentDate: getLocalISODate() }
})

// 第二次调用:直接返回缓存,不执行 I/O
const ctx = await getUserContext() // 瞬间返回


核心算法
算法 1:Git 状态并行获取
要解决的问题:

如何快速获取 Git 状态,避免串行执行导致的延迟?

通俗解释:
1. 检查是否是 Git 仓库(快速)
2. 如果是 → 并行执行 5 个 Git 命令:
- getBranch() → 当前分支
- getDefaultBranch() → 主分支
- git status --short → 变更文件
- git log --oneline -5 → 最近提交
- git config user.name → 用户名
3. 合并结果,格式化输出
4. 截断超长状态(上限 2K 字符)

代码实现:
export const getGitStatus = memoize(async (): Promise<string | null> => {
const isGit = await getIsGit()
if (!isGit) return null

// 并行执行 5 个 Git 命令
const [branch, mainBranch, status, log, userName] = await Promise.all([
getBranch(),
getDefaultBranch(),
execFileNoThrow(gitExe(), ['status', '--short']).then(r => r.stdout.trim()),
execFileNoThrow(gitExe(), ['log', '--oneline', '-5']).then(r => r.stdout.trim()),
execFileNoThrow(gitExe(), ['config', 'user.name']).then(r => r.stdout.trim()),
])

// 截断超长状态
const truncatedStatus = status.length > MAX_STATUS_CHARS
? status.substring(0, MAX_STATUS_CHARS) + '\n... (truncated)'
: status

return [
`This is the git status at the start of the conversation.`,
`Current branch: ${branch}`,
`Main branch: ${mainBranch}`,
...(userName ? [`Git user: ${userName}`] : []),
`Status:\n${truncatedStatus || '(clean)'}`,
`Recent commits:\n${log}`,
].join('\n\n')
})

性能优化:

并行执行:5 个命令并发,总时间 ≈ 最慢的一个
结果缓存:memoize 保证会话期间只执行一次
截断保护:防止超长状态占用过多 Token

耗时:~50-150ms(取决于仓库大小)

前置概念:什么是"ClaudeMD"?
通俗理解:

ClaudeMD = .claudemd 文件
类似 .gitignore,但是给 Claude 看的
内容:项目说明、编码规范、偏好设置
位置:工作区根目录或子目录

例子:
# .claudemd

## 项目说明
这是一个 TypeScript 博客项目,使用 Next.js + Tailwind CSS。

## 编码规范
- 使用 TypeScript strict 模式
- 优先使用函数组件
- 避免使用 `any` 类型

## 偏好设置
- 测试框架:Vitest
- 包管理器:pnpm


算法 2:用户上下文构建
要解决的问题:

如何收集用户项目信息,同时支持灵活配置?

通俗解释:
1. 检查是否禁用 ClaudeMD:
- CLAUDE_CODE_DISABLE_CLAUDE_MDS 环境变量
- --bare 模式(且无额外目录)
2. 如果未禁用 → 扫描工作区 .claudemd 文件
3. 收集记忆文件(memory/ 目录)
4. 返回用户上下文:
- claudeMd:合并的 ClaudeMD 内容
- currentDate:今天日期

代码实现:
export const getUserContext = memoize(async (): Promise<{[k: string]: string}> => {
// 检查禁用条件
const shouldDisableClaudeMd =
isEnvTruthy(process.env.CLAUDE_CODE_DISABLE_CLAUDE_MDS) ||
(isBareMode() && getAdditionalDirectoriesForClaudeMd().length === 0)

// 扫描 ClaudeMD 文件
const claudeMd = shouldDisableClaudeMd
? null
: getClaudeMds(filterInjectedMemoryFiles(await getMemoryFiles()))

// 缓存给 auto-mode classifier 使用
setCachedClaudeMdContent(claudeMd || null)

return {
...(claudeMd && { claudeMd }),
currentDate: `Today's date is ${getLocalISODate()}.
标题: 是啊,codex吃完资源了,鱼吃什么
作者: #🐟
板块: #搞七捻三
编号: 1928211
帖子: https://linux.do/t/topic/1928211
时间: 2026-04-09 10:34:19
摘要:
布兑,怎么说要关全部都关的节奏口牙
没办法关闭单个的神秘设计


处理器汗流浃背了
标题: 我也来-TRAE solo抢先版邀请码
作者: #yingpan ling
板块: #福利羊毛
编号: 1928212
帖子: https://linux.do/t/topic/1928212
时间: 2026-04-09 10:34:19
摘要:
全新 SOLO:More Than Coding!桌面端、网页端同步上线,抢先体验全新交互 + 双模式智能体,点击链接领取限量邀请码:https://solo.trae.cn/invitation/m1xtapfs
标题: Gemini Pro现在还有什么用啊?
作者: #藤藤菜
板块: #开发调优
编号: 1928213
帖子: https://linux.do/t/topic/1928213
时间: 2026-04-09 10:34:22
摘要:
自从导入cpa露头就秒之后,好像就没有Gemini什么事了,我知道可以flow2api用香蕉,那Gemini就没其它用处了吗?能不能废物利用一下,比如再导入某个API用下Gemini3.1啥的
标题: TRAE solo邀请码一枚
作者: #Daijiobu
板块: #福利羊毛
编号: 1928216
帖子: https://linux.do/t/topic/1928216
时间: 2026-04-09 10:34:31
摘要:
佬友分享的链接抽中,现在也分享给有需要的佬友
全新 SOLO:More Than Coding!点击链接领取限量邀请码
标题: sole 邀请码,速速来领
作者: #骐骥驰骋
板块: #开发调优
编号: 1928218
帖子: https://linux.do/t/topic/1928218
时间: 2026-04-09 10:34:35
摘要:
全新 SOLO:More Than Coding!桌面端、网页端同步上线,抢先体验全新交互 + 双模式智能体,点击链接领取限量邀请码:TRAE SOLO: More Than Coding
标题: Trea 邀请码 大家一起来试试
作者: #huangmo
板块: #福利羊毛
编号: 1928219
帖子: https://linux.do/t/topic/1928219
时间: 2026-04-09 10:34:42
摘要:
接力接力
全新 SOLO:More Than Coding!桌面端、网页端同步上线,抢先体验全新交互 + 双模式智能体,点击链接领取限量邀请码:TRAE SOLO: More Than Coding