TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Show HN: Flyde – an open-source visual programming language

298 点作者 gabigrin大约 1 年前
Hi HN! I’m Gabriel, and I’m happy to share a project I’ve been working on for the last few years: Flyde, an open-source visual programming language. Check out the interactive examples and online playground on the website: <a href="https:&#x2F;&#x2F;www.flyde.dev" rel="nofollow">https:&#x2F;&#x2F;www.flyde.dev</a>.<p>In my last role as an engineering manager for a B2B-oriented product, I authored and reviewed many diagrams for backend applications, mostly for integrations between 2 third-party services. Some of these diagrams were elaborate enough that I started dreaming of a way to simply run a diagram as is; I imagined a “run” button on the top-right corner of the screen that would execute the diagram without the need to translate it into code.<p>That led me down a rabbit hole of exploration and experimentation, from tools like Zapier, Pipedream and Make, which are great for automating “backoffice” stuff, and up to NodeRED, NoFlo.js and the great work of J. Paul Morisson on Flow-Based Programming. I failed to find a tool that would answer my needs - a tool that balances a new level of abstraction, manages to stay powerful and flexible, and most importantly, integrates with the existing ecosystem, and doesn’t replace it. I built Flyde as an attempt to answer that need.<p>Flyde is designed to complement and enhance traditional textual coding, not to replace it. It includes a VSCode extension, it seamlessly integrates with existing TypeScript&#x2F;JavaScript code and can run on Node.js and in the browser.<p>I believe that as we delegate more coding tasks to AI, we’ll assume the role of an architect rather than a programmer. This shift will require tools that focus more on orchestration and high-level troubleshooting and less on low-level functionality.<p>I’d love to hear your thoughts and feedback on Flyde’s direction!

40 条评论

