註冊並分享邀請連結,可獲得影片播放與邀請獎勵。

檢索結果 RUN_AWAY
RUN_AWAY 貼吧
一個關鍵字就是一個貼吧,路徑全站唯一。
建立貼吧
用戶
未找到
包含 RUN_AWAY 的搜尋結果
在线娱乐订阅(Netflix、Spotify、Disney+) 区域限制:国内卡付不了美区 共用账号?老被踢,不安全 代充月付?随时跑路 MiPay 怎么做: USDT 充值钱包 生成虚拟卡,设消费限额 绑定订阅服务,自动扣款 就这么简单。 Mipay下载链接: 官方中文客服群: Online entertainment subscriptions (Netflix, Spotify, Disney+) Regional restrictions: Domestic cards cannot be used to pay in the United States. Shared account? I get kicked all the time, it’s not safe Charge monthly payment? Run away at any time How to do MiPay: USDT recharge wallet Generate a virtual card and set consumption limits Bind subscription service and automatically deduct payment It's that simple. Mipay download link: Official Chinese customer service group:
顯示更多
《从SpaceX看币圈投资与美股投资的不同--成长篇》 今天睡醒最开心的不是赚钱,而是验证了逻辑。SpaceX从打新、参与到二级交易,成了我第一个完整的美股IPO案例,也证明最近对美股的学习方向是对的。 几个take away分享一下给跟我一样从币圈往美股适应的小伙伴们 🔽 1、历史上美股大热IPO当日破发很少见。 其实这是一个币圈人非常容易出现的惯性思维陷阱,因为在过去一个周期出现了大量高估值的天王项目上线当天就砸盘破发并往归零走,导致大家对于这种高热度、高估值的IPO都担心后续没有足够的资金买盘,来接盘。 但这件事情在美股其实是不成立的。在历史上,美股的大热IPO 非常少见会出现破发的情况,平均首日的回报长期来看也有10%~20%的正收益。 所以,虽然当时中推上有大量的噪音,但是我还是尽可能地在各个渠道积极地参加了IPO的预售。虽然最后渠道们出了岔子没有打到多少仓位,但是从开盘的情况来看,这个判断是正确的。 2、美股“天王股”有明确的被动买盘支撑。 美股与币圈有个很不同的机制,会有类似Russell 1000(以及 Russell Top 200 等)、Nasdaq-100、S&P 500 等被动指数基金来被动买入明星股。 为什么会有这种买盘?因为很多资金根本不想“选股”,它们只想“复制指数”。这些资金就是所谓的被动资金(Passive Funds)。 假设你管理着一个规模 100 亿美元的基金,客户跟你说: “我不要你猜哪家公司会涨,我只要跑赢不了市场也没关系,但至少别跑输市场。你就给我复制 S&P 500 就行。” 于是你就会买一只追踪 S&P500 的 ETF,这些ETF的工作只有一个:指数里有什么,它就买什么。 所以如果一家公司被Nasdaq-100纳入了,那么全球所有追踪 Nasdaq-100 的ETF根本就不会再做思考,都会机械地买入这家公司。 按照目前公开规则推演: S&P500(SPY/VOO): ❌ 至少一年后,且需要盈利; Nasdaq-100(QQQ): ✅ 最快约 15 个交易日; Russell 1000 / Top 200: ✅ 较快纳入,主要看重组安排; 主动型ETF(ARKX 等): ✅ 已经开始买了。ARK 甚至在 SpaceX 上市首日就进行了配置。 这些被动ETF的买盘规模有多大呢? 保守估计:200亿到300亿美元,乐观估计:500亿到1000亿美元。 而且,这些钱不是一次性来的,而是分批、分阶段进场。 这是币圈天王们完全不具备的潜在购买动力,简直太爽了,这种背动买入我只在BSC搞那个100M基金的时候见过,但规则不透明,市场很难提前front run。 3、为什么开盘第一天不直接涨去200? 这是我学到的另外一个地方,美股是有周末的,所以会有情绪酝酿,而币圈是24*7,所有的情绪都第一时间释放出来。 $SPCX 在第一天上市以后周五收盘,当时已经涨了百分之十九,在刚上市的时候,首日更像是定价和稳定盘,大家还在观望会不会崩,有没有可能捡便宜。 到了到周末,市场整整有两天的时间来讨论它4%的低流通和未来被动ETF即将买入的故事,酝酿了大量的情绪。 要知道绝大部分散户和机构是只在美股开市后去交易的,所以这种情绪的洪水在周一开盘后才开始爆发形成fomo。这才是一个正常的全天交易,周五的话更像是一个半日交易,这是在美股非常与币圈不一样的情况。 我们身在币圈天生已经拥有完善的24*7的交易基建,觉得好像没必要等周一,时刻可以通过合约下注。但传统股票交易的大部分人群是没有这个条件的,这是一个非常容易掉入的惯性思维陷阱。 4、Russell 会是第一个买入SpaceX的ETF,但还会带动大量水下资金。 我最开始以为Russell系列也就十几二十亿的资金量,应该影响不大。但是仔细调研以后发现很多币圈投资者几乎没听过 Russell,但在美国机构圈,它是养老金界的大Boss。 Russell 1000 和 Russell Top 200 被大量用于:企业退休金/州政府养老金/保险资金。 所以其实美国养老金体系背后跟踪 Russell 的钱,竟然比我们平时最熟悉的 QQQ 还要庞大。 市场估计追踪Russell买入SpaceX的资产规模并不小,可能可以贡献100亿到170亿美金的额外买盘,再加上由来已久的Front-run这些ETF的游资买盘, $SPCX 这波上涨就不难猜了。 毕竟 $SPCX 流通盘非常小,真正自由流通的股份只有约 4.3%,如果总市值按2万亿美元算,自由流通市值只有860亿美元。 光是Russell系列就能带进来接近20%的流通买盘了,昨天一天市场砸进去的真金白银打到了450亿美金,Russell的机械买盘还没到高峰呢,主要在后面几周。 后续需要关注的点是6月26日,这是Russell 1000的生效日,Front-run的资金大概率会落袋了。 5、美股仓位管理与币圈不同 另外一个我的收获就是美股的资金承载量很大,流动性极佳,而且叙事大家真的会信,踩踏pvp基本不存在。 这波SpaceX虽然我投研后觉得确定性很强,也赚到了钱,但还是习惯性的用币圈的心态进行风控管理,导致上的仓位有限。 今天得知身边的好友几乎同时间建仓,但只用了三天的时间这波吃到了超过1M的盈利落袋,让我还是心理落差有点大的。 我还在用币圈的惯用思维上子弹,每一发子弹的量太小了,没有意识到美股其实完全是可以在相对确定性的基础上进大资金。 所以接下去我会上调在美股上的每一发子弹的大小,然后更好地去吃到投研收益。 就这么多了,over,记录一下我的学习经历,也希望对大家有帮助。 最后都多多赚钱!
顯示更多
0
17
59
11
轉發到社區
AWS 资深专家解决方案架构师 Daniel Abib 在官方博客里算了一笔账:同步调用时,Lambda 的计费时长几乎等于 agent 思考的时长,等待本身在按全量计算计费。 《在无服务器流水线中异步调用 Amazon Bedrock AgentCore agent 的模式》 在无服务器流水线里异步调用 Amazon Bedrock AgentCore agent,可以消除你的 AI agent 处理请求期间的空转计算成本。一个常见的例子是文档校验:在房地产融资的后台办公室里,agent 可以读取房产记录或贷款合同,推理信息是否完整、一致,然后返回一个下游步骤据此行动的结论。Amazon Bedrock AgentCore 提供了一个平台,让你能用任意框架或模型大规模地构建、连接和优化 agent。 这类 agent 带来一个传统流水线步骤没有的特性:它们在回答之前要思考一会儿。思考多久取决于提示词、模型和文档,但很少是即时的,而这个延迟改变了你调用它的方式。最常见的首版实现是用一个计算服务(比如 AWS Lambda 函数)调用 agent 并等待响应。函数等待期间什么都不做,但它仍在运行,每一秒都在计费。 值得看清成本到底落在哪里,因为调用的两侧计费方式不同。Amazon Bedrock AgentCore runtime(Amazon Bedrock AgentCore 的一项能力)采用基于消耗的计费模型,agent 空闲时不收 CPU 费用。例如,在等待大语言模型生成响应、或等待工具或 Model Context Protocol(MCP)调用返回的这段时间里,你只按内存计费,不按 CPU 计费。调用 agent 的那个计算服务没有这种特性。发出同步调用的 Lambda 函数、容器或 Amazon EC2 实例会一直阻塞,在 agent 响应之前始终持有(并支付)完整的计算配额。所以浪费不在 agent 一侧,而在调用方——它挂在一个打开的连接上空转。 这就让调用方的成本跟着 agent 的运行时间走。阻塞在 agent 上的函数,计费时长几乎等于整个处理时间;而启动 agent 后立即返回的函数,只按短暂的派发计费。解法是在等待期间释放调用方的计算资源,等 agent 出了结果再恢复流水线。本文展示三种做到这一点的模式(task-token 回调、直接服务集成、durable function),并与阻塞式反模式对比。 示例流水线 为了让各模式在同等条件下比较,我们把每个模式都跑在同一条流水线上,只更换调用 agent 的那一步。这条流水线是一个刻意简单、虚构的场景(房地产融资文档校验),选它只是为了把编排讲清楚。它不是本文的重点,它代表任何先调用 agent(或其他慢服务)、再对结果采取行动的流程,你可以把自家用例代入。 流水线有五个阶段: 1. Extract:一个 Lambda 函数对文档做 OCR 和文本提取。(提取是模拟的,所以场景不需要真实文档。) 2. Identify:一个 Lambda 函数对文档分类并设置路由标志(shouldOrganize、shouldValidate)。 3. Route:一个 Choice 状态根据这些标志决定流程走向。 4. Organize and Validate:一个 Parallel 状态在组织文档的同时,让 Amazon Bedrock AgentCore agent 在另一个分支里做校验。这个 Validate 分支是各模式之间唯一变化的部分。 5. Result:一个 Lambda 函数处理 agent 的结论,决定下一步动作(批准,或退回修改)。 图示如下:水平流程依次是 Start、Extract、Identify、Route(Choice)、并行的 Organize-and-Validate 阶段、Result、End,Validate 分支被标为可更换,图例列出了它的四种实现方式:阻塞反模式、模式 1(task token)、模式 2(直接集成)、模式 3(durable function)。流水线本身在每种情况下保持不变,只有 Validate 分支被换掉来演示各自的调用模式。 同一个 Amazon Bedrock AgentCore agent 服务全部四种情况。agent 检查每次调用并选择如何响应:如果收到 AWS Step Functions 的 task token,就在完成时唤醒那个执行;如果收到 durable function 的 callback ID,就唤醒那个 durable function;两者都没收到,就直接在响应里返回结论。这意味着你可以更换编排模式,而不必修改或重新部署 agent。 agent 如何不阻塞调用方就把控制权交回来 机制是 agent 的 action group 里的一个"归还控制权"动作。agent 推理结束后,调用一个 Lambda,把结果和 task token 发回 Step Functions。(后面的模式 2 会让 Step Functions 直接与 AgentCore 集成,完全省掉这个 Lambda。) 下面这段代码是这个 Lambda 的核心: The tool the agent calls once it reaches a verdict @tool def conclude_validation(approved: bool, issues: list, summary: str) -> str: verdict = {"approved": approved, "issues": issues, "summary": summary, "source": "agentcore"} # A Step Functions task token was passed: resume that execution if task_token: sfn.send_task_success(taskToken=task_token, output=json.dumps(verdict)) return "Step Functions resumed." # A durable-function callback ID was passed: resume the durable function if callback_id: lambda_client.send_durable_execution_callback_success( CallbackId=callback_id, Result=json.dumps(verdict).encode("utf-8")) return "Durable function resumed." # Neither was passed: this is a synchronous call, return the verdict inline return "Verdict recorded." 入口函数根据同样的信号决定在后台跑还是同步跑: @app.async_task async def validate_document_async(prompt, document, extracted_text): # Background work; conclude_validation fires the right callback when done agent = build_agent() await agent.invoke_async(message(prompt, document, extracted_text)) @app.entrypoint async def handler(event): task_token = event.get("taskToken") # passed by the task-token pattern callback_id = event.get("callbackId") # passed by the durable-function pattern # Asynchronous: start the work and return "accepted" right away if task_token or callback_id: asyncio.create_task(validate_document_async(...)) return {"status": "accepted"} # Synchronous: run now and return the verdict in the response agent = build_agent() await agent.invoke_async(message(...)) return verdict agent 就位之后,本文剩下的部分聚焦于调用它的四种方式。代码和基础设施定义都是示例中的摘录,用来演示每种模式。 调用 agent:四种方式 先讲阻塞式反模式以确立基准成本,再展示避开它的三个模式。 阻塞式反模式 最直接的实现:在同一个 Lambda 函数里调用 agent 并等待答案。它能用,而且实现简单——这正是它如此常见的原因——但函数在 agent 思考的整个期间一直活着。 // The Lambda function blocks here until the agent responds const response = await agentcore.send( new InvokeAgentRuntimeCommand({ agentRuntimeArn: AGENT_RUNTIME_ARN, payload: new TextEncoder().encode(JSON.stringify(payload)), runtimeSessionId: sessionId, }) ); // The function stays alive and billed for the entire time the agent is thinking. 函数的计费时长最终大约等于 agent 的处理时间。后面三个模式消除这段空闲成本,各自做出不同的取舍。特别是模式 2 使用 Step Functions 对 AgentCore Harness (InvokeHarness) 的优化集成,完全去掉 Lambda。 模式 1:task-token 回调 + 派发函数 这个模式在路径里保留一个 Lambda 做自定义逻辑,但去掉空闲成本。Step Functions 用 waitForTaskToken 集成调用这个函数——传入一个 task token 后暂停执行。函数用这个 token 启动 agent,然后在几秒内返回。执行保持暂停,不产生任何计算计费,直到 agent 用这个 token 调用 SendTaskSuccess 恢复它。 // Start the agent, pass the task token, and return without waiting const response = await agentcore.send( new InvokeAgentRuntimeCommand({ agentRuntimeArn: AGENT_RUNTIME_ARN, payload: new TextEncoder().encode(JSON.stringify({ ...payload, taskToken })), runtimeSessionId: sessionId, }) ); // Returning here does not complete the step. Step Functions stays paused until // the agent calls SendTaskSuccess with this task token. return { dispatched: true }; 对应的状态从上下文取出 token,并设置超时和心跳作为安全网——这样沉默的 agent 会让执行干净地失败,而不是无限期停在那里: "ValidateDispatch": { "Type": "Task", "Resource": "arn:aws:states:::lambda:invoke.waitForTaskToken", "Parameters": { "FunctionName": "${ValidateDispatcherFunctionArn}", "Payload": { "taskToken.$": "$$.Task.Token", "document.$": "$.document", "extractedText.$": "$.extract.extractedText", "executionId.$": "$$.Execution.Id" } }, "TimeoutSeconds": 120, "HeartbeatSeconds": 60, "Next": "AgentCoreValidation" } 成本。 Lambda 函数仍然会跑,但只跑到启动 agent 并返回为止:几秒钟,无论 agent 之后要跑多久。你只为这次短暂派发付费,不为等待付费——因为函数在 agent 干活时已经关掉了。等待由暂停的 Step Functions 执行承担,它不为空闲计算计费。这是与阻塞版本的关键区别:阻塞版本里函数的计费时间跟着 agent 的处理时间走。 模式 2:直接服务集成 当你不需要围绕 agent 调用写自定义代码时,可以去掉派发函数,让 Lambda 完全离开路径。Step Functions 可以通过 AWS SDK 服务集成直接调用 Amazon Bedrock AgentCore,所以 agent 的响应直接流入下一个状态。Validate 分支于是变成单个 Task 状态: "ValidateDirect": { "Type": "Task", "Resource": "arn:aws:states:::aws-sdk:bedrockagentcore:invokeAgentRuntime", "Parameters": { "AgentRuntimeArn": "${AgentRuntimeArn}", "RuntimeSessionId.$": "States.Hash($$.Execution.Id, 'SHA-256')", "Payload.$": "States.JsonToString($.prep.agentInput)" }, "ResultSelector": { "raw.$": "$.Response" }, "TimeoutSeconds": 120, "Next": "ParseVerdict" } 成本。 路径里没有 Lambda,所以没有空闲的 Lambda 计算可付。Step Functions 承担等待,Standard 工作流按状态转换计费而不是按等待时长计费——处理期间的实质成本只有 agent 本身。 模式 3:Lambda durable function 如果你更愿意用代码而不是状态机来表达编排,Lambda durable function 给你同样的成本行为。用 @aws/durable-execution-sdk-js SDK,流水线阶段变成 context.step 调用,并行工作变成 context.parallel,等待 agent 变成 context.waitForCallback。等待期间函数挂起,不计计算费。agent 用 SendDurableExecutionCallbackSuccess 恢复它。 // Suspend the function until the agent calls back const result = await ctx.waitForCallback( "validate-agentcore", async (callbackId) => dispatchAgentCore(callbackId, document, extractedText, executionId), { timeout: { seconds: 120 } } ); 成本。 一个函数承载整条流水线,但挂起等待 agent 期间不按计算计费。你只为挂起之间短暂爆发的那几次执行付费——与 task-token 模式相同的经济性——而不是为等待付费。 测量差异 重点不是某个具体数字。agent 的运行时间随提示词、模型和文档变化。重要的是 task-token 模式里两个值之间的关系:Validate 状态活跃了多久,对比派发函数实际被计费了多久。我们测试中的单次运行让这个关系可见: Step Functions, ValidateDispatch state Returned (TaskSubmitted): 14:08:19 <- the function returned and shut down Resumed (TaskSucceeded): 14:08:34 <- the agent woke the execution State active ........ 19.6s Lambda, dispatcher function (CloudWatch REPORT) Billed duration ..... 4.8s Result: the state was active for 19.6s, but the function was billed for 4.8s. The ~14.8s in between is wait time with no Lambda function running. 在 Step Functions 的事件历史里也能看到同样的事:task-token 模式下,TaskSubmitted 事件(函数返回)与 TaskSucceeded(agent 恢复流程)之间隔着 agent 的处理时间。同步调用没有这样的间隔。 下表总结了每种模式下 Validate 分支(前面图示中高亮的部分)的实现方式: • 编排器:阻塞=Step Functions;模式 1=Step Functions;模式 2=Step Functions;模式 3=Lambda(代码) • 路径中的 Lambda:阻塞=有,存活且计费;模式 1=有,但提前返回;模式 2=无;模式 3=durable function 本身(挂起) • 等待期间的空闲 Lambda 计算:阻塞=为整个等待付费;模式 1=无;模式 2=无;模式 3=无 • agent 调用周围的自定义代码:阻塞=有;模式 1=有;模式 2=有限(状态转换);模式 3=有 • 调用方与 agent 解耦:阻塞=否;模式 1=是;模式 2=否;模式 3=是 • 相对复杂度:阻塞=最低;模式 1=较高(token 和回调的 IAM);模式 2=最低;模式 3=中等(检查点/重放) 读这张表时有一个提醒:总流水线时长不是有用的比较指标,因为它被 agent 自己的推理时间主导——每次运行都不同,而且在所有场景里基本相同。有意义的差异是等待期间你为多少计算付了钱,这由上表和计费时长读数体现。agent 运行时间增长时,派发函数的计费时间保持平稳。上面的数字来自单次运行,把它们当作这个关系的示意而非基准,请测量你自己的负载。 如何选择模式 下表总结了取舍,帮你选择模式: • 调用方成本:阻塞=整个 agent 处理时间;模式 1=几秒(仅派发);模式 2=零(无 Lambda);模式 3=几秒(仅派发) • 集成工作量:阻塞=低;模式 1=中高(IAM、心跳、超时);模式 2=低(单个 Task 状态);模式 3=中等(检查点-重放模型) • 业务逻辑位置:阻塞=在 Lambda(前 + 后);模式 1=在 Lambda(前 + 后);模式 2=只在 Amazon States Language(ASL)(内置函数);模式 3=在 Lambda(顺序代码) • 最适合:阻塞=原型、短 agent;模式 1=自定义前后处理逻辑;模式 2=纯编排、无自定义代码;模式 3=单个函数里的复杂异步工作流 最佳实践 防 agent 永不回答。 给每个 waitForTaskToken 状态设置 TimeoutSeconds,让执行以 States.Timeout 失败,而不是无限期挂起。如果你的 agent 发送心跳,也设置 HeartbeatSeconds 以更快发现死掉的 agent。捕获错误并路由到失败或人工审核路径。 重试时使用稳定的会话 ID。 把 sessionId 设为从执行上下文派生的值(比如 Step Functions 执行名),这样重试会恢复同一个 agent 会话,而不是重新开始。task-token 模式里在派发函数中设置;直接集成模式里在 Task 状态参数中设置。 打开 AWS X-Ray。 在 Step Functions 和 Lambda 配置中启用 Tracing: Active。X-Ray 会精确显示 agent 思考了多久、调用方等待了多久,确认你的模式确实在间隔期间释放了计算。 按速度而不是按 agent 的负载来配派发函数。 派发函数只序列化请求并调用端点。256 MB 内存和 30 秒超时通常就够。重活都在 agent 那边。 成本 这些模式会产生 Lambda 计算、Step Functions 状态转换、durable function 执行存储的费用,以及所有方案共有的 Amazon Bedrock AgentCore runtime 和 Amazon Bedrock 模型推理费用。agent 和模型成本在四种情况下相同。架构只改变编排开销,以及阻塞反模式中浪费的空闲 Lambda 计算。当前价格请查看各服务的定价页。 结论 把 AI agent 放进流水线是简单的部分。让它被经济地调用,才是区分原型与生产设计的地方。阻塞在 agent 上的 Lambda 函数实现简单,却在悄悄烧钱——计费时间里的大部分都在等待。本文展示了三种规避方式:需要在路径里保留 Lambda 时用 task-token 回调;最简单的情况用直接服务集成;偏好用代码表达编排时用 durable function。三者由同一个 Amazon Bedrock AgentCore agent 驱动,它会根据被调用方式调整自己的响应。 完整示例(完整的 agent、状态机定义和 durable function)在 GitHub 的 sample-bedrock-agentcore-async-stepfunctions 仓库。想深入的话,可以看 Amazon Bedrock AgentCore 关于异步任务处理的文档。生产部署请使用 Amazon Bedrock Guardrails,对 agent 的输入输出实施负责任 AI 控制。 原文: #Bedrock# #Serverless# #StepFunctions#
顯示更多
每次听polymarket的广告都心跳加速,用的Kanye West的《Runaway》,我最喜欢的一首。真会选…
run人的精神状态确实有点大病,自己作死还想拉两个垫背的。正常人一张机票的事,你非得走好几个月。我作为反贼眼里的五毛粉红,轻轻松松拿到美国签证。一张机票就能去美国。而run人爱美国爱的死去活来的,结果却拿不到签证,为什么这样?很简单,因为美国政府认为你是个垃圾
顯示更多
0
41
172
2
轉發到社區
BIT RUN 牛市突围赛 · 第 3 天战报 目前榜一:【844 点】 说实话,这个分数不算高,大家来挑战拿100U 🥇 总点数第一名 100U 🥈 总点数第二名 30U 🎁 游戏中浮盈过 4000 领 BIT 限量周边(先到先得) 距离结算还有 5 天,随时有人把你挤下去 ▶️ 开跑: 跑完截图发帖分享你的战绩+联系客服,才算进榜 #BIT#
顯示更多
@taisui_run 真的,短剧行业瞬间干不下去了
Hermes Studio #2452:Chat# Run 生命周期 Webhook。 一次对话从进线到收尾,现在能把稳定事件异步推到外部系统,而且不堵主聊天路径。覆盖 Bridge、Ekko、Claude Code、Codex;支持多 Webhook 端点、按 profile 过滤、重试,以及 HMAC-SHA256 签名校验。 完整生命周期一共十二类:消息创建,Run 入队,Run 开始,工具开始,工具完成,工具失败,审批请求,审批结束,澄清请求,澄清结束,Run 成功,Run 失败。一条真实 run 会按路径增减,不是每次十二个都齐,但外部系统终于能顺着 agent 跑到哪一步往下接。 默认只推元数据:会话、run、工具名、队列长度、审批选项、token 用量、错误类型这类状态,不推工具参数和结果,不推 reasoning,不推 system prompt。用户原文和助手最终回复也是分开开关,管理员显式开启才会带上,并有长度截断。 投递是内存队列异步扇出,慢下游或挂掉的接收方拖不住 Chat Run;配置会持久化,未投出的事件重启会丢,这是有意做成轻量出口。设置页还带本地测试收件箱,单机就能验签名、超时和真实投递路径。默认拒绝私网目标,要打内网得管理员明确放开。
顯示更多
热爱美国的中国run人在美国的幸福生活:
0
76
673
15
轉發到社區