pjerem大约 1 年前
That&#x27;s really great.<p>I know it&#x27;s polarizing but I truly think that visual programming remains an entirely unexplored area. I&#x27;m convinced that the current state of &quot;text&quot; programming is totally ineffective and in fact we are the last domain producing things with computers which still insist in being limited by the text files in folders abstraction.<p>It&#x27;s a shame that in 2024, I still have to search for text in files like it&#x27;s 1970, guess which file does what based on the dozen of characters of the file name and can&#x27;t see at a glance which other files are dependencies or uses.<p>I can&#x27;t &quot;see&quot; my entire codebase, zoom in and out, I still have to guess the relation between some line of code and another in another file.<p>My ideal IDE of the future just allows me to see all my codebase like a big fractale.
评论 #39629217 未加载
评论 #39628653 未加载
评论 #39628865 未加载
评论 #39629415 未加载
评论 #39628672 未加载
评论 #39628934 未加载
评论 #39628838 未加载
评论 #39663498 未加载
评论 #39628598 未加载
评论 #39633054 未加载
评论 #39637161 未加载
评论 #39631583 未加载
评论 #39636715 未加载
评论 #39643190 未加载
d--b大约 1 年前
I will tell you the same thing I tell everyone making visual graphs like this:<p>PLEASE PLEASE PLEASE PLEASE PLEASE make the nodes snap to a larger grid, and have the grid browsable with the keyboard.<p>I&#x27;d rather use Factorio as an interface than an interface where the nodes and edges just float around.<p>Excel is a DAG that is browsable with the keyboard (Ctrl+[ anyone?), and that&#x27;s proven very usable.
评论 #39635814 未加载
catapart大约 1 年前
- This looks great! Very robust and I really like the focus on interoperability.<p>- As a general design, I prefer the integrated &quot;function with parameters&quot; node type found in systems like Unreal&#x27;s &quot;Blueprints&quot; far better than having to manage the parameters and functions separately from each other. It&#x27;s more cumbersome to develop, but no less flexible to use, and loads more simplified. A distinction for the code flow from the data referencing is helpful for me, at least.<p>- It doesn&#x27;t fit my exact needs, because I need something that allows me to expose this functionality to users. Essentially, I need something that does what your playground does, as a library. The interoperability is perfect, though! Allowing users to set up flows and then being able to simply import them rather than having to translate them is a fantastic DX. I guess, at the end of the day, I would still like clean, nicely formatted Javascript (not typescript), so I imagine your library isn&#x27;t really suited for that, either. But I definitely like the architecture of it!
评论 #39628575 未加载
lominming大约 1 年前
Great to see more people thinking about this space. Totally agree on the sentiment that we should be able to visualize&#x2F;describe and build business logic in a very simple manner. The way I&#x27;ve been thinking about this is something like Legos where we can compose any logic, app, workflow we want visually and that anyone can build and share these blocks. This is almost similar to NPM packages, but for non-developers.<p>My attempt on this is <a href="https:&#x2F;&#x2F;openexus.com" rel="nofollow">https:&#x2F;&#x2F;openexus.com</a> where the goal is really to create some form of universal plug-and-play building blocks. Your approach is almost very low-level with direct translation to code. My attempt is slightly higher-level (but developers can create as low level as they want). More importantly, the visual diagram build on openexus is a reactive graph (almost like spreadsheet), not a sequential directional flow graph (like node-red, or yahoo pipes).<p>Would love to chat if you are up for it. m at lominming dot com.
评论 #39638891 未加载
评论 #39635184 未加载
couchand大约 1 年前
Congrats on the show HN! It looks like you&#x27;ve put a lot of thought and effort into this, and reasearched a number of alternatives.<p>I&#x27;m curious to know more of what you found lacking in the various visual programming languages? You mention a few general things but (other than the integration angle) I&#x27;m having a hard time understanding exactly what limits you hit with the other options that caused you to build your own.<p>And to add some context to the above questions, is this primarily your own research or do you anticipate it being used for production systems?
评论 #39629375 未加载
s_gourichon大约 1 年前
&gt; visual programming<p>25 years ago when I read that Microsoft has a software development environment named &quot;Visual Studio&quot; I imagined, well, something with graphs and nodes and flow and... Well something visual, right? Now it&#x27;s 2024 and VS is still not visual.<p>Of course things are not as simple. Flyde (along with many alternatives mentioned) is visual IMHO. Keep up the good work!
评论 #39637246 未加载
评论 #39638938 未加载
snadal大约 1 年前
Nice work, congrats!<p>I do love visual programming and I use n8n a lot for my side projects. I really like its &quot;delayed debug&quot; features, so that I can analyse each step of the flow weeks later than it happened (i.e, I can see why a webhook failed long ago and even replay it step by step).<p>One missing feature that I&#x27;ve been working on is a &quot;export workflow to code&quot; feature. This way, once you are finished working on a workflow, you could run it everywhere without the need of installing the full IDE.<p>Again, nice work!
评论 #39628824 未加载
CyberDildonics大约 1 年前
I think approaches like this can be good for people learning programming for the first time, but there are two huge aspects that mean it is unlikely to be used for anything serious.<p>1. A new language. New languages don&#x27;t go anywhere 99.9% of the time and when they do it takes a massive undertaking by hundreds of people as well as very careful design over the course of decades.<p>2. Building visually at the expression level. Writing expressions in any modern language is very compact. In this case what takes up a single line now takes up and entire screen.<p>if(n&gt;1) return fib(n-1) + fib(n-2);<p>Graphs are much better for working at a high level because that&#x27;s where the locality isn&#x27;t there are it isn&#x27;t clear what data is going where. For expressions drawing lines instead of just using the same variable that was used in the previous line doesn&#x27;t help clarity.
评论 #39634933 未加载
spiralganglion大约 1 年前
Nice! Have you explored showing live values flowing through the nodes? This seems like a good use of animation.<p>I&#x27;ll also take a moment to plug my Visual Programming Codex[1], which collects VPLs as though they&#x27;re butterflies. I&#x27;m adding Flyde to the backlog of projects to document, but I&#x27;d also suggest looking around there for ideas. There are a <i>ton</i> of valuable new things you can do once you start visualizing programming, especially if you&#x27;re visualizing the execution behaviour. I&#x27;d love to see you push this further.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;ivanreese&#x2F;visual-programming-codex">https:&#x2F;&#x2F;github.com&#x2F;ivanreese&#x2F;visual-programming-codex</a>
评论 #39638921 未加载
cjbprime大约 1 年前
Nice! <a href="https:&#x2F;&#x2F;github.com&#x2F;enso-org&#x2F;enso">https:&#x2F;&#x2F;github.com&#x2F;enso-org&#x2F;enso</a> is related as a modern visual lang.<p>Is Flyde entirely focused on TypeScript? Python would be a logical fit too.
评论 #39632423 未加载
blowski大约 1 年前
I like this, it’s lower-level than Scratch, with a focus on doing stuff more than making funny noises and animation.<p>I want to have a play with seeing how you can demonstrate composition. Do you suggest any good templates for this?
评论 #39628712 未加载
epgui大约 1 年前
What I love about this sort of tool is that it appears to pair so perfectly with functional programming. Are all expressions constructed in this language referentially transparent?
评论 #39629421 未加载
lolpanda大约 1 年前
I don&#x27;t think visual programming language can or should replace code in plaintext. I like the idea of visual programming at higher level. It can be very good at communicating data flow, business logic and processes. But each of the building blocks can still be implemented in programming languages today. I feel like AWS Step Function is very close to what I wanted. They also have a very nice builder UI.
评论 #39638935 未加载
nagstler大约 1 年前
This is interesting, we are building <a href="https:&#x2F;&#x2F;github.com&#x2F;Multiwoven&#x2F;multiwoven">https:&#x2F;&#x2F;github.com&#x2F;Multiwoven&#x2F;multiwoven</a> an open-source ReverseETL and workflow orchestration is a big part of our platform, maybe I ca experiment with small use-case like setting up backend tests using flows.
daltont大约 1 年前
I was just thinking about something where I could design web based workflows that could use online services to perform transformations on items dragged into a dropped and perhaps the output would be downloadable.<p>Maybe this exists elsewhere, but is is free?. It is still a thought and I haven&#x27;t dig deep to see what exists, but Flyde seems kind of close.
评论 #39633021 未加载
rcarmo大约 1 年前
As someone who routinely uses Node-RED to develop surprisingly long-lasting &quot;micro services&quot; and workflows, I really like this, especially if it can be made to generate WASM or, even better, native code in the future (so that I could use the output in other things).
rajatrocks大约 1 年前
Very cool, thanks for sharing!<p>I first tried out something like this in the early 1990s at VPL Research - one of the originators of the VR industry. They had a visual programming language called Body Electric for controlling how things behaved in VR. Some details here: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=22788773">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=22788773</a><p>And more recently, Google showed PromptChainer for wiring together LLM calls and Javascript: <a href="https:&#x2F;&#x2F;www.cs.cmu.edu&#x2F;~sherryw&#x2F;assets&#x2F;pubs&#x2F;2022-promptchainer_poster.pdf" rel="nofollow">https:&#x2F;&#x2F;www.cs.cmu.edu&#x2F;~sherryw&#x2F;assets&#x2F;pubs&#x2F;2022-promptchain...</a>
mdaniel大约 1 年前
FWIW your VSCode Repository link &lt;<a href="https:&#x2F;&#x2F;marketplace.visualstudio.com&#x2F;items?itemName=flyde.flyde-vscode#~#:text=Repository" rel="nofollow">https:&#x2F;&#x2F;marketplace.visualstudio.com&#x2F;items?itemName=flyde.fl...</a>&gt; is 404, it should be <a href="https:&#x2F;&#x2F;github.com&#x2F;flydelabs&#x2F;flyde-vscode">https:&#x2F;&#x2F;github.com&#x2F;flydelabs&#x2F;flyde-vscode</a> but is <a href="https:&#x2F;&#x2F;github.com&#x2F;flydehq&#x2F;flyde-vscode">https:&#x2F;&#x2F;github.com&#x2F;flydehq&#x2F;flyde-vscode</a>
评论 #39638946 未加载
mellutussa大约 1 年前
Wow, impressive! I also have to congratulate you on the landing page. So often I click on something that I think is interesting only to scroll down in confusion before I close the tab.<p>I&#x27;m definitely going to check this out.
评论 #39632232 未加载
speed_spread大约 1 年前
Looks cool, shades of Prograph, that&#x27;s a good thing!<p><a href="https:&#x2F;&#x2F;en.m.wikipedia.org&#x2F;wiki&#x2F;Prograph" rel="nofollow">https:&#x2F;&#x2F;en.m.wikipedia.org&#x2F;wiki&#x2F;Prograph</a>
评论 #39633086 未加载
评论 #39628855 未加载
pooper大约 1 年前
&gt; Flyde is designed to complement and enhance traditional textual coding, not to replace it. It includes a VSCode extension, it seamlessly integrates with existing TypeScript&#x2F;JavaScript code and can run on Node.js and in the browser.<p>And with this you&#x27;re already leaps and bounds better than the god forsaken azure logic app. Congratulations on shipping!
smusamashah大约 1 年前
This looks great. I have played with litegraph.js before for fun (image generation via api). Creating custom nodes in that one was tiring.<p>- Can we make custom nodes in this (e.g. a node which to display images)?<p>- Can it be used like a client side js library (like litegraph)? or does it have to be used in IDE and its more like an IDE enhancement?<p>Looking back at the page and examples again, is it not the usecase this is for?
评论 #39632177 未加载
mynjin大约 1 年前
Eh, I guess slapping some literal, variable, and operation nodes together makes it visual, but I don&#x27;t think it makes it easier.<p>Contrast with something like Scratch which is useful because it helps prevent typos, clearly presents expected arguments, and creates snap connected chains of logic.<p>Even better, contrast something like Drakon which offers visual abstractions such as skewers, happy paths, silhuettes, common fate, etc.<p>I really like the concept of visual abstractions. Nodes are abstractions but I don&#x27;t think they are high enough level to improve over text. And I think text will always be awesome even if it is assisted by better ways to animate and visualize logic and systems.<p>Also, can I grep over Flyde? I&#x27;d hate to lose that basic ability.<p>Drakon: <a href="https:&#x2F;&#x2F;drakonhub.com&#x2F;en&#x2F;drakon" rel="nofollow">https:&#x2F;&#x2F;drakonhub.com&#x2F;en&#x2F;drakon</a>
评论 #39632388 未加载
评论 #39634784 未加载
andoando大约 1 年前
I love this OP. I have so many ideas around this and have spent years thinking about doing something similar (albeit very different).
评论 #39639029 未加载
pie_flavor大约 1 年前
There&#x27;s a project I keep wanting to start that involves a visual programming language and the JVM. Java supporting JS natively through Nashorn, is Flyde capable of doing this? Others I looked at like Node-RED seemed to have Node.js as a hard requirement, but Flyde supporting the browser environment makes me wonder if it can support this too.
spankalee大约 1 年前
This looks very cool!<p>I have just a couple of wishes on top of this:<p>- I wish the file format were JSON-based instead of YAML-based. Then you could import .flyde files with standard `{type: &#x27;json&#x27;}` import attributes and not need fetch or a webpack loader.<p>- I wish the editor were distributed as web components so taht they could be easily embedded into any framework.
评论 #39653390 未加载
penteract大约 1 年前
For me (Firefox; Linux; X11) right-clicking on the background when editing a visual flow causes to a menu to appear then disappear almost instantly. Everything else seems to work (clicking run, adding nodes from the menu, right-clicking on nodes and editing them that way). Does anyone else have this problem?
评论 #39632247 未加载
luke-stanley大约 1 年前
Does it sync bi-directionally from code to flow visual representation and back? Because that seems pretty useful to mass adoption. I notice you said &quot;Flyde is designed to complement and enhance traditional textual coding, not to replace it.&quot; Bi-directional sync would help a lot with that idea.
评论 #39632090 未加载
bearwithme1大约 1 年前
How does this compare with Pure Data?
评论 #39628775 未加载
评论 #39628996 未加载
fcsp大约 1 年前
Looks interesting! However, the tutorials link on the website footer 404s for me.
评论 #39628851 未加载
adinb大约 1 年前
I have yet to find a language&#x2F;ide with good discoverability. Does the visual metaphor enable the blocks&#x2F;objects&#x2F;functions to tell you what they do and how to use them?
评论 #39638954 未加载
soumendrak大约 1 年前
This is good to teach programming. I have used IBM Cognos before and may be biased, for complex logic text programming will be better than visual programming.
mellutussa大约 1 年前
The playground button on the front page <a href="https:&#x2F;&#x2F;www.flyde.dev&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.flyde.dev&#x2F;</a> links to localhost:3030
评论 #39629074 未加载
mattdesl大约 1 年前
Looks great! Is it capable of doing real-time editing? For example hooking it up next to a canvas element and having the nodes change the colors or shader uniforms.
WillAdams大约 1 年前
As a visual person (traditionally trained as a graphic artist), I&#x27;ve wanted this sort of thing for a long while, and I&#x27;ve been trying to use it for 3D.<p>Surprisingly, there are multiple specialized tools for this:<p>- <a href="https:&#x2F;&#x2F;www.blockscad3d.com" rel="nofollow">https:&#x2F;&#x2F;www.blockscad3d.com</a> --- an adaptation of Google&#x27;s Blockly to OpenSCAD<p>- <a href="https:&#x2F;&#x2F;github.com&#x2F;derkork&#x2F;openscad-graph-editor">https:&#x2F;&#x2F;github.com&#x2F;derkork&#x2F;openscad-graph-editor</a> --- wires and nodes, it has the advantage of exposing _all_ of OpenSCAD&#x27;s commands (the above has a subset)<p>- <a href="https:&#x2F;&#x2F;github.com&#x2F;Tanneguydv&#x2F;Pythonocc-nodes-for-Ryven">https:&#x2F;&#x2F;github.com&#x2F;Tanneguydv&#x2F;Pythonocc-nodes-for-Ryven</a> --- a module for using PythonOCC in Ryven --- when I finally succeeded, I found the language inscrutable, even when provided w&#x2F; quite nice examples (definitely a failing on my part, not that of the tool)<p>- <a href="https:&#x2F;&#x2F;github.com&#x2F;graphscad&#x2F;graphscad">https:&#x2F;&#x2F;github.com&#x2F;graphscad&#x2F;graphscad</a> --- it took a long while for the source code for this to be made available, and for a while it had compatibility problems (why was &quot;cube&quot; redefined?) --- probably defunct for political reasons, it had some interesting ideas, in particular the ability to have custom icons for modules<p>- <a href="https:&#x2F;&#x2F;www.nodebox.net" rel="nofollow">https:&#x2F;&#x2F;www.nodebox.net</a> --- if memory serves I got hung up by not easily being able to do 3D, and when doing 2D having precision problems (or maybe that was Processing.org)<p>and I&#x27;ve been using these tools to make various things:<p><a href="https:&#x2F;&#x2F;willadams.gitbook.io&#x2F;design-into-3d&#x2F;3d-project" rel="nofollow">https:&#x2F;&#x2F;willadams.gitbook.io&#x2F;design-into-3d&#x2F;3d-project</a><p>(and maybe eventually I&#x27;ll finish something)<p>The problem I&#x27;ve been running into is there doesn&#x27;t seem to be an answer to the question:<p>&quot;What does an algorithm look like?&quot;<p>I recently had occasion to mention Herman Hesse&#x27;s _The Glass Bead Game_ (also published as _Magister Ludi_) and I&#x27;ll bring it up again --- what is a meaningful graphical representation of a program?<p>The Drakon folks argued that there should be one true path but that&#x27;s not really communicative and I would note that if this was a simple thing it wouldn&#x27;t be decades since I last saw a physical Flowcharting Template:<p><a href="https:&#x2F;&#x2F;americanhistory.si.edu&#x2F;collections&#x2F;object-groups&#x2F;flowcharting-templates" rel="nofollow">https:&#x2F;&#x2F;americanhistory.si.edu&#x2F;collections&#x2F;object-groups&#x2F;flo...</a><p>(and it&#x27;s pretty rare to even see a well-done electronic drawing of a flowchart since Visio made its splash and vanished into the bowels of Microsoft)<p>The main problem seems to be one of expressiveness not scaling up well, hence:<p><a href="https:&#x2F;&#x2F;blueprintsfromhell.tumblr.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;blueprintsfromhell.tumblr.com&#x2F;</a><p><a href="https:&#x2F;&#x2F;scriptsofanotherdimension.tumblr.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;scriptsofanotherdimension.tumblr.com&#x2F;</a><p>Presumably, one doesn&#x27;t want to define modules&#x2F;variables unnecessarily --- but the question becomes where is that dividing line?<p>If you define too many, then you&#x27;re back to the &quot;wall of text&quot; which one was trying to avoid (but wrapped up in nice boxes with some lines or shapes), and if one doesn&#x27;t use them (well, look at the pretty&#x2F;awful images in the links above).<p>Ideally, a well-coded visual program would have a pleasing aesthetic appearance which is expressive and communicates flow and function, and I&#x27;ve tried for that at:<p><a href="https:&#x2F;&#x2F;willadams.gitbook.io&#x2F;design-into-3d&#x2F;programming" rel="nofollow">https:&#x2F;&#x2F;willadams.gitbook.io&#x2F;design-into-3d&#x2F;programming</a><p>(though I wish that there was an easy way to export an SVG version of a program)<p>I believe that what is needed here is some graphical equivalent to Literate Programming: <a href="http:&#x2F;&#x2F;literateprogramming.com" rel="nofollow">http:&#x2F;&#x2F;literateprogramming.com</a><p>Is there a nice tutorial for GUI toolkit integration which would allow easily making a graphical application with this? I have an idea I want to try it which might be a good fit.
vmfunction大约 1 年前
Kinda reminded me of Pure Data or MaxsP.
otabdeveloper4大约 1 年前
Did you just reinvent Node-RED?
评论 #39629514 未加载
littlestymaar大约 1 年前
Quick feedback: put a screenshot (or even better: a gig&#x2F;video) on the readme!
评论 #39632435 未加载
navane大约 1 年前
I have a use case that I tried to build something for. I am about ten iterations in, and the one I still use is an excel file, alas. I am al domain expert and not a programmer, and I just can&#x27;t wrap my head around how to build it. My MVPs are below minimum, and what I want is out of reach of my capabilities.<p>I am a mechanical engineer and a big part of my job is simple high school level math. A lot of these calculations are repeated, but differ ever so slightly, that you end up with tens or hundreds excel files or python scripts.<p>What I would like to have is something that looks like UE blueprints (only know them from screenshots) where each box takes a couple inputs and gives probably just one output. I want these box to be composed of boxes itself, potentially ad infinitum. This is where my brain can&#x27;t fathom how to build something like that.<p>I&#x27;ve build this with python functions, you can reuse them, put them in each other. But it becomes hard to maintain spaghetti. I would like the visual program to constrain the spaghetti, and to make it easy for my less programmer inclined colleagues to reuse my boxes, expand my boxes, add their own, in a visual environment.<p>There would be a box calculating the capacity of a bearing ball. This would be inside the box for a whole bearing. The bearing together with a bending shaft would be a bigger box, etc. Most of it would be a tree structure, but I don&#x27;t think you can fit the whole thing in a tree, some more general linked nodes would leak out. I even build something with Flask, but my head is losing it when I tried reusable boxes, and when my tree structure needed to become more general, it was quite a big hit and I lost momentum.<p>We have visual software for very complicated finite element calculations, but none for the simple &quot;import math&quot; calculations.<p>The potential is huge. Many mechanical engineering work is still done in excel, and it&#x27;s just impossible to scale or reuse old work. The industry does not see this as a problem because it hampers everyone equally. Only very specialised calculations are elevated and usually end up being a specialised company, or a dedicated (GUI) software package.<p>Imagine you are a programmer but there is no standard library, and no way to import code. You have to write, or copy paste, everything from scratch. All. The. Time.<p>Either I&#x27;m a dumb guy who just doesn&#x27;t get it, and the industry is doing fine, or I have a hunch that could create a product that would serve a world wide, cross industry market.<p>Is this something you could do with Flyde?
lolive大约 1 年前
[off-topic] I used to follow another visual language a while ago. It seems that it is still alive.<p>Tersus Studio:<p><a href="http:&#x2F;&#x2F;www.tersus.com&#x2F;#Id=178" rel="nofollow">http:&#x2F;&#x2F;www.tersus.com&#x2F;#Id=178</a><p>[may be some good things to take there, as an inspiration]
评论 #39639044 未加载
评论 #39633304 未加载